diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2021-04-27 18:49:19 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2021-04-27 18:49:19 +0000 |
| commit | 278dc516a8b9fd4b6bd7b2d82654048b756ddfb6 (patch) | |
| tree | 49902088a0063df77b980cda40848f56ca5b67a4 /src/plugins/Output/pipewire/outputpipewire.h | |
| parent | a4d2cd0cd112fd21bf757b2d6021cc19c739e780 (diff) | |
| download | qmmp-278dc516a8b9fd4b6bd7b2d82654048b756ddfb6.tar.gz qmmp-278dc516a8b9fd4b6bd7b2d82654048b756ddfb6.tar.bz2 qmmp-278dc516a8b9fd4b6bd7b2d82654048b756ddfb6.zip | |
pipewire: added volume control
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@9843 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/plugins/Output/pipewire/outputpipewire.h')
| -rw-r--r-- | src/plugins/Output/pipewire/outputpipewire.h | 27 |
1 files changed, 26 insertions, 1 deletions
diff --git a/src/plugins/Output/pipewire/outputpipewire.h b/src/plugins/Output/pipewire/outputpipewire.h index 1b70a94d3..a53612005 100644 --- a/src/plugins/Output/pipewire/outputpipewire.h +++ b/src/plugins/Output/pipewire/outputpipewire.h @@ -29,7 +29,7 @@ #include <qmmp/output.h> #include <qmmp/volume.h> -class VolumePulseAudio; +class VolumePipeWire; /** @author Ilya Kotov <forkotov02@ya.ru> @@ -49,12 +49,17 @@ public: void suspend() override; void resume() override; void setMuted(bool mute); + void setVolume(const VolumeSettings &v); + + static OutputPipeWire *instance; + static VolumePipeWire *volumeControl; private: // helper functions void uninitialize(); //callbacks static void onProcess(void *data); + static void onDrained(void *data); static void onCoreEventDone(void *data, uint32_t id, int seq); static void onRegistryEventGlobal(void *data, uint32_t id, uint32_t permissions, const char *type, uint32_t version, @@ -97,4 +102,24 @@ private: QHash <Qmmp::ChannelPosition, spa_audio_channel> m_pw_channels; }; +class VolumePipeWire : public Volume +{ +public: + VolumePipeWire(); + ~VolumePipeWire(); + + //void updateVolume(const pa_cvolume &v, bool muted); + void setVolume(const VolumeSettings &vol) override; + VolumeSettings volume() const override; + bool isMuted() const override; + void setMuted(bool mute) override; + VolumeFlags flags() const override; + //static VolumeSettings cvolumeToVolumeSettings(const pa_cvolume &v); + //static pa_cvolume volumeSettingsToCvolume(const VolumeSettings &v, int channels); + +private: + VolumeSettings m_volume; + bool m_muted = false; +}; + #endif // OUTPUTPIPEWIRE_H |
