diff options
Diffstat (limited to 'src/SourceWindow.cc')
-rw-r--r-- | src/SourceWindow.cc | 17 |
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); +} |