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

◆ remove_network()

void MayaFlux::Nodes::NodeGraphManager::remove_network ( const std::shared_ptr< 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 479 of file NodeGraphManager.cpp.

481{
482 if (!network) {
483 return;
484 }
485
486 if (network->get_output_mode() == NodeNetwork::OutputMode::AUDIO_SINK) {
487 auto token_it = m_audio_networks.find(token);
488 if (token_it != m_audio_networks.end()) {
489 for (auto& [channel, networks] : token_it->second) {
490 networks.erase(
491 std::remove(networks.begin(), networks.end(), network),
492 networks.end());
493 }
494 }
495 } else {
496 auto it = m_token_networks.find(token);
497 if (it != m_token_networks.end()) {
498 auto& networks = it->second;
499 networks.erase(
500 std::remove(networks.begin(), networks.end(), network),
501 networks.end());
502 }
503 }
504
506}
static MayaFlux::Nodes::ProcessingToken token
Definition Timers.cpp:8
std::unordered_map< ProcessingToken, std::unordered_map< unsigned int, std::vector< std::shared_ptr< NodeNetwork > > > > m_audio_networks
Audio-sink networks (channel-routed) Only populated for networks with OutputMode::AUDIO_SINK.
void unregister_network_global(const std::shared_ptr< NodeNetwork > &network)
Unregister network globally.
std::unordered_map< ProcessingToken, std::vector< std::shared_ptr< NodeNetwork > > > m_token_networks
Non-audio networks (token-level processing) For NONE, GRAPHICS_BIND, CUSTOM output modes.
@ AUDIO_SINK
Aggregated audio samples sent to output.

References MayaFlux::Nodes::NodeNetwork::AUDIO_SINK, m_audio_networks, m_token_networks, token, and unregister_network_global().

+ Here is the call graph for this function: