Zrythm
a highly automated and intuitive digital audio workstation
|
Contains all of the info that will be serialized into a project file. More...
#include <project.h>
Public Member Functions | |
NONNULL bool | project_has_unsaved_changes (const Project *self) |
Data Fields | |
char * | title |
Project title. | |
char * | datetime_str |
Datetime string to add to the project file. | |
char * | dir |
Path to save the project in. | |
char * | backup_dir |
Backup dir to save the project during the current save call. | |
UndoManager * | undo_manager |
Tracklist * | tracklist |
ClipEditor * | clip_editor |
Backend for the widget. | |
Timeline * | timeline |
Timeline widget backend. | |
SnapGrid * | snap_grid_timeline |
Snap/Grid info for the timeline. | |
SnapGrid * | snap_grid_editor |
Snap/Grid info for the editor. | |
QuantizeOptions * | quantize_opts_timeline |
Quantize info for the timeline. | |
QuantizeOptions * | quantize_opts_editor |
Quantize info for the piano roll. | |
AutomationSelections * | automation_selections |
Selected objects in the AutomationArrangerWidget. | |
AudioSelections * | audio_selections |
Selected objects in the audio editor. | |
ChordSelections * | chord_selections |
Selected objects in the ChordObjectArrangerWidget. | |
TimelineSelections * | timeline_selections |
Selected objects in the TimelineArrangerWidget. | |
MidiArrangerSelections * | midi_arranger_selections |
Selected MidiNote's in the MidiArrangerWidget. | |
TracklistSelections * | tracklist_selections |
Selected Track's. | |
MixerSelections * | mixer_selections |
Plugin selections in the Mixer. | |
double | timeline_zoom |
Zoom levels. | |
double | piano_roll_zoom |
RegionLinkGroupManager * | region_link_group_manager |
Manager for region link groups. | |
PortConnectionsManager * | port_connections_manager |
AudioEngine * | audio_engine |
The audio backend. | |
MidiMappings * | midi_mappings |
MIDI bindings. | |
Tool | tool |
Currently selected tool (select - normal, select - stretch, edit, delete, ramp, audition) | |
bool | loading_from_backup |
Whether the current is currently being loaded from a backup file. | |
bool | loaded |
If a project is currently loaded or not. | |
ProjectSelectionType | last_selection |
The last thing selected in the GUI. | |
char * | version |
Zrythm version, for serialization. | |
ZixSem | save_sem |
Semaphore used to block saving. | |
UndoableAction * | last_saved_action |
Used to check if the project has unsaved changes. | |
gint64 | last_successful_autosave_time |
Last successful autosave timestamp. | |
UndoableAction * | last_action_in_last_successful_autosave |
Last undoable action in the previous successful autosave. | |
int | format_major |
Used when deserializing projects. | |
int | format_minor |
Contains all of the info that will be serialized into a project file.
TODO create a UserInterface struct and move things that are only relevant to the UI there.
AudioEngine* Project::audio_engine |
AudioSelections* Project::audio_selections |
AutomationSelections* Project::automation_selections |
char* Project::backup_dir |
Backup dir to save the project during the current save call.
For example, Project::dir /backups/myproject.bak3.
ChordSelections* Project::chord_selections |
ClipEditor* Project::clip_editor |
char* Project::datetime_str |
int Project::format_major |
UndoableAction* Project::last_action_in_last_successful_autosave |
UndoableAction* Project::last_saved_action |
ProjectSelectionType Project::last_selection |
gint64 Project::last_successful_autosave_time |
bool Project::loaded |
bool Project::loading_from_backup |
MidiArrangerSelections* Project::midi_arranger_selections |
MidiMappings* Project::midi_mappings |
MixerSelections* Project::mixer_selections |
PortConnectionsManager* Project::port_connections_manager |
QuantizeOptions* Project::quantize_opts_editor |
QuantizeOptions* Project::quantize_opts_timeline |
RegionLinkGroupManager* Project::region_link_group_manager |
SnapGrid* Project::snap_grid_editor |
SnapGrid* Project::snap_grid_timeline |
TimelineSelections* Project::timeline_selections |
double Project::timeline_zoom |
Tool Project::tool |
TracklistSelections* Project::tracklist_selections |
UndoManager* Project::undo_manager |