Overview
General purpose multiplexor
Discussion
This module has a variable number of input pins and routes (or copies) one of these pins to the output pin, while smoothly varying the multiplexor module with fade time between input pin transitions.
...
The module can also be configured to output zeros between transitions. The variable fadeTime specifies the silence period, in msec, when transitions occur.
Type Definition
Code Block |
---|
typedef struct _ModuleMultiplexorV2 { ModuleInstanceDescriptor instance; // Common Audio Weaver module instance structure INT32 index; // Specifies which input pin to route to the output. The index is zero based. FLOAT32 smoothingTime; // Time constant of the smoothing process FLOAT32 fadeTime; // Silence time in crossfade INT32 isControl; // Indicates if the index is controlled by an external signal FLOAT32 smoothingCoeff; // Smoothing coefficient FLOAT32 oldSrcGain; // Instanteous gain being applied to the old source. This is an internal variable used in the smoothing process FLOAT32 newSrcGain; // Instanteous gain being applied to the new source. This is an internal variable used in the smoothing process INT32 fadeState; // State variable for determining when to transitioning between inputs INT32 fadeStateInit; // Derived from fadeTime, determines number of blocks to wait before switching input pins INT32 oldIndex; // This is the index that is currently being used INT32 newIndex; // This is the index being transitioned to } ModuleMultiplexorV2Class; |
Variables
Properties
Name | Type | Usage | isHidden | Default value | Range | Units |
index | int | parameter | 0 | 0 | 0:2 | |
smoothingTime | float | parameter | 0 | 10 | 0:100 | msec |
fadeTime | float | parameter | 0 | 0 | 0:100 | msec |
isControl | int | const | 1 | 1 | Unrestricted | |
smoothingCoeff | float | derived | 1 | 0.002081 | Unrestricted | |
oldSrcGain | float | state | 1 | 1 | Unrestricted | |
newSrcGain | float | state | 1 | 0 | Unrestricted | |
fadeState | int | state | 1 | 0 | Unrestricted | |
fadeStateInit | int | derived | 1 | 0 | Unrestricted | |
oldIndex | int | parameter | 1 | 0 | Unrestricted | |
newIndex | int | parameter | 1 | 0 | Unrestricted |
Pins
Input Pins
Name: Ctrl
Description: Input pin control signal
...
Complex support: Real and Complex
Output Pins
Name: out
Description: Output signal
Data type: float
MATLAB Usage
File Name: multiplexor_v2_module.m
...