summaryrefslogtreecommitdiff
path: root/callbacks.c
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2009-08-03 13:29:10 +0200
committerGravatar waker <wakeroid@gmail.com>2009-08-03 13:29:10 +0200
commit8a9e74f2ec98f0bc48320c757fe893fb1cebdcd5 (patch)
tree14ea3f3018dd1d3d6d2b5d15546f1d4d505d7513 /callbacks.c
parentb70cb2ea90b43b346a2d1150c5fbf7c9e77c21d2 (diff)
fixed logarithmic volume control
Diffstat (limited to 'callbacks.c')
-rw-r--r--callbacks.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/callbacks.c b/callbacks.c
index 68851159..c14bb1bb 100644
--- a/callbacks.c
+++ b/callbacks.c
@@ -32,9 +32,9 @@ void
on_volume_value_changed (GtkRange *range,
gpointer user_data)
{
-// float db = -(60 - (gtk_range_get_value (range) * 0.6f))
- float a = gtk_range_get_value (range) / 100;
- psdl_set_volume (a*a);
+ float db = -(60 - (gtk_range_get_value (range) * 0.6f));
+ float a = db <= -60.f ? 0 : pow (10, db/20.f);
+ psdl_set_volume (a);
}
int g_disable_seekbar_handler = 0;