MayaFlux 0.5.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 Memory::SeqlockWriteGuard g(m_data_lock);
30 m_data.resize(data.size());
31
32 std::ranges::copy(data, m_data.begin());
33 if (!m_data.empty()) {
34 auto elements = std::visit([](const auto& vec) { return vec.size(); }, m_data[0]);
36 ? elements / m_num_channels
37 : elements;
38 }
39
41 m_double_extraction_dirty.store(true, std::memory_order_release);
42}
@ INTERLEAVED
Single DataVariant with interleaved data (LRLRLR for stereo)

References MayaFlux::Kakshya::INTERLEAVED, MayaFlux::Kakshya::SoundStreamContainer::m_data, MayaFlux::Kakshya::SoundStreamContainer::m_data_lock, 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: