From 33b966e7236912d06ff5033f69b69c687a7a7803 Mon Sep 17 00:00:00 2001 From: Louis Burda Date: Sun, 18 Dec 2022 01:12:48 +0100 Subject: Implement player backend for mplay --- src/player.c | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'src/player.c') diff --git a/src/player.c b/src/player.c index 6e1a69b..258a1b8 100644 --- a/src/player.c +++ b/src/player.c @@ -86,6 +86,40 @@ player_next_from_playlist(void) return NULL; } +/* implemented by backend: + * + * void player_init(void); + * void player_deinit(void); + * + * void player_update(void); + * + * int player_play_track(struct track *track, bool new); + * int player_clear_track(void); + */ + +void +player_add_history(struct track *new) +{ + struct link *link; + struct track *track; + + link = list_back(&player.history); + if (link) { + track = UPCAST(link, struct track, link_hs); + if (track == new) return; + } + + link_pop(&new->link_hs); + list_push_back(&player.history, &new->link_hs); +} + +/* implemented by backend: + * + * int player_toggle_pause(void); + * int player_pause(void); + * int player_resume(void); + */ + int player_prev(void) { @@ -139,4 +173,12 @@ clear: return PLAYER_STATUS_ERR; } +/* implemented by backend: + * + * int player_seek(int sec); + * int player_play(void); + * int player_stop(void); + * + * int player_set_volume(unsigned int vol); + */ -- cgit v1.2.3-71-gd317