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

◆ register_network()

MAYAFLUX_API void MayaFlux::register_network ( const std::shared_ptr< Nodes::NodeNetwork > &  network,
const CreationContext ctx 
)

Definition at line 37 of file Creator.cpp.

38{
39 auto token = get_node_token(ctx.domain.value());
40
41 if (token == Nodes::ProcessingToken::AUDIO_RATE) {
42 if (network->get_output_mode() != Nodes::NodeNetwork::OutputMode::AUDIO_SINK) {
43 MF_WARN(Journal::Component::API,
44 Journal::Context::Init,
45 "Registering audio network in AUDIO_RATE domain without AUDIO_SINK output mode. Forcing AUDIO_SINK mode.");
46 network->set_output_mode(Nodes::NodeNetwork::OutputMode::AUDIO_SINK);
47 }
48 if (ctx.channel.has_value()) {
49 network->add_channel_usage(ctx.channel.value());
50 } else if (ctx.channels.has_value()) {
51 for (uint32_t ch : ctx.channels.value()) {
52 network->add_channel_usage(ch);
53 }
54 }
55 } else if (token == Nodes::ProcessingToken::VISUAL_RATE && network->get_output_mode() != Nodes::NodeNetwork::OutputMode::GRAPHICS_BIND) {
56 MF_WARN(Journal::Component::API,
57 Journal::Context::Init,
58 "Registering visual network in VISUAL_RATE domain without GRAPHICS_BIND output mode. Forcing GRAPHICS_BIND mode.");
59 network->set_output_mode(Nodes::NodeNetwork::OutputMode::GRAPHICS_BIND);
60 }
61
63}
#define MF_WARN(comp, ctx,...)
static MayaFlux::Nodes::ProcessingToken token
Definition Timers.cpp:8
MAYAFLUX_API Nodes::ProcessingToken get_node_token(Domain domain)
Extracts node processing token from domain.
Definition Domain.hpp:174
void register_node_network(const std::shared_ptr< Nodes::NodeNetwork > &network, const Nodes::ProcessingToken &token)
Registers a node network with the default engine's node graph manager.
Definition Graph.cpp:126
std::optional< uint32_t > channel
Definition Creator.hpp:10
std::optional< std::vector< uint32_t > > channels
Definition Creator.hpp:11
std::optional< Domain > domain
Definition Creator.hpp:9

References MayaFlux::Journal::API, MayaFlux::Nodes::AUDIO_RATE, MayaFlux::Nodes::NodeNetwork::AUDIO_SINK, MayaFlux::CreationContext::channel, MayaFlux::CreationContext::channels, MayaFlux::CreationContext::domain, get_node_token(), MayaFlux::Nodes::NodeNetwork::GRAPHICS_BIND, MayaFlux::Journal::Init, MF_WARN, register_node_network(), token, and MayaFlux::Nodes::VISUAL_RATE.

Referenced by MayaFlux::CreationHandle< T >::apply_network_context(), and operator|().

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