Zrythm
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
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.
 
double progress
 Log settings.
 
bool have_ui
 1 if Zrythm has a UI, 0 if headless (eg, when unit-testing).
 
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 309 of file zrythm.h.

◆ chord_preset_pack_manager

ChordPresetPackManager* Zrythm::chord_preset_pack_manager

Chord preset pack manager.

Definition at line 259 of file zrythm.h.

◆ create_project_path

char* Zrythm::create_project_path

Path to create a project in, including its title.

Definition at line 239 of file zrythm.h.

◆ creating_project

bool Zrythm::creating_project

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

Definition at line 235 of file zrythm.h.

◆ debug

bool Zrythm::debug

In debug mode or not (determined by GSetting).

Definition at line 277 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 227 of file zrythm.h.

◆ error_domain_symap

Symap* Zrythm::error_domain_symap

String interner for error domains.

Definition at line 269 of file zrythm.h.

◆ event_manager

EventManager* Zrythm::event_manager

Definition at line 250 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 256 of file zrythm.h.

◆ generating_project

bool Zrythm::generating_project

Whether this is a dummy instance used when generating projects.

Definition at line 288 of file zrythm.h.

◆ have_ui

bool Zrythm::have_ui

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

Definition at line 303 of file zrythm.h.

◆ num_recent_projects

int Zrythm::num_recent_projects

Definition at line 215 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 248 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 326 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 231 of file zrythm.h.

◆ pipewire_pid

GPid Zrythm::pipewire_pid

Process ID for pipewire (used in tests).

Definition at line 339 of file zrythm.h.

◆ plugin_manager

PluginManager* Zrythm::plugin_manager

Manages plugins (loading, instantiating, etc.)

Definition at line 195 of file zrythm.h.

◆ progress

double Zrythm::progress

Log settings.

Progress done (0.0 ~ 1.0).

To be used in things like the splash screen, loading projects, etc.

Definition at line 299 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 211 of file zrythm.h.

◆ rand

PCGRand* Zrythm::rand

Random number generator.

Definition at line 272 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 214 of file zrythm.h.

◆ recording_manager

RecordingManager* Zrythm::recording_manager

Recording manager.

Definition at line 253 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 264 of file zrythm.h.

◆ templates

char** Zrythm::templates

NULL terminated array of project template absolute paths.

Definition at line 219 of file zrythm.h.

◆ testing

bool Zrythm::testing

Used when running the tests.

This is set by the TESTING environment variable.

Definition at line 284 of file zrythm.h.

◆ testing_dir

char* Zrythm::testing_dir

Zrythm directory used during unit tests.

Definition at line 312 of file zrythm.h.

◆ undo_stack_len

int Zrythm::undo_stack_len

Undo stack length, used during tests.

Definition at line 315 of file zrythm.h.

◆ use_optimized_dsp

bool Zrythm::use_optimized_dsp

Whether to use optimized DSP when available.

Definition at line 307 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 336 of file zrythm.h.

◆ version

char* Zrythm::version

Cached version (without 'v').

Definition at line 318 of file zrythm.h.


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