From a3b148812e2a0776806eb952683acf9ebd49322c Mon Sep 17 00:00:00 2001 From: Kubat <mael.martin31@gmail.com> Date: Thu, 3 Sep 2020 16:29:29 +0200 Subject: [PATCH] PLAYBACK: Fix pause/play state with the sdl2 module --- src/module/module_sdl2.c | 6 ++---- src/module/mpv.c | 4 ++-- src/net/listen.c | 5 ++++- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/module/module_sdl2.c b/src/module/module_sdl2.c index 4de7b6df..490a0fed 100644 --- a/src/module/module_sdl2.c +++ b/src/module/module_sdl2.c @@ -338,10 +338,8 @@ loop: state = SDL_GetKeyboardState(NULL); ctrl = state[SDL_SCANCODE_LCTRL] || state[SDL_SCANCODE_RCTRL]; - if (ctrl && event.key.keysym.sym == SDLK_SPACE) { - const char *cmd_pause[] = { "cycle", "pause", NULL }; - mpv_command_async((mpv_handle *) sdl2->mpv, 0, cmd_pause); - } + if (ctrl && event.key.keysym.sym == SDLK_SPACE) + lkt_queue_send(sdl2->queue, lkt_event_play_toggle, LKT_PLAY_TOGGLE); else if (event.key.keysym.sym == SDLK_n && ctrl) lkt_queue_send(sdl2->queue, lkt_event_play_next, NULL); diff --git a/src/module/mpv.c b/src/module/mpv.c index b714f5cf..4d92ecc0 100644 --- a/src/module/mpv.c +++ b/src/module/mpv.c @@ -166,12 +166,12 @@ loop: switch (event->event_id) { case MPV_EVENT_PAUSE: *state = STATE_PAUSE; - lkt_queue_send(queue, lkt_event_play_toggle, LKT_PLAY_TOGGLE); + lkt_queue_send(queue, lkt_event_play_toggle, LKT_PLAY_PAUSE); break; case MPV_EVENT_UNPAUSE: *state = STATE_PLAY; - lkt_queue_send(queue, lkt_event_play_toggle, LKT_PLAY_TOGGLE); + lkt_queue_send(queue, lkt_event_play_toggle, LKT_PLAY_PLAY); break; case MPV_EVENT_SHUTDOWN: diff --git a/src/net/listen.c b/src/net/listen.c index 380cebe9..a1f1653d 100644 --- a/src/net/listen.c +++ b/src/net/listen.c @@ -744,9 +744,12 @@ redo: case lkt_event_play_toggle: switch ((size_t) evt.attr) { - /* FIXME: Don't toggle with the PLAY/PAUSE commands */ case __LKT_PLAY_PAUSE: + database_queue_set_paused(srv->db, 1); /* Set to pause */ + break; case __LKT_PLAY_PLAY: + database_queue_set_paused(srv->db, 0); /* Set to play */ + break; case __LKT_PLAY_TOGGLE: database_queue_toggle_pause(srv->db); break; -- GitLab