43class AudioRecordingSession
46 enum class State : uint8_t
53 explicit AudioRecordingSession (units::sample_u32_t max_block_length);
54 ~AudioRecordingSession ();
56 Q_DISABLE_COPY_MOVE (AudioRecordingSession)
58 static constexpr size_t kFifoCapacity = 1024;
81 units::sample_t timeline_position,
82 bool transport_recording,
83 std::span<const float> l_data,
84 std::span<const float> r_data)
noexcept [[clang::nonblocking]];
92 [[nodiscard]] std::vector<RecordingAudioPacket>
95 [[nodiscard]]
auto state ()
const
97 return state_.load (std::memory_order_acquire);
122 return dropped_packets_.load (std::memory_order_relaxed);
127 std::unique_ptr<Impl> impl_;
129 std::atomic<State> state_{ State::Armed };
130 std::atomic<uint64_t> dropped_packets_{ 0 };
void write_samples(units::sample_t timeline_position, bool transport_recording, std::span< const float > l_data, std::span< const float > r_data) noexcept
RT-safe: writes audio data into the ring buffer.