|
Zrythm v2.0.0-alpha.1+31.4967fd053471
a highly automated and intuitive digital audio workstation
|
Core functionality of a Zrythm project. More...
#include <src/structure/project/project.h>


Public Types | |
| using | TrackUuid = structure::tracks::TrackUuid |
| using | PluginPtrVariant = plugins::PluginPtrVariant |
| using | ProjectDirectoryPathProvider |
| using | AudioInputSelectionProvider |
| Callback to look up audio input selection for a track. | |
| using | MidiInputSelectionProvider |
Public Member Functions | |
| Project (utils::AppSettings &app_settings, ProjectDirectoryPathProvider project_directory_path_provider, dsp::IHardwareAudioInterface &hw_interface, dsp::IHardwareMidiInterface &midi_interface, std::shared_ptr< juce::AudioPluginFormatManager > plugin_format_manager, plugins::PluginHostWindowFactory plugin_host_window_provider, dsp::Metronome &metronome, dsp::Fader &monitor_fader, QObject *parent=nullptr) | |
| structure::tracks::Tracklist * | tracklist () const |
| structure::scenes::ClipLauncher * | clipLauncher () const |
| structure::scenes::ClipPlaybackService * | clipPlaybackService () const |
| dsp::Transport * | getTransport () const |
| dsp::AudioEngine * | engine () const |
| dsp::TempoMapWrapper * | getTempoMap () const |
| structure::arrangement::TempoObjectManager * | tempoObjectManager () const |
| dsp::Fader & | monitor_fader () const |
| dsp::Metronome & | metronome () const |
| auto * | arrangerObjectFactory () const |
| dsp::PortObservationManager * | portObservationManager () const |
| void | add_default_tracks () |
| Adds the default undeletable tracks to the project. | |
| structure::tracks::FinalTrackDependencies | get_final_track_dependencies () |
| utils::IObjectRegistry & | get_registry () |
| const utils::IObjectRegistry & | get_registry () const |
| const auto & | tempo_map () const |
| void | set_audio_input_selection_provider (AudioInputSelectionProvider provider) |
| const auto & | audio_input_selection_provider () const |
| void | set_midi_input_selection_provider (MidiInputSelectionProvider provider) |
| const auto & | midi_input_selection_provider () const |
| void | install_recording_callback (structure::tracks::TrackRecordingCallback callback) |
| Installs the recording callback used by all tracks. | |
Data Fields | |
| utils::QObjectUniquePtr< dsp::PortConnectionsManager > | port_connections_manager_ |
| Must be free'd after engine. | |
| utils::QObjectUniquePtr< dsp::Transport > | transport_ |
| Timeline metadata like BPM, time signature, etc. | |
| utils::QObjectUniquePtr< dsp::AudioEngine > | audio_engine_ |
| The audio backend. | |
| std::unique_ptr< dsp::AudioPool > | pool_ |
| Audio file pool. | |
| utils::QObjectUniquePtr< structure::tracks::Tracklist > | tracklist_ |
| Manager for region link groups. | |
| std::vector< structure::tracks::Track * > | tracks_rt_ |
| Realtime cache of tracks. | |
| utils::QObjectUniquePtr< plugins::PluginFactory > | plugin_factory_ |
| std::unique_ptr< structure::tracks::TrackFactory > | track_factory_ |
Friends | |
| void | init_from (Project &obj, const Project &other, utils::ObjectCloneType clone_type) |
| void | to_json (nlohmann::json &j, const Project &project) |
| void | from_json (const nlohmann::json &j, Project &project) |
Callback to look up audio input selection for a track.
Set by ProjectSession after construction. Returns nullptr if no selection exists for the given track UUID.
| using zrythm::structure::project::Project::MidiInputSelectionProvider |
| using zrythm::structure::project::Project::PluginPtrVariant = plugins::PluginPtrVariant |
| using zrythm::structure::project::Project::ProjectDirectoryPathProvider |
| using zrythm::structure::project::Project::TrackUuid = structure::tracks::TrackUuid |
| void zrythm::structure::project::Project::add_default_tracks | ( | ) |
Adds the default undeletable tracks to the project.
To be called when creating new projects.
|
inline |
|
inline |
|
inline |
|
inline |
| void zrythm::structure::project::Project::install_recording_callback | ( | structure::tracks::TrackRecordingCallback | callback | ) |
Installs the recording callback used by all tracks.
Must be called exactly once by ProjectSession after construction, before any tracks are created.
|
inline |
|
inline |
|
inline |
|
inline |
| utils::QObjectUniquePtr<dsp::AudioEngine> zrythm::structure::project::Project::audio_engine_ |
| utils::QObjectUniquePtr<plugins::PluginFactory> zrythm::structure::project::Project::plugin_factory_ |
| std::unique_ptr<dsp::AudioPool> zrythm::structure::project::Project::pool_ |
| utils::QObjectUniquePtr<dsp::PortConnectionsManager> zrythm::structure::project::Project::port_connections_manager_ |
| std::unique_ptr<structure::tracks::TrackFactory> zrythm::structure::project::Project::track_factory_ |
| utils::QObjectUniquePtr<structure::tracks::Tracklist> zrythm::structure::project::Project::tracklist_ |
| std::vector<structure::tracks::Track *> zrythm::structure::project::Project::tracks_rt_ |
| utils::QObjectUniquePtr<dsp::Transport> zrythm::structure::project::Project::transport_ |
|
read |
|
read |
|
read |
|
read |
|
read |
|
read |
|
read |
|
read |