diff options
Diffstat (limited to 'src/channelwidget.cc')
-rw-r--r-- | src/channelwidget.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/channelwidget.cc b/src/channelwidget.cc index ca5b2a8..5b04012 100644 --- a/src/channelwidget.cc +++ b/src/channelwidget.cc @@ -113,3 +113,16 @@ void ChannelWidget::set_sensitive(bool enabled) { volumeLabel->set_sensitive(enabled); volumeScale->set_sensitive(enabled); } + +void ChannelWidget::setBaseVolume(pa_volume_t v) { + + volumeScale->clear_marks(); + + if (v > PA_VOLUME_MUTED && v < PA_VOLUME_NORM) { + double p = ((double) v * 100) / PA_VOLUME_NORM; + gtk_scale_add_mark(GTK_SCALE(volumeScale->gobj()), p, (GtkPositionType) GTK_POS_BOTTOM, NULL); + } + + gtk_scale_add_mark(GTK_SCALE(volumeScale->gobj()), 0.0, (GtkPositionType) GTK_POS_BOTTOM, NULL); + gtk_scale_add_mark(GTK_SCALE(volumeScale->gobj()), 100.0, (GtkPositionType) GTK_POS_BOTTOM, NULL); +} |