summaryrefslogtreecommitdiff
path: root/src/tangara/input/input_hook_actions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/tangara/input/input_hook_actions.cpp')
-rw-r--r--src/tangara/input/input_hook_actions.cpp21
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