diff --git a/gui.rkt b/gui.rkt index 864ae84..eff0602 100644 --- a/gui.rkt +++ b/gui.rkt @@ -567,9 +567,13 @@ ) (if (eq? volume-display 'block) (send volume-meter display 'none) - (send volume-meter display 'block)) - (send el-vol-perc set-innerHTML! - (sprintf "%d%" (send player get-volume))) + (begin + (send volume-meter display 'block) + (send el-volume set! + (sqrt (send player get-volume))) + (send el-vol-perc set-innerHTML! + (sprintf "%d%" (send player get-volume)))) + ) ) ) diff --git a/gui/rktplayer.html b/gui/rktplayer.html index b70429e..7b62d7b 100644 --- a/gui/rktplayer.html +++ b/gui/rktplayer.html @@ -22,7 +22,7 @@
- +
diff --git a/gui/styles.css b/gui/styles.css index ae1bc67..3785227 100644 --- a/gui/styles.css +++ b/gui/styles.css @@ -323,6 +323,10 @@ div.volume-meter:hover { transition: all 0.5s ease-in; } +div.volume-meter input[type="range"] { + height: 300px; +} + input.v-slider { writing-mode: vertical-lr; direction: rtl; diff --git a/player.rkt b/player.rkt index ddd2ed4..0c93dc9 100644 --- a/player.rkt +++ b/player.rkt @@ -30,7 +30,7 @@ (define closing #f) (define pause #f) (define repeat-state 'no-repeat) - (define volume 100.0) + (define volume (send settings get 'volume 100.0)) (define ao-handle #f) (define audio-handle #f) @@ -284,6 +284,7 @@ (define/public (set-volume! percentage) (set! volume percentage) + (send settings set! 'volume percentage) (unless (eq? ao-handle #f) (ao-set-volume! ao-handle volume)) )