diff options
-rw-r--r-- | src/Makefile.am | 3 | ||||
-rw-r--r-- | src/SinkInputWindow.cc | 12 | ||||
-rw-r--r-- | src/SinkWindow.cc | 14 | ||||
-rw-r--r-- | src/paman.glade | 4 |
4 files changed, 23 insertions, 10 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index 51137a9..5631315 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -16,4 +16,5 @@ paman_SOURCES=MainWindow.cc MainWindow.hh \ SampleWindow.cc SampleWindow.hh paman_LDADD=$(AM_LDADD) $(GUILIBS_LIBS) $(POLYP_LIBS) -paman_CXXFLAGS=$(AM_CXXFLAGS) $(GUILIBS_CFLAGS) $(POLYP_CFLAGS) -DGLADE_FILE=\"$(pkgdatadir)/paman.glade\" +paman_CXXFLAGS=$(AM_CXXFLAGS) $(GUILIBS_CFLAGS) $(POLYP_CFLAGS) +#paman_CXXFLAGS+=-DGLADE_FILE=\"$(pkgdatadir)/paman.glade\" diff --git a/src/SinkInputWindow.cc b/src/SinkInputWindow.cc index e78b567..bfbbbfa 100644 --- a/src/SinkInputWindow.cc +++ b/src/SinkInputWindow.cc @@ -57,6 +57,7 @@ SinkInputWindow* SinkInputWindow::create() { void SinkInputWindow::updateInfo(const SinkInputInfo &i) { char t[80], ss[PA_SAMPLE_SNPRINT_MAX_LENGTH]; + double percent, db; nameLabel->set_text(i.name); snprintf(t, sizeof(t), "#%u", i.index); @@ -84,9 +85,14 @@ void SinkInputWindow::updateInfo(const SinkInputInfo &i) { clientLabel->set_text(client->name); } - volumeScale->set_value((double) i.volume * 100 / 0x100); - snprintf(t, sizeof(t), "%u%%", (i.volume * 100)/ 0x100); - volumeLabel->set_text(t); + percent = ((double) i.volume / 0x100) * 100; + db = pa_volume_to_dB(i.volume); + volumeScale->set_value(percent); + if (db != PA_DECIBEL_MININFTY) + snprintf(t, sizeof(t), "%0.0f%% (%0.2fdB)", percent, db); + else + snprintf(t, sizeof(t), "%0.0f%% (-∞dB)", percent); + volumeLabel->set_markup(t); set_title("Sink Input: "+i.name); diff --git a/src/SinkWindow.cc b/src/SinkWindow.cc index f632078..37a84b4 100644 --- a/src/SinkWindow.cc +++ b/src/SinkWindow.cc @@ -53,7 +53,8 @@ SinkWindow* SinkWindow::create() { } void SinkWindow::updateInfo(const SinkInfo &i) { - char t[20], ss[PA_SAMPLE_SNPRINT_MAX_LENGTH]; + char t[64], ss[PA_SAMPLE_SNPRINT_MAX_LENGTH]; + double percent, db; nameLabel->set_text(i.name); descriptionLabel->set_text(i.description); @@ -70,9 +71,14 @@ void SinkWindow::updateInfo(const SinkInfo &i) { SourceInfo *source = serverInfoManager->getSourceInfo(i.monitor_source); monitorSourceLabel->set_text(source->name); - volumeScale->set_value(((double) i.volume / 0x100) * 100); - snprintf(t, sizeof(t), "%u%%", (i.volume*100)/0x100); - volumeLabel->set_text(t); + percent = ((double) i.volume / 0x100) * 100; + db = pa_volume_to_dB(i.volume); + volumeScale->set_value(percent); + if (db != PA_DECIBEL_MININFTY) + snprintf(t, sizeof(t), "%0.0f%% (%0.2fdB)", percent, db); + else + snprintf(t, sizeof(t), "%0.0f%% (-∞dB)", percent); + volumeLabel->set_markup(t); set_title("Sink: "+i.name); diff --git a/src/paman.glade b/src/paman.glade index f454f57..f6b2c17 100644 --- a/src/paman.glade +++ b/src/paman.glade @@ -1886,7 +1886,7 @@ <child> <widget class="GtkLabel" id="volumeLabel"> - <property name="width_request">40</property> + <property name="width_request">80</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="label" translatable="yes">100%</property> @@ -3651,7 +3651,7 @@ <child> <widget class="GtkLabel" id="volumeLabel"> - <property name="width_request">40</property> + <property name="width_request">80</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="label" translatable="yes">100%</property> |