1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
#ifndef SETTINGS_H
#define SETTINGS_H
typedef enum SettingsList {
SETTINGS_GLOBAL_MUTE,
SETTINGS_GLOBAL_BPM,
SETTINGS_AUTO_SAVE,
SETTINGS_SYNC,
SETTINGS_THEME,
SETTINGS_HELP,
SETTINGS_NUM,
} SettingsList;
typedef enum SyncSetting {
SYNC_NONE = 0,
SYNC_OUT_LINK_16,
SYNC_OUT_LINK_8,
SYNC_OUT_LINK_4,
SYNC_OUT_AUDIO_16,
SYNC_OUT_AUDIO_8,
SYNC_OUT_AUDIO_4,
SYNC_OUT_LINK_AUDIO_16,
SYNC_OUT_LINK_AUDIO_8,
SYNC_OUT_LINK_AUDIO_4,
SYNC_IN_LINK_96BPQ,
SYNC_IN_LINK_48BPQ,
SYNC_IN_LINK_24BPQ,
SYNC_IN_LINK_12BPQ,
SYNC_IN_LINK_4BPQ,
SYNC_NUM,
} SyncSetting;
char * sync_setting_str[] = {
"NONE",
"LINK OUT (16)",
"LINK OUT (8)",
"LINK OUT (4)",
"AUDIO OUT (16)",
"AUDIO OUT (8)",
"AUDIO OUT (4)",
"LINK+AUDIO OUT (16)",
"LINK+AUDIO OUT (8)",
"LINK+AUDIO OUT (4)",
"LINK IN (96BPQ)",
"LINK IN (48BPQ)",
"LINK IN (24BPQ)",
"LINK IN (12BPQ)",
"LINK IN (4BPQ)",
};
typedef enum ThemeSetting {
THEME_DEFAULT = 0,
THEME_INVERTED,
THEME_CLASSIC_BLUE,
THEME_HUMAN_RIGHTS,
THEME_AMBER,
THEME_MERVEILLES,
THEME_NUM,
} ThemeSetting;
char * theme_setting_str[] = {
"DEFAULT",
"INVERTED",
"CLASSIC BLUE",
"HUMAN RIGHTS",
"AMBER",
"MERVEILLES",
};
typedef enum ToggleSettings {
TOGGLE_OFF = 0,
TOGGLE_ON,
TOGGLE_NUM,
} ToggleSettings;
char * toggle_settings_str[] = {
"OFF",
"ON",
};
typedef struct Settings {
ToggleSettings global_mute;
bool mutes[4];
ToggleSettings global_bpm;
int bpm;
ToggleSettings auto_save;
SyncSetting sync;
ThemeSetting theme;
ToggleSettings help;
u8 reserved[52];
} Settings;
// TODO: Save globals on a separate struct, within the metadata struct?
#endif // SETTINGS_H
|