10#ifndef __SETTINGS_SETTINGS_H__
11#define __SETTINGS_SETTINGS_H__
15#include "gtk_wrapper.h"
26#define GSETTINGS_ZRYTHM_PREFIX "org.zrythm.Zrythm"
27#define SETTINGS (gZrythm->settings)
30#define S_MONITOR SETTINGS->monitor
31#define S_UI SETTINGS->ui
32#define S_EXPORT_AUDIO SETTINGS->export_audio
33#define S_EXPORT_MIDI SETTINGS->export_midi
34#define S_GENERAL SETTINGS->general
35#define S_UI_INSPECTOR SETTINGS->ui_inspector
36#define S_UI_MIXER SETTINGS->ui_mixer
37#define S_UI_PANELS SETTINGS->ui_panels
38#define S_UI_PLUGIN_BROWSER SETTINGS->ui_plugin_browser
39#define S_UI_FILE_BROWSER SETTINGS->ui_file_browser
40#define S_TRANSPORT SETTINGS->transport
45#define S_P_DSP_PAN SETTINGS->preferences_dsp_pan
46#define S_P_EDITING_AUDIO SETTINGS->preferences_editing_audio
47#define S_P_EDITING_AUTOMATION SETTINGS->preferences_editing_automation
48#define S_P_EDITING_UNDO SETTINGS->preferences_editing_undo
49#define S_P_GENERAL_ENGINE SETTINGS->preferences_general_engine
50#define S_P_GENERAL_PATHS SETTINGS->preferences_general_paths
51#define S_P_GENERAL_UPDATES SETTINGS->preferences_general_updates
52#define S_P_PLUGINS_UIS SETTINGS->preferences_plugins_uis
53#define S_P_PLUGINS_PATHS SETTINGS->preferences_plugins_paths
54#define S_P_PROJECTS_GENERAL SETTINGS->preferences_projects_general
55#define S_P_UI_GENERAL SETTINGS->preferences_ui_general
56#define S_P_SCRIPTING_GENERAL SETTINGS->preferences_scripting_general
60#define S_IS_DEBUG (g_settings_get_int (S_GENERAL, "debug"))
62#define S_SET_ENUM(settings, key, val) g_settings_set_enum (settings, key, val)
64#define S_GET_ENUM(settings, key) g_settings_get_enum (settings, key)
66#define S_UI_SET_ENUM(key, val) S_SET_ENUM (S_UI, key, val)
68#define S_UI_GET_ENUM(key) S_GET_ENUM (S_UI, key)
70#define S_PLUGIN_SETTINGS SETTINGS->plugin_settings
72#define S_USER_SHORTCUTS SETTINGS->user_shortcuts
93 GSettings * preferences_editing_audio =
nullptr;
94 GSettings * preferences_editing_automation =
nullptr;
95 GSettings * preferences_editing_undo =
nullptr;
96 GSettings * preferences_general_engine =
nullptr;
97 GSettings * preferences_general_paths =
nullptr;
98 GSettings * preferences_general_updates =
nullptr;
99 GSettings * preferences_plugins_uis =
nullptr;
100 GSettings * preferences_plugins_paths =
nullptr;
101 GSettings * preferences_projects_general =
nullptr;
102 GSettings * preferences_ui_general =
nullptr;
103 GSettings * preferences_scripting_general =
nullptr;
115 GSettings *
ui =
nullptr;
120 GSettings * export_audio =
nullptr;
121 GSettings * export_midi =
nullptr;
123 GSettings * ui_mixer =
nullptr;
124 GSettings * ui_inspector =
nullptr;
125 GSettings * ui_panels =
nullptr;
126 GSettings * ui_plugin_browser =
nullptr;
127 GSettings * ui_file_browser =
nullptr;
155 GSettings * settings,
164 GSettings * settings,
167 bool ignore_if_duplicate);
170settings_get_range (
const char * schema,
const char * key);
173settings_get_range_double (
180settings_get_default_value (
const char * schema,
const char * key);
183settings_get_default_value_double (
const char * schema,
const char * key);
GSettings * preferences_dsp_pan
All preferences_* settings are to be shown in the preferences dialog.
GSettings * general
General settings, like recent projects list.
GSettings * transport
Transport settings.
void init()
Initializes settings.
GSettings * monitor
Monitor settings.
char * settings_get_description(GSettings *settings, const char *key)
Returns the localized description as a newly allocated string.
void settings_reset_to_factory(bool confirm, bool exit_on_finish)
Resets settings to defaults.
void settings_print(int pretty_print)
Prints the current settings.
NONNULL void settings_append_to_strv(GSettings *settings, const char *key, const char *val, bool ignore_if_duplicate)
Appends the given string to a key of type "as".
NONNULL bool settings_strv_contains_str(GSettings *settings, const char *key, const char *val)
Returns whether the "as" key contains the given string.
char * settings_get_summary(GSettings *settings, const char *key)
Returns the localized summary as a newly allocated string.
User shortcuts read from yaml.