diff options
Diffstat (limited to 'src/tangara/input/input_hook_actions.cpp')
| -rw-r--r-- | src/tangara/input/input_hook_actions.cpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/src/tangara/input/input_hook_actions.cpp b/src/tangara/input/input_hook_actions.cpp index fb6a677c..001d3fb0 100644 --- a/src/tangara/input/input_hook_actions.cpp +++ b/src/tangara/input/input_hook_actions.cpp @@ -62,11 +62,22 @@ auto volumeDown() -> HookCallback { }}; } -auto allActions() -> std::vector<HookCallback> { - return { - select(), scrollUp(), scrollDown(), scrollToTop(), - scrollToBottom(), goBack(), volumeUp(), volumeDown(), - }; +auto nextTrack(audio::TrackQueue& queue) -> HookCallback { + return HookCallback{.name = "next_track", .fn = [&](lv_indev_data_t* d) { + queue.next(); + }}; +} + +auto prevTrack(audio::TrackQueue& queue) -> HookCallback { + return HookCallback{.name = "prev_track", .fn = [&](lv_indev_data_t* d) { + queue.previous(); + }}; +} + +auto togglePlayPause() -> HookCallback { + return HookCallback{.name = "toggle_play_pause", .fn = [&](lv_indev_data_t* d) { + events::Audio().Dispatch(audio::TogglePlayPause{}); + }}; } } // namespace actions |
