diff options
Diffstat (limited to 'src/ServerInfoManager.hh')
-rw-r--r-- | src/ServerInfoManager.hh | 30 |
1 files changed, 29 insertions, 1 deletions
diff --git a/src/ServerInfoManager.hh b/src/ServerInfoManager.hh index d80a717..6fa8342 100644 --- a/src/ServerInfoManager.hh +++ b/src/ServerInfoManager.hh @@ -13,6 +13,7 @@ class ClientInfo; class ModuleInfo; class SinkInputInfo; class SourceOutputInfo; +class SampleInfo; #include "SinkWindow.hh" #include "SourceWindow.hh" @@ -22,6 +23,7 @@ class SourceOutputInfo; #include "SinkInputWindow.hh" #include "SourceOutputWindow.hh" #include "StatWindow.hh" +#include "SampleWindow.hh" class SinkInfo { public: @@ -40,7 +42,7 @@ public: uint32_t volume; uint32_t latency; - Gtk::TreeRowReference treeRef; + Gtk::TreeRowReference treeRef, sinkComboBoxTreeRef; SinkWindow *window; }; @@ -140,6 +142,25 @@ public: SourceOutputWindow *window; }; +class SampleInfo { +public: + + SampleInfo(const struct pa_sample_info &i); + ~SampleInfo(); + + void update(const struct pa_sample_info &i); + void showWindow(); + + uint32_t index; + Glib::ustring name; + struct pa_sample_spec sample_spec; + uint32_t volume, duration; + + Gtk::TreeRowReference treeRef; + + SampleWindow *window; +}; + class ServerInfoManager { public: ServerInfoManager(struct pa_context &c); @@ -151,6 +172,7 @@ public: void updateInfo(const struct pa_module_info &i); void updateInfo(const struct pa_sink_input_info &i); void updateInfo(const struct pa_source_output_info &i); + void updateInfo(const struct pa_sample_info &i); void showSinkWindow(uint32_t index); void showSourceWindow(uint32_t index); @@ -158,11 +180,13 @@ public: void showModuleWindow(uint32_t index); void showSinkInputWindow(uint32_t index); void showSourceOutputWindow(uint32_t index); + void showSampleWindow(uint32_t index); SourceInfo* getSourceInfo(uint32_t index); SinkInfo* getSinkInfo(uint32_t index); ClientInfo* getClientInfo(uint32_t index); ModuleInfo* getModuleInfo(uint32_t index); + SampleInfo* getSampleInfo(uint32_t index); void removeSinkInfo(uint32_t index); void removeSourceInfo(uint32_t index); @@ -170,11 +194,14 @@ public: void removeModuleInfo(uint32_t index); void removeSinkInputInfo(uint32_t index); void removeSourceOutputInfo(uint32_t index); + void removeSampleInfo(uint32_t index); void setSinkVolume(uint32_t index, uint32_t volume); void setSinkInputVolume(uint32_t index, uint32_t volume); void showStatWindow(); + + void playSample(uint32_t sample, uint32_t sink); protected: std::map<int, SinkInfo*> sinks; @@ -183,6 +210,7 @@ protected: std::map<int, ModuleInfo*> modules; std::map<int, SinkInputInfo*> sinkInputs; std::map<int, SourceOutputInfo*> sourceOutputs; + std::map<int, SampleInfo*> samples; struct pa_context &context; StatWindow *statWindow; |