aboutsummaryrefslogtreecommitdiffstats
path: root/src/settings.h
blob: bbfdfd2abf1d9fa1c3866fedf78c4e180e4641bb (plain)
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#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_96BPQ,
    SYNC_OUT_LINK_48BPQ,
    SYNC_OUT_LINK_24BPQ,
    SYNC_OUT_LINK_12BPQ,
    SYNC_OUT_LINK_6BPQ,
    SYNC_OUT_LINK_4BPQ,
    SYNC_OUT_LINK_2BPQ,
    SYNC_OUT_AUDIO_12BPQ,
    SYNC_OUT_AUDIO_6BPQ,
    SYNC_OUT_AUDIO_4BPQ,
    SYNC_OUT_AUDIO_2BPQ,
    SYNC_OUT_LINK_AUDIO_12BPQ,
    SYNC_OUT_LINK_AUDIO_6BPQ,
    SYNC_OUT_LINK_AUDIO_4BPQ,
    SYNC_OUT_LINK_AUDIO_2BPQ,
    SYNC_IN_LINK_96BPQ,
    SYNC_IN_LINK_48BPQ,
    SYNC_IN_LINK_24BPQ,
    SYNC_IN_LINK_12BPQ,
    SYNC_IN_LINK_6BPQ,
    SYNC_IN_LINK_4BPQ,
    SYNC_NUM,
} SyncSetting;

char * sync_setting_str[] = {
    "NONE",
    "LINK OUT (96BPQ)",
    "LINK OUT (48BPQ)",
    "LINK OUT (24BPQ)",
    "LINK OUT (12BPQ)",
    "LINK OUT (6BPQ)",
    "LINK OUT (4BPQ)",
    "LINK OUT (2BPQ)",
    "AUDIO OUT (12BPQ)",
    "AUDIO OUT (6BPQ)",
    "AUDIO OUT (4BPQ)",
    "AUDIO OUT (2BPQ)",
    "LINK+AUDIO OUT (12BPQ)",
    "LINK+AUDIO OUT (6BPQ)",
    "LINK+AUDIO OUT (4BPQ)",
    "LINK+AUDIO OUT (2BPQ)",
    "LINK IN (96BPQ)",
    "LINK IN (48BPQ)",
    "LINK IN (24BPQ)",
    "LINK IN (12BPQ)",
    "LINK IN (6BPQ)",
    "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