|
Zrythm v2.0.0-alpha.1
a highly automated and intuitive digital audio workstation
|
Converts raw recording packets into arrangement clips. More...
#include <src/controllers/recording_materializer.h>


Data Structures | |
| struct | CreatedClip |
| Returned by clip creator callbacks on success. More... | |
| struct | ArrangerObjectCreators |
| Injected callbacks for creating arranger objects. More... | |
Public Types | |
| using | RecordingMode = recording::RecordingMode |
| using | ClipCreationResult = std::optional<CreatedClip> |
| using | RecordingModeProvider = std::function<RecordingMode ()> |
| Called to query the current recording mode (Takes, TakesMuted, etc.). | |
Public Member Functions | |
| RecordingMaterializer (RecordingCoordinator &recording_coordinator, undo::UndoStack &undo_stack, ArrangerObjectCreators creators, RecordingModeProvider recording_mode_provider, QObject *parent=nullptr) | |
Converts raw recording packets into arrangement clips.
Subscribes to RecordingCoordinator::audioDataReady and midiDataReady to create or expand clips for each track. For audio, the first packet for a given continuous range creates a new AudioClip via the ClipCreator callback; subsequent packets append frames to the clip's clip. For MIDI, note-on/off pairs become MidiNote objects and CC/pitchbend/etc. become MidiControlEvent objects inside a MidiClip.
All clip creations within a single recording take (transport rolling to transport stopped) are wrapped in a single undo macro so the entire take can be undone in one step. The macro is finalized when RecordingCoordinator::recordingSessionEnded fires.
Operates entirely on the non-RT (main) thread. The UndoStack is held via QPointer to guard against unexpected destruction ordering.
Definition at line 41 of file recording_materializer.h.
| using zrythm::controllers::RecordingMaterializer::ClipCreationResult = std::optional<CreatedClip> |
Definition at line 54 of file recording_materializer.h.
| using zrythm::controllers::RecordingMaterializer::RecordingMode = recording::RecordingMode |
Definition at line 46 of file recording_materializer.h.
| using zrythm::controllers::RecordingMaterializer::RecordingModeProvider = std::function<RecordingMode ()> |
Called to query the current recording mode (Takes, TakesMuted, etc.).
Definition at line 57 of file recording_materializer.h.