20class ArrangerObjectCreator :
public QObject
24 QML_UNCREATABLE (
"One instance per project")
27 explicit ArrangerObjectCreator (
32 QObject * parent =
nullptr)
33 : QObject (parent), arranger_object_factory_ (arranger_object_factory),
34 snap_grid_timeline_ (snap_grid_timeline),
35 snap_grid_editor_ (snap_grid_editor), undo_stack_ (undo_stack)
48 structure::arrangement::TempoObject::CurveType curveType,
52 addTimeSignatureObject (
71 addEmptyAutomationRegion (
87 dsp::FileAudioSourceUuidReference clip_id,
88 units::precise_tick_t start_ticks);
93 units::precise_tick_t start_ticks);
95 structure::arrangement::ArrangerObjectUuidReference
96 add_audio_region_for_recording (
101 units::precise_tick_t start_ticks);
103 structure::arrangement::ArrangerObjectUuidReference
104 add_midi_region_for_recording (
107 units::precise_tick_t start_ticks);
111 units::precise_tick_t startTicks,
112 structure::arrangement::MidiControlEvent::EventType type,
120 const QString &absPath,
124 addAudioRegionToClipSlotFromFile (
127 const QString &absPath);
129 addMidiRegionToClipSlotFromFile (
132 const QString &absPath);
156 const QString &absolutePath,
173 const int chordIndex);
179 void add_laned_object (
182 structure::arrangement::ArrangerObjectUuidReference obj_ref);
184 void add_object_to_clip_slot (
187 structure::arrangement::ArrangerObjectUuidReference obj_ref);
197 template <structure::arrangement::EditorObject ChildT>
198 auto add_editor_object (
200 units::precise_tick_t startTicks,
201 std::variant<int, double> value) -> ChildT *
204 arranger_object_factory_.create_editor_object<ChildT> (startTicks, value);
207 auto obj = obj_ref.template get_object_as<ChildT> ();
Q_INVOKABLE structure::arrangement::MidiRegion * addMidiRegionFromMidiFile(structure::tracks::Track *track, structure::tracks::TrackLane *lane, const QString &absolutePath, double startTicks, int midiTrackIndex)
Creates a MIDI region at lane from MIDI file path abs_path starting at startTicks.
Q_INVOKABLE structure::arrangement::MidiRegion * addMidiRegionFromChordDescriptor(structure::tracks::Track *track, structure::tracks::TrackLane *lane, const dsp::ChordDescriptor &descr, double startTicks)
Creates a MIDI region at lane from the given descr starting at startTicks.