Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
zrythm::controllers::RecordingMaterializer Class Reference

Converts raw recording audio packets into arrangement regions. More...

#include <src/controllers/recording_materializer.h>

Inheritance diagram for zrythm::controllers::RecordingMaterializer:
Collaboration diagram for zrythm::controllers::RecordingMaterializer:

Data Structures

struct  CreatedRegion

Public Types

using RecordingMode = recording::RecordingMode
using RegionCreationResult = std::optional<CreatedRegion>
using RegionCreator
using RecordingModeProvider = std::function<RecordingMode ()>

Public Member Functions

 RecordingMaterializer (RecordingCoordinator &recording_coordinator, undo::UndoStack &undo_stack, RegionCreator region_creator, RecordingModeProvider recording_mode_provider, QObject *parent=nullptr)

Detailed Description

Converts raw recording audio packets into arrangement regions.

Subscribes to RecordingCoordinator::audioDataReady and creates or expands AudioRegion objects for each track. The first packet for a given continuous range creates a new region via the RegionCreator callback; subsequent packets append frames to the region's clip.

All region 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 38 of file recording_materializer.h.

Member Typedef Documentation

◆ RecordingMode

using zrythm::controllers::RecordingMaterializer::RecordingMode = recording::RecordingMode

Definition at line 43 of file recording_materializer.h.

◆ RecordingModeProvider

using zrythm::controllers::RecordingMaterializer::RecordingModeProvider = std::function<RecordingMode ()>

Definition at line 57 of file recording_materializer.h.

◆ RegionCreationResult

using zrythm::controllers::RecordingMaterializer::RegionCreationResult = std::optional<CreatedRegion>

Definition at line 50 of file recording_materializer.h.

◆ RegionCreator

using zrythm::controllers::RecordingMaterializer::RegionCreator
Initial value:
std::function<RegionCreationResult (
structure::tracks::TrackUuid track_id,
units::sample_t start_position,
const utils::audio::AudioBuffer &initial_frames,
size_t lane_index)>

Definition at line 51 of file recording_materializer.h.


The documentation for this class was generated from the following file: