#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