diff options
Diffstat (limited to 'src/SinkWindow.cc')
-rw-r--r-- | src/SinkWindow.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/SinkWindow.cc b/src/SinkWindow.cc index 4a205d1..4c6a01a 100644 --- a/src/SinkWindow.cc +++ b/src/SinkWindow.cc @@ -20,6 +20,7 @@ SinkWindow::SinkWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade: toOwnerModuleButton(NULL), volumeResetButton(NULL), volumeMuteButton(NULL), + volumeMeterButton(NULL), volumeScale(NULL) { refGlade->get_widget("nameLabel", nameLabel); @@ -36,6 +37,7 @@ SinkWindow::SinkWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade: refGlade->get_widget("volumeScale", volumeScale); refGlade->get_widget("volumeResetButton", volumeResetButton); refGlade->get_widget("volumeMuteButton", volumeMuteButton); + refGlade->get_widget("volumeMeterButton", volumeMeterButton); closeButton->signal_clicked().connect(sigc::mem_fun(*this, &SinkWindow::onCloseButton)); toMonitorSourceButton->signal_clicked().connect(sigc::mem_fun(*this, &SinkWindow::onToMonitorSourceButton)); @@ -43,6 +45,7 @@ SinkWindow::SinkWindow(BaseObjectType* cobject, const Glib::RefPtr<Gnome::Glade: volumeScale->signal_value_changed().connect(sigc::mem_fun(*this, &SinkWindow::onVolumeScaleValueChanged)); volumeResetButton->signal_clicked().connect(sigc::mem_fun(*this, &SinkWindow::onVolumeResetButton)); volumeMuteButton->signal_clicked().connect(sigc::mem_fun(*this, &SinkWindow::onVolumeMuteButton)); + volumeMeterButton->signal_clicked().connect(sigc::mem_fun(*this, &SinkWindow::onVolumeMeterButton)); } SinkWindow* SinkWindow::create() { @@ -65,7 +68,7 @@ void SinkWindow::updateInfo(const SinkInfo &i) { snprintf(t, sizeof(t), "#%u", i.owner_module); ownerModuleLabel->set_text(t); - snprintf(t, sizeof(t), "%u usec", i.latency); + snprintf(t, sizeof(t), "%0.0f usec", (double) i.latency); latencyLabel->set_text(t); SourceInfo *source = serverInfoManager->getSourceInfo(i.monitor_source); @@ -85,6 +88,7 @@ void SinkWindow::updateInfo(const SinkInfo &i) { monitor_source = i.monitor_source; owner_module = i.owner_module; index = i.index; + monitor_source_name = i.monitor_source_name; toOwnerModuleButton->set_sensitive(owner_module != (uint32_t) -1); } @@ -114,7 +118,11 @@ void SinkWindow::onVolumeMuteButton() { serverInfoManager->setSinkVolume(index, PA_VOLUME_MUTED); } -bool SinkWindow::on_delete_event(GdkEventAny* e) { +bool SinkWindow::on_delete_event(GdkEventAny*) { hide(); return false; } + +void SinkWindow::onVolumeMeterButton() { + serverInfoManager->runVolumeMeter(monitor_source_name); +} |