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

◆ set_audio_final_processor()

void MayaFlux::Buffers::BufferProcessingControl::set_audio_final_processor ( const std::shared_ptr< BufferProcessor > &  processor,
ProcessingToken  token 
)

Sets a final processor for an audio token (applied to all channels)

Parameters
processorFinal processor to apply
tokenProcessing domain

Final processors are applied as the last step in the processing chain.

Definition at line 209 of file BufferProcessingControl.cpp.

212{
213 if (!m_unit_manager.has_audio_unit(token)) {
214 return;
215 }
216
217 auto& unit = m_unit_manager.get_audio_unit_mutable(token);
218 for (uint32_t i = 0; i < unit.channel_count; ++i) {
219 auto root_buffer = unit.get_buffer(i);
220 auto chain = root_buffer->get_processing_chain();
221 chain->add_final_processor(processor, root_buffer);
222 }
223}
TokenUnitManager & m_unit_manager
Reference to the token/unit manager.
bool has_audio_unit(ProcessingToken token) const
Checks if an audio unit exists for the given token.
RootAudioUnit & get_audio_unit_mutable(ProcessingToken token)
Gets an existing audio unit without creating if missing (mutable)
std::shared_ptr< RootAudioBuffer > get_buffer(uint32_t channel) const

References MayaFlux::Buffers::TokenUnitManager::get_audio_unit_mutable(), MayaFlux::Buffers::RootAudioUnit::get_buffer(), MayaFlux::Buffers::TokenUnitManager::has_audio_unit(), and m_unit_manager.

Referenced by set_final_processor().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: