aboutsummaryrefslogtreecommitdiffstats
path: root/src/settings.h
blob: a34851776f98f582410f40c4ff7b05174860bd17 (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
#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,
    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",
};

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