70 structure::project::
ClipEditor * clipEditor () const;
73 dsp::SnapGrid * snapGridTimeline () const;
74 dsp::SnapGrid * snapGridEditor () const;
76 Q_INVOKABLE dsp::AudioInputSelection *
77 audioInputSelectionForTrack (const structure::tracks::Track * track);
79 Q_INVOKABLE dsp::MidiInputSelection *
80 midiInputSelectionForTrack (const structure::tracks::Track * track);
82 dsp::AudioInputSelection *
83 find_audio_input_selection (const structure::tracks::Track::Uuid &uuid) const;
85 dsp::MidiInputSelection *
86 find_midi_input_selection (const structure::tracks::Track::Uuid &uuid) const;
88 static constexpr auto kSnapGridTimelineKey =
"snapGridTimeline"sv;
89 static constexpr auto kSnapGridEditorKey =
"snapGridEditor"sv;
90 static constexpr auto kChordPadBankKey =
"chordPadBank"sv;
91 static constexpr auto kAudioInputSelectionsKey =
"audioInputSelections"sv;
92 static constexpr auto kMidiInputSelectionsKey =
"midiInputSelections"sv;
95 void audioInputSelectionChanged ();
96 void midiInputDeviceChanged ();
99 dsp::AudioInputSelection * get_or_create_audio_input_selection (
100 const structure::tracks::Track::Uuid &uuid);
102 dsp::MidiInputSelection * get_or_create_midi_input_selection (
103 const structure::tracks::Track::Uuid &uuid);
106 friend
void from_json (const nlohmann::json &j,
ProjectUiState &p);
110 utils::AppSettings &app_settings_;
125 utils::QObjectUniquePtr<dsp::SnapGrid> snap_grid_timeline_;
128 utils::QObjectUniquePtr<dsp::SnapGrid> snap_grid_editor_;
133 structure::tracks::Track::Uuid,
134 utils::QObjectUniquePtr<dsp::AudioInputSelection>>
135 audio_input_selections_;
140 structure::tracks::Track::Uuid,
141 utils::QObjectUniquePtr<dsp::MidiInputSelection>>
142 midi_input_selections_;