MayaFlux 0.1.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches

◆ set_raw_data()

void MayaFlux::Kakshya::SoundFileContainer::set_raw_data ( const std::vector< DataVariant > &  data)

Set raw data from external source (e.g., file loading)

Parameters
dataThe audio data as DataVariant

Definition at line 27 of file SoundFileContainer.cpp.

28{
29 std::unique_lock lock(m_data_mutex);
30
31 m_data.resize(data.size());
32 std::ranges::copy(data, m_data.begin());
33
34 if (!m_data.empty()) {
35 auto elements = std::visit([](const auto& vec) { return vec.size(); }, m_data[0]);
37 ? elements / m_num_channels
38 : elements;
39 }
40
42 m_double_extraction_dirty.store(true, std::memory_order_release);
43}
void lock() override
Acquire a lock for thread-safe access.
@ INTERLEAVED
Single DataVariant with interleaved data (LRLRLR for stereo)

References MayaFlux::Kakshya::INTERLEAVED, MayaFlux::Kakshya::SoundStreamContainer::lock(), MayaFlux::Kakshya::SoundStreamContainer::m_data, MayaFlux::Kakshya::SoundStreamContainer::m_data_mutex, MayaFlux::Kakshya::SoundStreamContainer::m_double_extraction_dirty, MayaFlux::Kakshya::SoundStreamContainer::m_num_channels, MayaFlux::Kakshya::SoundStreamContainer::m_num_frames, MayaFlux::Kakshya::SoundStreamContainer::m_structure, MayaFlux::Kakshya::ContainerDataStructure::organization, and MayaFlux::Kakshya::SoundStreamContainer::setup_dimensions().

+ Here is the call graph for this function: