summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2004-09-01 14:46:18 +0000
committerLennart Poettering <lennart@poettering.net>2004-09-01 14:46:18 +0000
commit2b3c1967c118346c1d73491877cc346e142191e3 (patch)
tree960c73e7ecb6022d17c191f4b1c64ea5d258339e
parentf3831b677aa2b95777044ca176db94ef9a5eba4c (diff)
show volumes in dB as well
git-svn-id: file:///home/lennart/svn/public/paman/trunk@27 cdefa82f-4ce1-0310-97f5-ab6066f37c3c
-rw-r--r--src/Makefile.am3
-rw-r--r--src/SinkInputWindow.cc12
-rw-r--r--src/SinkWindow.cc14
-rw-r--r--src/paman.glade4
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%% (-&#8734;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%% (-&#8734;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>