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) 2007 Jonathan Gordon
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 __ROOT_MENU_H__
22#define __ROOT_MENU_H__
23
24#include "config.h"
25#include "gcc_extensions.h"
26
27void root_menu(void) NORETURN_ATTR;
28struct menu_table {
29 char *string;
30 const struct menu_item_ex *item;
31};
32
33struct menu_table *root_menu_get_options(int *nb_options);
34
35enum {
36 /* from old menu api, but still required*/
37 MENU_ATTACHED_USB = -10,
38 MENU_SELECTED_EXIT = -9,
39
40 GO_TO_ROOTITEM_CONTEXT = -5,
41 GO_TO_PREVIOUS_MUSIC = -4,
42 GO_TO_PREVIOUS_BROWSER = -3,
43 GO_TO_PREVIOUS = -2,
44 GO_TO_ROOT = -1,
45 GO_TO_FILEBROWSER = 0,
46#ifdef HAVE_TAGCACHE
47 GO_TO_DBBROWSER,
48#endif
49 GO_TO_WPS,
50 GO_TO_MAINMENU,
51#ifdef HAVE_RECORDING
52 GO_TO_RECSCREEN,
53#endif
54#if CONFIG_TUNER
55 GO_TO_FM,
56#endif
57 GO_TO_RECENTBMARKS,
58 GO_TO_PLUGIN,
59 /* Do Not add any items above here unless you want it to be able to
60 be the "start screen" after a boot up. The setting in settings_list.c
61 will need editing if this is the case. */
62 GO_TO_BROWSEPLUGINS,
63 GO_TO_TIMESCREEN,
64 GO_TO_PLAYLISTS_SCREEN,
65 GO_TO_PLAYLIST_VIEWER,
66 GO_TO_SYSTEM_SCREEN,
67 GO_TO_SHORTCUTMENU
68};
69#ifndef PLUGIN
70extern struct menu_item_ex root_menu_;
71
72void root_menu_load_from_cfg(void* setting, char *value);
73char* root_menu_write_to_cfg(void* setting, char*buf, int buf_len);
74void root_menu_set_default(void* setting, void* defaultval);
75bool root_menu_is_changed(void* setting, void* defaultval);
76#endif
77
78
79#endif /* __ROOT_MENU_H__ */