From 33b0d86c66158b9aa0e1ab7b4b1c689fd83ab5ac Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 19 Aug 2004 21:54:11 +0000 Subject: sample cache stuff git-svn-id: file:///home/lennart/svn/public/paman/trunk@16 cdefa82f-4ce1-0310-97f5-ab6066f37c3c --- src/ServerInfoManager.hh | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) (limited to 'src/ServerInfoManager.hh') 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 sinks; @@ -183,6 +210,7 @@ protected: std::map modules; std::map sinkInputs; std::map sourceOutputs; + std::map samples; struct pa_context &context; StatWindow *statWindow; -- cgit