|
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 |