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

◆ set_all_data() [2/2]

void MayaFlux::Kakshya::DynamicSoundStream::set_all_data ( const std::vector< DataVariant > &  new_data)
private

Definition at line 339 of file DynamicSoundStream.cpp.

340{
341 std::unique_lock lock(m_data_mutex);
342 m_data.resize(data.size());
343
344 std::ranges::for_each(std::views::zip(data, m_data),
345 [](auto&& pair) {
346 auto&& [source, dest] = pair;
347 safe_copy_data_variant(source, dest);
348 });
349
350 m_num_frames = std::visit([](const auto& vec) {
351 return static_cast<uint64_t>(vec.size());
352 },
353 m_data[0]);
354
357 }
358
361}
void update_processing_state(ProcessingState new_state) override
Update the processing state of the container.
void lock() override
Acquire a lock for thread-safe access.
@ READY
Container has data loaded and is ready for processing.
@ INTERLEAVED
Single DataVariant with interleaved data (LRLRLR for stereo)
void safe_copy_data_variant(const DataVariant &input, DataVariant &output)
Safely copy data from a DataVariant to another DataVariant, handling type conversion.
Definition DataUtils.cpp:34

References MayaFlux::Kakshya::SoundStreamContainer::get_num_channels(), MayaFlux::Kakshya::INTERLEAVED, MayaFlux::Kakshya::SoundStreamContainer::lock(), MayaFlux::Kakshya::SoundStreamContainer::m_data, MayaFlux::Kakshya::SoundStreamContainer::m_data_mutex, MayaFlux::Kakshya::SoundStreamContainer::m_num_frames, MayaFlux::Kakshya::SoundStreamContainer::m_structure, MayaFlux::Kakshya::ContainerDataStructure::organization, MayaFlux::Kakshya::READY, MayaFlux::Kakshya::safe_copy_data_variant(), MayaFlux::Kakshya::SoundStreamContainer::setup_dimensions(), and MayaFlux::Kakshya::SoundStreamContainer::update_processing_state().

+ Here is the call graph for this function: