Zrythm struct

To be used throughout the program.


Everything here should be global and function regardless of the project.

Public variables

PluginManager plugin_manager
Manages plugins (loading, instantiating, etc.)
MainWindowWidget* main_window
main window
Settings settings
Application settings.
Project* project
Project data.
char* zrythm_dir
char* projects_dir
char* templates_dir
char* log_dir
char* recent_projects
+1 to ensure last element is NULL in case full.
Metronome metronome
The metronome.
char* open_filename
Filename to open passed through the command line.
GAsyncQueue* event_queue
Event queue, mainly for GUI events.
Symap* symap
String interner for internal things.
int debug
In debug mode or not (determined by GSetting).

Variable documentation

Project* Zrythm::project

Project data.

This is what should be exported/imported when saving/ loading projects.

The only reason this is a pointer is to easily deserialize.

char* Zrythm::open_filename

Filename to open passed through the command line.

Used only when a filename is passed. E.g., zrytm myproject.xml