Zrythm
a highly automated and intuitive digital audio workstation
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Zrythm Struct Reference

To be used throughout the program. More...

#include <zrythm.h>

Collaboration diagram for Zrythm:

Data Fields

const char * exe_path
 argv[0].
 
PluginManagerplugin_manager
 Manages plugins (loading, instantiating, etc.)
 
Settingssettings
 Application settings.
 
Projectproject
 Project data.
 
char * recent_projects [MAX_RECENT_PROJECTS+1]
 +1 to ensure last element is NULL in case full.
 
int num_recent_projects
 
char ** templates
 NULL terminated array of project template absolute paths.
 
char * demo_template
 Demo project template used when running for the first time.
 
bool opening_template
 Whether the open file is a template to be used to create a new project from.
 
bool creating_project
 Whether creating a new project, either from a template or blank.
 
char * create_project_path
 Path to create a project in, including its title.
 
char * open_filename
 Filename to open passed through the command line.
 
EventManagerevent_manager
 
RecordingManagerrecording_manager
 Recording manager.
 
FileManagerfile_manager
 File manager.
 
ChordPresetPackManagerchord_preset_pack_manager
 Chord preset pack manager.
 
Symapsymap
 String interner for internal things.
 
Symaperror_domain_symap
 String interner for error domains.
 
PCGRand * rand
 Random number generator.
 
bool debug
 In debug mode or not (determined by GSetting).
 
bool testing
 Used when running the tests.
 
bool generating_project
 Whether this is a dummy instance used when generating projects.
 
bool have_ui
 Log settings.
 
bool use_optimized_dsp
 Whether to use optimized DSP when available.
 
CairoCachescairo_caches
 
char * testing_dir
 Zrythm directory used during unit tests.
 
int undo_stack_len
 Undo stack length, used during tests.
 
char * version
 Cached version (without 'v').
 
bool open_newer_backup
 Whether to open a newer backup if found.
 
bool use_pipewire_in_tests
 Whether to use pipewire in tests.
 
GPid pipewire_pid
 Process ID for pipewire (used in tests).
 

Detailed Description

To be used throughout the program.

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

Definition at line 187 of file zrythm.h.

Field Documentation

◆ cairo_caches

CairoCaches* Zrythm::cairo_caches

Definition at line 295 of file zrythm.h.

◆ chord_preset_pack_manager

ChordPresetPackManager* Zrythm::chord_preset_pack_manager

Chord preset pack manager.

Definition at line 253 of file zrythm.h.

◆ create_project_path

char* Zrythm::create_project_path

Path to create a project in, including its title.

Definition at line 233 of file zrythm.h.

◆ creating_project

bool Zrythm::creating_project

Whether creating a new project, either from a template or blank.

Definition at line 230 of file zrythm.h.

◆ debug

bool Zrythm::debug

In debug mode or not (determined by GSetting).

Definition at line 271 of file zrythm.h.

◆ demo_template

char* Zrythm::demo_template

Demo project template used when running for the first time.

This is a copy of one of the strings in Zrythm.templates.

Definition at line 223 of file zrythm.h.

◆ error_domain_symap

Symap* Zrythm::error_domain_symap

String interner for error domains.

Definition at line 263 of file zrythm.h.

◆ event_manager

EventManager* Zrythm::event_manager

Definition at line 244 of file zrythm.h.

◆ exe_path

const char* Zrythm::exe_path

argv[0].

Definition at line 190 of file zrythm.h.

◆ file_manager

FileManager* Zrythm::file_manager

File manager.

Definition at line 250 of file zrythm.h.

◆ generating_project

bool Zrythm::generating_project

Whether this is a dummy instance used when generating projects.

Definition at line 282 of file zrythm.h.

◆ have_ui

bool Zrythm::have_ui

Log settings.

1 if Zrythm has a UI, 0 if headless (eg, when unit-testing).

Definition at line 289 of file zrythm.h.

◆ num_recent_projects

int Zrythm::num_recent_projects

Definition at line 213 of file zrythm.h.

◆ open_filename

char* Zrythm::open_filename

Filename to open passed through the command line.

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

Definition at line 242 of file zrythm.h.

◆ open_newer_backup

bool Zrythm::open_newer_backup

Whether to open a newer backup if found.

This is only used during tests where there is no UI to choose.

Definition at line 312 of file zrythm.h.

◆ opening_template

bool Zrythm::opening_template

Whether the open file is a template to be used to create a new project from.

Definition at line 227 of file zrythm.h.

◆ pipewire_pid

GPid Zrythm::pipewire_pid

Process ID for pipewire (used in tests).

Definition at line 325 of file zrythm.h.

◆ plugin_manager

PluginManager* Zrythm::plugin_manager

Manages plugins (loading, instantiating, etc.)

Definition at line 195 of file zrythm.h.

◆ project

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.

Definition at line 209 of file zrythm.h.

◆ rand

PCGRand* Zrythm::rand

Random number generator.

Definition at line 266 of file zrythm.h.

◆ recent_projects

char* Zrythm::recent_projects[MAX_RECENT_PROJECTS+1]

+1 to ensure last element is NULL in case full.

Definition at line 212 of file zrythm.h.

◆ recording_manager

RecordingManager* Zrythm::recording_manager

Recording manager.

Definition at line 247 of file zrythm.h.

◆ settings

Settings* Zrythm::settings

Application settings.

Definition at line 200 of file zrythm.h.

◆ symap

Symap* Zrythm::symap

String interner for internal things.

Definition at line 258 of file zrythm.h.

◆ templates

char** Zrythm::templates

NULL terminated array of project template absolute paths.

Definition at line 216 of file zrythm.h.

◆ testing

bool Zrythm::testing

Used when running the tests.

This is set by the TESTING environment variable.

Definition at line 278 of file zrythm.h.

◆ testing_dir

char* Zrythm::testing_dir

Zrythm directory used during unit tests.

Definition at line 298 of file zrythm.h.

◆ undo_stack_len

int Zrythm::undo_stack_len

Undo stack length, used during tests.

Definition at line 301 of file zrythm.h.

◆ use_optimized_dsp

bool Zrythm::use_optimized_dsp

Whether to use optimized DSP when available.

Definition at line 293 of file zrythm.h.

◆ use_pipewire_in_tests

bool Zrythm::use_pipewire_in_tests

Whether to use pipewire in tests.

If this is false, the dummy engine will be used.

Some tests do sample rate changes so it's more convenient to use the dummy engine instead.

Definition at line 322 of file zrythm.h.

◆ version

char* Zrythm::version

Cached version (without 'v').

Definition at line 304 of file zrythm.h.


The documentation for this struct was generated from the following file: