MayaFlux 0.4.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
Registry.hpp
Go to the documentation of this file.
1#pragma once
2
3namespace MayaFlux {
4
5namespace Nodes {
6 class Node;
7 namespace Generator {
8 class Sine;
9 class Phasor;
10 class Impulse;
11 class Logic;
12 class Polynomial;
13 class Random;
14 class Counter;
15 }
16 namespace Filters {
17 class IIR;
18 class FIR;
19 }
20 namespace GpuSync {
21 class ComputeOutNode;
22 class TextureNode;
24 class MeshWriterNode;
25 class PointNode;
30 }
31 namespace Network {
32 class NodeNetwork;
33 class ModalNetwork;
34 class WaveguideNetwork;
35 class ResonatorNetwork;
36 class ParticleNetwork;
37 class PointCloudNetwork;
38 class MeshNetwork;
39 }
40 namespace Input {
41 class InputNode;
42 class HIDNode;
43 class MIDINode;
44 class OSCNode;
45
46 struct InputConfig;
47 struct HIDConfig;
48 struct MIDIConfig;
49 struct OSCConfig;
50 }
51 class Constant;
52 class StreamReaderNode;
53}
54
55namespace Buffers {
56 class Buffer;
57 class AudioBuffer;
58 class NodeBuffer;
59 class FeedbackBuffer;
60 class SoundContainerBuffer;
61 class VKBuffer;
62 class NodeTextureBuffer;
63 class TextureBuffer;
64 class GeometryBuffer;
65 class MeshBuffer;
66 class MeshNetworkBuffer;
67 class NetworkGeometryBuffer;
68 class NetworkTextureBuffer;
69 class NetworkAudioBuffer;
70}
71
72namespace Kakshya {
73 class SignalSourceContainer;
74 class DynamicSoundStream;
75 class SoundFileContainer;
76 class VideoFileContainer;
77}
78
79namespace Core {
80 struct InputBinding;
81}
82
83namespace IO {
84 struct LoadConfig;
85}
86
87}
88
89#define ALL_NODE_REGISTRATIONS \
90 N(Sine, MayaFlux::Nodes::Generator::Sine) \
91 N(Phasor, MayaFlux::Nodes::Generator::Phasor) \
92 N(Impulse, MayaFlux::Nodes::Generator::Impulse) \
93 N(Logic, MayaFlux::Nodes::Generator::Logic) \
94 N(Polynomial, MayaFlux::Nodes::Generator::Polynomial) \
95 N(Random, MayaFlux::Nodes::Generator::Random) \
96 N(Counter, MayaFlux::Nodes::Generator::Counter) \
97 N(IIR, MayaFlux::Nodes::Filters::IIR) \
98 N(FIR, MayaFlux::Nodes::Filters::FIR) \
99 N(ComputeOutNode, MayaFlux::Nodes::GpuSync::ComputeOutNode) \
100 N(TextureNode, MayaFlux::Nodes::GpuSync::TextureNode) \
101 N(GeometryWriterNode, MayaFlux::Nodes::GpuSync::GeometryWriterNode) \
102 N(MeshWriterNode, MayaFlux::Nodes::GpuSync::MeshWriterNode) \
103 N(PointNode, MayaFlux::Nodes::GpuSync::PointNode) \
104 N(PathGeneratorNode, MayaFlux::Nodes::GpuSync::PathGeneratorNode) \
105 N(PointCollectionNode, MayaFlux::Nodes::GpuSync::PointCollectionNode) \
106 N(TopologyGeneratorNode, MayaFlux::Nodes::GpuSync::TopologyGeneratorNode) \
107 N(ProceduralTextureNode, MayaFlux::Nodes::GpuSync::ProceduralTextureNode) \
108 N(StreamReaderNode, MayaFlux::Nodes::StreamReaderNode) \
109 N(Constant, MayaFlux::Nodes::Constant)
110
111#define ALL_NODE_NETWORK_REGISTRATIONS \
112 W(ModalNetwork, MayaFlux::Nodes::Network::ModalNetwork) \
113 W(WaveguideNetwork, MayaFlux::Nodes::Network::WaveguideNetwork) \
114 W(ResonatorNetwork, MayaFlux::Nodes::Network::ResonatorNetwork) \
115 W(ParticleNetwork, MayaFlux::Nodes::Network::ParticleNetwork) \
116 W(PointCloudNetwork, MayaFlux::Nodes::Network::PointCloudNetwork) \
117 W(MeshNetwork, MayaFlux::Nodes::Network::MeshNetwork)
118
119#define ALL_BUFFER_REGISTRATION \
120 B(AudioBuffer, MayaFlux::Buffers::AudioBuffer) \
121 B(NodeBuffer, MayaFlux::Buffers::NodeBuffer) \
122 B(FeedbackBuffer, MayaFlux::Buffers::FeedbackBuffer) \
123 B(SoundContainerBuffer, MayaFlux::Buffers::SoundContainerBuffer) \
124 B(VKBuffer, MayaFlux::Buffers::VKBuffer) \
125 B(NodeTextureBuffer, MayaFlux::Buffers::NodeTextureBuffer) \
126 B(TextureBuffer, MayaFlux::Buffers::TextureBuffer) \
127 B(GeometryBuffer, MayaFlux::Buffers::GeometryBuffer) \
128 B(MeshBuffer, MayaFlux::Buffers::MeshBuffer) \
129 B(MeshNetworkBuffer, MayaFlux::Buffers::MeshNetworkBuffer) \
130 B(NetworkGeometryBuffer, MayaFlux::Buffers::NetworkGeometryBuffer) \
131 B(NetworkTextureBuffer, MayaFlux::Buffers::NetworkTextureBuffer) \
132 B(NetworkAudioBuffer, MayaFlux::Buffers::NetworkAudioBuffer)
Finite Impulse Response filter implementation.
Definition FIR.hpp:34
Infinite Impulse Response filter implementation.
Definition IIR.hpp:36
Integer step accumulator with modulo wrap and optional trigger reset.
Definition Counter.hpp:26
Base class for all signal and pattern generators in Maya Flux.
Impulse generator node.
Definition Impulse.hpp:32
Digital signal processor implementing boolean logic operations.
Definition Logic.hpp:168
Phase ramp generator node.
Definition Phasor.hpp:31
Generator that produces values based on polynomial functions.
Node wrapper for Kinesis::Stochastic - signal-rate stochastic generation.
Sinusoidal oscillator generator node.
Definition Sine.hpp:32
Node that reads back data from GPU buffer to CPU.
Base class for nodes that generate 3D geometry data.
Indexed triangle mesh for static or infrequently-updated geometry.
Generates dense vertex paths from sparse control points or freehand drawing.
Unstructured collection of 3D points for visualization.
Single 3D point in space.
Definition PointNode.hpp:21
Pixels generated by arbitrary functions.
Base class for texture-generating nodes.
Generates dynamic mesh topology from sparse control points.
@ Nodes
DSP Generator and Filter Nodes, graph pipeline, node management.
@ Buffers
Buffers, Managers, processors and processing chains.
@ Core
Core engine, backend, subsystems.
@ Kakshya
Containers[Signalsource, Stream, File], Regions, DataProcessors.
@ IO
Networking, file handling, streaming.
Main namespace for the Maya Flux audio engine.
Definition Runtime.cpp:12