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

◆ remove_network()

void MayaFlux::Nodes::NodeGraphManager::remove_network ( const std::shared_ptr< Network::NodeNetwork > &  network,
ProcessingToken  token 
)

Remove a network from a processing token.

Parameters
networkNetwork to remove
tokenProcessing domain
channelChannel index within that domain, optional

Definition at line 517 of file NodeGraphManager.cpp.

519{
520 if (!network) {
521 return;
522 }
523
524 if (network->get_output_mode() == Network::OutputMode::AUDIO_SINK
525 || network->get_output_mode() == Network::OutputMode::AUDIO_COMPUTE) {
526 auto token_it = m_audio_networks.find(token);
527 if (token_it != m_audio_networks.end()) {
528 auto& networks = token_it->second;
529 std::erase_if(networks, [&](const auto& n) { return n == network; });
530 }
531 } else {
532 auto it = m_token_networks.find(token);
533 if (it != m_token_networks.end()) {
534 auto& networks = it->second;
535 std::erase_if(networks, [&](const auto& n) { return n == network; });
536 }
537 }
538
540}
std::unordered_map< ProcessingToken, std::vector< std::shared_ptr< Network::NodeNetwork > > > m_token_networks
Non-audio networks (token-level processing) For NONE, GRAPHICS_BIND, CUSTOM output modes.
std::unordered_map< ProcessingToken, std::vector< std::shared_ptr< Network::NodeNetwork > > > m_audio_networks
Audio-sink networks Only populated for networks with OutputMode::AUDIO_SINK.
void unregister_network_global(const std::shared_ptr< Network::NodeNetwork > &network)
Unregister network globally.
@ AUDIO_COMPUTE
processed each cycle but not sent to output
@ AUDIO_SINK
Aggregated audio samples sent to output.

References MayaFlux::Nodes::Network::AUDIO_COMPUTE, MayaFlux::Nodes::Network::AUDIO_SINK, m_audio_networks, m_token_networks, and unregister_network_global().

Referenced by MayaFlux::Kriya::TemporalActivation::cleanup_current_operation().

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