diff options
author | waker <wakeroid@gmail.com> | 2009-08-03 13:29:10 +0200 |
---|---|---|
committer | waker <wakeroid@gmail.com> | 2009-08-03 13:29:10 +0200 |
commit | 8a9e74f2ec98f0bc48320c757fe893fb1cebdcd5 (patch) | |
tree | 14ea3f3018dd1d3d6d2b5d15546f1d4d505d7513 /callbacks.c | |
parent | b70cb2ea90b43b346a2d1150c5fbf7c9e77c21d2 (diff) |
fixed logarithmic volume control
Diffstat (limited to 'callbacks.c')
-rw-r--r-- | callbacks.c | 6 |
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; |