A Node that remaps audio channels from input to output.
More...
#include <tracktion_ChannelRemappingNode.h>
Inherits tracktion::graph::Node.
A Node that remaps audio channels from input to output.
This node supports two modes of operation:
EXPLICIT MAPPING MODE: Uses a ChannelMap to explicitly route source channels to destination channels.
- Multiple sources can map to the same destination (summed together)
- A single source can map to multiple destinations (duplicated)
- MIDI is always passed through
Example: Mono to stereo duplication:
static ChannelMap monoToStereo()
Creates a mapping that duplicates a mono source to stereo.
Definition tracktion_ChannelMap.h:60
PROCESSOR PASSTHROUGH MODE: Wraps a processor node (e.g., PluginNode) and handles channel count mismatches:
- PASSTHROUGH (input > processor): Channels beyond the processor's capacity pass through unchanged from the original input. Example: 5.1 through stereo plugin - L/R processed, C/LFE/Ls/Rs pass through.
- EXPANSION (input < processor): The processor outputs more channels than the input provided. Output is the processor's channel count. Example: Mono through stereo plugin - output is stereo.
auto pluginNode = makeNode<PluginNode> (input, plugin, ...);
auto node = makeNode<ChannelRemappingNode> (pluginNode, inputConfig, processorConfig);
◆ ChannelRemappingNode() [1/2]
| tracktion::engine::ChannelRemappingNode::ChannelRemappingNode |
( |
std::unique_ptr< tracktion::graph::Node > |
inputNode, |
|
|
ChannelMap |
channelMap |
|
) |
| |
Creates a ChannelRemappingNode in explicit mapping mode.
- Parameters
-
| inputNode | The input node to remap channels from. |
| channelMap | The channel mapping to apply. |
◆ ChannelRemappingNode() [2/2]
Creates a ChannelRemappingNode in processor passthrough mode.
- Parameters
-
| processorNode | The processor node (e.g., PluginNode) that has already been created with its input. This node takes ownership. |
| inputConfig | The channel configuration of the original input. |
| processorConfig | The channel configuration the processor handles. An empty config means the processor handles all input channels (pass-through), so no remapping is needed. |
◆ getNodeProperties()
| tracktion::graph::NodeProperties tracktion::engine::ChannelRemappingNode::getNodeProperties |
( |
| ) |
|
|
override |
◆ getDirectInputNodes()
| std::vector< Node * > tracktion::engine::ChannelRemappingNode::getDirectInputNodes |
( |
| ) |
|
|
override |
◆ isReadyToProcess()
| bool tracktion::engine::ChannelRemappingNode::isReadyToProcess |
( |
| ) |
|
|
override |
◆ prepareToPlay()
| void tracktion::engine::ChannelRemappingNode::prepareToPlay |
( |
const tracktion::graph::PlaybackInitialisationInfo & |
| ) |
|
|
override |
◆ process()
| void tracktion::engine::ChannelRemappingNode::process |
( |
ProcessContext & |
| ) |
|
|
override |
The documentation for this class was generated from the following file: