mirror of
https://github.com/heyarne/airsonic-ui.git
synced 2026-05-06 18:33:38 +02:00
Add volume control keyboard shortcuts
This commit is contained in:
parent
6e1664327f
commit
49631ff7d7
3 changed files with 36 additions and 5 deletions
|
|
@ -31,7 +31,7 @@
|
|||
|
||||
(defn attach-listeners! [el]
|
||||
(let [emit-audio-update (throttle #(rf/dispatch [:audio/update (->status el)]) 16)]
|
||||
(doseq [event ["loadstart" "progress" "play" "timeupdate" "pause"]]
|
||||
(doseq [event ["loadstart" "progress" "play" "timeupdate" "pause" "volumechange"]]
|
||||
(.addEventListener el event emit-audio-update))))
|
||||
|
||||
;; effects to be fired from event handlers
|
||||
|
|
@ -72,10 +72,26 @@
|
|||
(set! (. @audio -currentTime)
|
||||
(* percentage duration))))
|
||||
|
||||
(defn- set-volume! [volume]
|
||||
(set! (.-volume @audio) volume))
|
||||
|
||||
(rf/reg-fx
|
||||
:audio/set-volume
|
||||
(fn [percentage]
|
||||
(set! (. @audio -volume) percentage)))
|
||||
(when @audio
|
||||
(set-volume! percentage))))
|
||||
|
||||
(rf/reg-fx
|
||||
:audio/increase-volume
|
||||
(fn [_]
|
||||
(when-let [vol (some-> @audio .-volume)]
|
||||
(set-volume! (min 1 (+ vol 0.05))))))
|
||||
|
||||
(rf/reg-fx
|
||||
:audio/decrease-volume
|
||||
(fn [_]
|
||||
(when-let [vol (some-> @audio .-volume)]
|
||||
(set-volume! (max 0 (- vol 0.05))))))
|
||||
|
||||
;; subscriptions
|
||||
|
||||
|
|
|
|||
|
|
@ -70,6 +70,15 @@
|
|||
|
||||
(rf/reg-event-fx
|
||||
:audio-player/set-volume
|
||||
(fn [{:keys [db]} [_ percentage]]
|
||||
{:db (assoc-in db [:audio :playback-status :volume] percentage)
|
||||
:audio/set-volume percentage}))
|
||||
(fn [_ [_ percentage]]
|
||||
{:audio/set-volume percentage}))
|
||||
|
||||
(rf/reg-event-fx
|
||||
:audio-player/increase-volume
|
||||
(fn [_ _]
|
||||
{:audio/increase-volume nil}))
|
||||
|
||||
(rf/reg-event-fx
|
||||
:audio-player/decrease-volume
|
||||
(fn [_ _]
|
||||
{:audio/decrease-volume nil}))
|
||||
|
|
|
|||
|
|
@ -14,6 +14,12 @@
|
|||
["→" "Next song"
|
||||
[:audio-player/next-song]
|
||||
[{:keyCode 39}]]
|
||||
["+" "Increase volume"
|
||||
[:audio-player/increase-volume]
|
||||
[{:keyCode 171}]]
|
||||
["-" "Decrease volume"
|
||||
[:audio-player/decrease-volume]
|
||||
[{:keyCode 173}]]
|
||||
["?" "Show / hide keyboard shortcut help"
|
||||
[:bulma.modal.events/toggle :keyboard-shortcuts-help]
|
||||
[{:keyCode 63}]]])
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue