summaryrefslogtreecommitdiffstats
path: root/src/SourceWindow.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/SourceWindow.cc')
-rw-r--r--src/SourceWindow.cc17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/SourceWindow.cc b/src/SourceWindow.cc
index a396c6a..bb48071 100644
--- a/src/SourceWindow.cc
+++ b/src/SourceWindow.cc
@@ -11,9 +11,11 @@ SourceWindow::SourceWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Gl
sampleTypeLabel(NULL),
ownerModuleLabel(NULL),
monitorOfSinkLabel(NULL),
+ latencyLabel(NULL),
closeButton(NULL),
toParentSinkButton(NULL),
- toOwnerModuleButton(NULL) {
+ toOwnerModuleButton(NULL),
+ volumeMeterButton(NULL) {
refGlade->get_widget("nameLabel", nameLabel);
refGlade->get_widget("descriptionLabel", descriptionLabel);
@@ -21,13 +23,16 @@ SourceWindow::SourceWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Gl
refGlade->get_widget("sampleTypeLabel", sampleTypeLabel);
refGlade->get_widget("ownerModuleLabel", ownerModuleLabel);
refGlade->get_widget("monitorOfSinkLabel", monitorOfSinkLabel);
+ refGlade->get_widget("latencyLabel", latencyLabel);
refGlade->get_widget("closeButton", closeButton);
refGlade->get_widget("toParentSinkButton", toParentSinkButton);
refGlade->get_widget("toOwnerModuleButton", toOwnerModuleButton);
+ refGlade->get_widget("volumeMeterButton", volumeMeterButton);
closeButton->signal_clicked().connect(sigc::mem_fun(*this, &SourceWindow::onCloseButton));
toParentSinkButton->signal_clicked().connect(sigc::mem_fun(*this, &SourceWindow::onParentSinkButton));
toOwnerModuleButton->signal_clicked().connect(sigc::mem_fun(*this, &SourceWindow::onToOwnerModuleButton));
+ volumeMeterButton->signal_clicked().connect(sigc::mem_fun(*this, &SourceWindow::onVolumeMeterButton));
}
SourceWindow* SourceWindow::create() {
@@ -49,6 +54,9 @@ void SourceWindow::updateInfo(const SourceInfo &i) {
snprintf(t, sizeof(t), "#%u", i.owner_module);
ownerModuleLabel->set_text(t);
+ snprintf(t, sizeof(t), "%0.0f usec", (double) i.latency);
+ latencyLabel->set_text(t);
+
monitorOfSinkLabel->set_markup("<i>n/a</i>");
toParentSinkButton->set_sensitive(false);
if (i.monitor_of_sink != (uint32_t) -1) {
@@ -60,6 +68,7 @@ void SourceWindow::updateInfo(const SourceInfo &i) {
}
monitor_of_sink = i.monitor_of_sink;
+ source_name = i.name;
set_title("Source: "+i.name);
@@ -81,7 +90,11 @@ void SourceWindow::onToOwnerModuleButton() {
serverInfoManager->showModuleWindow(owner_module);
}
-bool SourceWindow::on_delete_event(GdkEventAny* e) {
+bool SourceWindow::on_delete_event(GdkEventAny*) {
hide();
return false;
}
+
+void SourceWindow::onVolumeMeterButton() {
+ serverInfoManager->runVolumeMeter(source_name);
+}