A music player that connects to your cloud/distributed storage.
1module UI.Equalizer.State exposing (..)
2
3import Common exposing (Switch(..))
4import Equalizer exposing (..)
5import Return exposing (return)
6import UI.Ports as Ports
7import UI.Types exposing (..)
8
9
10
11-- 📣
12
13
14adjustVolume : Float -> Manager
15adjustVolume volume model =
16 let
17 settings =
18 model.eqSettings
19 in
20 return
21 { model | eqSettings = { settings | volume = volume } }
22 (adjustKnobUsingPort Volume volume)
23
24
25toggleVolumeSlider : Switch -> Manager
26toggleVolumeSlider switch model =
27 case switch of
28 On ->
29 Return.singleton { model | showVolumeSlider = True }
30
31 Off ->
32 Return.singleton { model | showVolumeSlider = False }
33
34
35
36-- ⚗️
37
38
39adjustKnobUsingPort : Knob -> Float -> Cmd Msg
40adjustKnobUsingPort knobType value =
41 Ports.adjustEqualizerSetting
42 { value = value
43 , knob =
44 case knobType of
45 Low ->
46 "LOW"
47
48 Mid ->
49 "MID"
50
51 High ->
52 "HIGH"
53
54 Volume ->
55 "VOLUME"
56 }
57
58
59adjustAllKnobs : Settings -> Cmd Msg
60adjustAllKnobs eqSettings =
61 adjustKnobUsingPort Volume eqSettings.volume