Project struct

Contains all of the info that will be serialized into a project file.

Contents

Public variables

char* title
Project title.
char* dir
Path to save the project in.
char* project_file_path
Project file full path.
ClipEditor clip_editor
Backend for the widget.
SnapGrid snap_grid_timeline
Snap/Grid info for the timeline.
QuantizeOptions quantize_opts_timeline
Quantize info for the timeline.
SnapGrid snap_grid_midi
Snap/Grid info for the piano roll.
QuantizeOptions quantize_opts_editor
Quantize info for the piano roll.
AutomationSelections automation_selections
Selected objects in the AutomationArrangerWidget.
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.
Position range_1
Selected range.
int has_range
if 0 range is not displayed
AudioEngine audio_engine
The audio backend.
Tool tool
Currently selected tool (select - normal, select - stretch, edit, delete, ramp, audition)
int loaded
If a project is currently loaded or not.
SelectionType last_selection
The last thing selected in the GUI.
ControlRoom control_room
The ControlRoom.
char* version
Zrythm version, for zerialization.

Variable documentation

double Project::timeline_zoom

Zoom levels.

TODO & move to clip_editor

Position Project::range_1

Selected range.

This is 2 points instead of start/end because the 2nd point can be dragged past the 1st point so the order gets swapped.

Should be compared each time to see which one is first.

int Project::loaded

If a project is currently loaded or not.

This is useful so that we know if we need to tear down when loading a new project while another one is loaded.

SelectionType Project::last_selection

The last thing selected in the GUI.

Used in inspector_widget_refresh.