diff --git a/src/module/module_sdl2.c b/src/module/module_sdl2.c index 4de7b6df06d3d9bf6d84bd479ace1cbc1234ecff..490a0feda7841041ec8152dbdef648e1bac4e08b 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 b714f5cfb07c93fc6e38fbb2060d8a422a3444f3..4d92ecc08dab27b3c8d56010765f829f5c399006 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 380cebe9dc8eab8262ada15a31a1b6cbd6ee0dbe..a1f1653d79bf314a012edfb45f886fc39610f03c 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;