A modern Music Player Daemon based on Rockbox open source high quality audio player
libadwaita
audio
rust
zig
deno
mpris
rockbox
mpd
1/***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
9 *
10 * Copyright (C) 2002 Björn Stenberg
11 *
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
16 *
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
19 *
20 ****************************************************************************/
21#ifndef _WPS_H_
22#define _WPS_H_
23
24#include <stdbool.h>
25
26struct mp3entry;
27
28/* Please don't add anything else to here... */
29struct wps_state
30{
31 struct mp3entry *id3;
32 struct mp3entry *nid3;
33 int ff_rewind_count;
34 bool paused;
35};
36
37long gui_wps_show(void);
38
39enum wps_do_action_type
40{
41 WPS_PLAY,
42 WPS_PAUSE,
43 WPS_PLAYPAUSE, /* toggle */
44};
45
46void wps_do_action(enum wps_do_action_type, bool updatewps);
47/* fade (if enabled) and pause the audio, optionally rewind a little */
48#define pause_action(update) wps_do_action(WPS_PAUSE, update)
49#define unpause_action(update) wps_do_action(WPS_PLAY, update)
50#define wps_do_playpause(update) wps_do_action(WPS_PLAYPAUSE, update)
51
52struct wps_state *get_wps_state(void);
53
54/* in milliseconds */
55#define DEFAULT_SKIP_THRESH 3000l
56
57#endif /* _WPS_H_ */