summaryrefslogtreecommitdiffstats
path: root/src/ServerInfoManager.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/ServerInfoManager.hh')
-rw-r--r--src/ServerInfoManager.hh30
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;