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

◆ register_network()

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

Definition at line 53 of file Creator.cpp.

54{
55 auto token = get_node_token(ctx.domain.value());
56
57 if (token == Nodes::ProcessingToken::AUDIO_RATE) {
58 if (
59 network->get_output_mode() != Nodes::Network::OutputMode::AUDIO_SINK
60 && network->get_output_mode() != Nodes::Network::OutputMode::AUDIO_COMPUTE) {
61 MF_WARN(Journal::Component::API,
62 Journal::Context::Init,
63 "Registering audio network in AUDIO_RATE domain without AUDIO_SINK or AUDIO_COMPUTE mode. Forcing AUDIO_SINK mode.");
64 network->set_output_mode(Nodes::Network::OutputMode::AUDIO_SINK);
65 }
66 if (ctx.channel.has_value()) {
67 network->add_channel_usage(ctx.channel.value());
68 } else if (ctx.channels.has_value()) {
69 for (uint32_t ch : ctx.channels.value()) {
70 network->add_channel_usage(ch);
71 }
72 }
73 } else if (token == Nodes::ProcessingToken::VISUAL_RATE && network->get_output_mode() != Nodes::Network::OutputMode::GRAPHICS_BIND) {
74 MF_WARN(Journal::Component::API,
75 Journal::Context::Init,
76 "Registering visual network in VISUAL_RATE domain without GRAPHICS_BIND output mode. Forcing GRAPHICS_BIND mode.");
77 network->set_output_mode(Nodes::Network::OutputMode::GRAPHICS_BIND);
78 }
79
81}
#define MF_WARN(comp, ctx,...)
Core::GlobalNetworkConfig network
Definition Config.cpp:43
glm::vec3 value
uint32_t channels
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::Network::NodeNetwork > &network, const Nodes::ProcessingToken &token)
Registers a node network with the default engine's node graph manager.
Definition Graph.cpp:208
std::optional< uint32_t > channel
Definition Creator.hpp:29
std::optional< std::vector< uint32_t > > channels
Definition Creator.hpp:30
std::optional< Domain > domain
Definition Creator.hpp:28

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

Referenced by operator|().

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