From 7b738b897f6e523024faadef9c1efb6a9aa32f59 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Mon, 16 Aug 2004 19:55:43 +0000 Subject: add sink input/source output support (currently broken) git-svn-id: file:///home/lennart/svn/public/paman/trunk@12 cdefa82f-4ce1-0310-97f5-ab6066f37c3c --- src/ServerInfoManager.hh | 57 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) (limited to 'src/ServerInfoManager.hh') diff --git a/src/ServerInfoManager.hh b/src/ServerInfoManager.hh index 5c22f64..ba07800 100644 --- a/src/ServerInfoManager.hh +++ b/src/ServerInfoManager.hh @@ -11,12 +11,16 @@ class SourceInfo; class ServerInfo; class ClientInfo; class ModuleInfo; +class SinkInputInfo; +class SourceOutputInfo; #include "SinkWindow.hh" #include "SourceWindow.hh" #include "ClientWindow.hh" #include "ModuleWindow.hh" #include "MainWindow.hh" +#include "SinkInputWindow.hh" +#include "SourceOutputWindow.hh" class SinkInfo { public: @@ -91,6 +95,50 @@ public: ClientWindow *window; }; +class SinkInputInfo { +public: + + SinkInputInfo(const struct pa_sink_input_info &i); + ~SinkInputInfo(); + + void update(const struct pa_sink_input_info &i); + void showWindow(); + + Glib::ustring name; + uint32_t index; + struct pa_sample_spec sample_spec; + uint32_t sink; + uint32_t client; + uint32_t owner_module; + uint32_t volume; + uint32_t latency; + + Gtk::TreeRowReference treeRef; + + SinkInputWindow *window; +}; + +class SourceOutputInfo { +public: + + SourceOutputInfo(const struct pa_source_output_info &i); + ~SourceOutputInfo(); + + void update(const struct pa_source_output_info &i); + void showWindow(); + + Glib::ustring name; + uint32_t index; + struct pa_sample_spec sample_spec; + uint32_t source; + uint32_t client; + uint32_t owner_module; + + Gtk::TreeRowReference treeRef; + + SourceOutputWindow *window; +}; + class ServerInfoManager { public: ServerInfoManager(struct pa_context &c); @@ -100,11 +148,15 @@ public: void updateInfo(const struct pa_source_info &i); void updateInfo(const struct pa_client_info &i); 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 showSinkWindow(uint32_t index); void showSourceWindow(uint32_t index); void showClientWindow(uint32_t index); void showModuleWindow(uint32_t index); + void showSinkInputWindow(uint32_t index); + void showSourceOutputWindow(uint32_t index); SourceInfo* getSourceInfo(uint32_t index); SinkInfo* getSinkInfo(uint32_t index); @@ -115,14 +167,19 @@ public: void removeSourceInfo(uint32_t index); void removeClientInfo(uint32_t index); void removeModuleInfo(uint32_t index); + void removeSinkInputInfo(uint32_t index); + void removeSourceOutputInfo(uint32_t index); void setSinkVolume(uint32_t index, uint32_t volume); + void setSinkInputVolume(uint32_t index, uint32_t volume); protected: std::map sinks; std::map sources; std::map clients; std::map modules; + std::map sinkInputs; + std::map sourceOutputs; struct pa_context &context; }; -- cgit