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

◆ process_tagged()

void MayaFlux::Kakshya::DataProcessingChain::process_tagged ( std::shared_ptr< SignalSourceContainer container,
const std::string &  tag 
)

Processes a container with processors that have a specific tag.

Parameters
containerThe signal container to process
tagThe tag to filter processors by

Allows for logical grouping and selective application of processors, supporting scenarios like feature extraction, effect routing, or conditional processing.

Definition at line 68 of file DataProcessingChain.cpp.

69{
70 auto it = m_container_processors.find(container);
71 if (it != m_container_processors.end()) {
72 for (auto& processor : it->second) {
73 auto tag_it = m_processor_tags.find(processor);
74 if (tag_it != m_processor_tags.end() && tag_it->second == tag) {
75 processor->process(container);
76 }
77 }
78 }
79}
std::unordered_map< std::shared_ptr< DataProcessor >, std::string > m_processor_tags
Maps processors to their associated tags for categorization and filtering.
std::unordered_map< std::shared_ptr< SignalSourceContainer >, std::vector< std::shared_ptr< DataProcessor > > > m_container_processors
Maps containers to their associated processors in sequence order.

References m_container_processors, and m_processor_tags.