linuxsampler 2.3.1
|
Engine Channel Effect Send. More...
#include <FxSend.h>
Public Member Functions | |
FxSend (EngineChannel *pEngineChannel, uint8_t MidiCtrl, String Name="") throw (Exception) | |
Constructor. | |
int | DestinationEffectChain () const |
Index of the send effect chain this FX send is routed to or -1 if FX send is not routed to a send effect. | |
int | DestinationEffectChainPosition () const |
Index of the send effect of the send effect chain given by DestinationEffectChain(), in case FX send is routed to a send effect or -1 otherwise. | |
void | SetDestinationEffect (int iChain, int iChainPos) throw (Exception) |
Route this FX send to the given send effect given by index iChainPos of the send effect chain given by iChain . | |
int | DestinationMasterEffectChain () const DEPRECATED_API |
int | DestinationMasterEffect () const DEPRECATED_API |
void | SetDestinationMasterEffect (int iChain, int iChainPos) DEPRECATED_API throw (Exception) |
int | DestinationChannel (int SrcChan) |
Returns the audio output device's audio channel to which effect send's channel SrcChan is currently routed to. | |
void | SetDestinationChannel (int SrcChan, int DstChan) throw (Exception) |
Alters the routing of an audio channel. | |
void | UpdateChannels () |
Should be called by the engine channel whenever the amount of audio channel has changed, so the FxSend object can adjust the amount of channels to that new number and establish default routings for new channels if needed. | |
float | Level () |
The effect send's current send level ( usually a value between 0.0f and 1.0f ). | |
void | SetLevel (float f) |
Alter the effect send's send level ( usually a value between 0.0f and 1.0f ). | |
void | SetLevel (uint8_t iMidiValue) |
Alter the effect send's send level by supplying the MIDI controller's MIDI value. | |
void | Reset () |
Reset send level to the default send level (i.e. | |
uint8_t | MidiController () |
Returns the MIDI controller number which can alter the effect send's send level. | |
void | SetMidiController (uint8_t MidiCtrl) throw (Exception) |
Alter the MIDI controller number which should alter the effect send's send level. | |
String | Name () |
Returns the (optional) name of this effect send entity. | |
void | SetName (String Name) |
Sets the name of this effect send entity. | |
uint | Id () |
Returns the (at least sampler-channel-) unique ID of the effect send instance. | |
bool | IsInfoChanged () |
Determines whether the effect send's settings are changed. | |
void | SetInfoChanged (bool b) |
Sets whether the effect send's settings are changed. | |
Protected Attributes | |
EngineChannel * | pEngineChannel |
int | iDestinationEffectChain |
int | iDestinationEffectChainPos |
std::vector< int > | Routing |
uint8_t | MidiFxSendController |
String | sName |
uint | iId |
float | fLevel |
bool | bInfoChanged |
Engine Channel Effect Send.
This class is used to manage effect sends on Engine Channels. An effect send is used to route sampler channel's audio signals to either sampler external effect processors (by routing the effect send to dedicated audio output channels of the sampler channel's audio output device) or to sampler internal effect processors (send effects). Each effect send entity can define an arbitrary MIDI controller number which can alter the effect send's send level.
Regarding sampler internal effects: See AudioOutputDevice regarding management of send effects, since send effects only live in the context of exactly ONE AudioOutputDevice.
Note: effect sends cannot be routed to a different AudioOutputDevice than assigned to the FxSend's EngineChannel. Also note that an effect send always has as much audio channels as its EngineChannel.
LinuxSampler::FxSend::FxSend | ( | EngineChannel * | pEngineChannel, |
uint8_t | MidiCtrl, | ||
String | Name = "" |
||
) | |||
throw | ( | Exception | |
) |
Constructor.
By default all effect send channels are routed to the last available audio channels on the EngineChannel's AudioOutputDevice.
pEngineChannel | - engine channel on which the effect send is added to |
MidiCtrl | - MIDI controller number which can alter the effect send level |
Name | - (optional) name for the effect send entity |
Exception | - in case no free ID could be found on given EngineChannel or MidiCtrl is invalid |
Returns the audio output device's audio channel to which effect send's channel SrcChan is currently routed to.
int LinuxSampler::FxSend::DestinationEffectChain | ( | ) | const |
Index of the send effect chain this FX send is routed to or -1 if FX send is not routed to a send effect.
int LinuxSampler::FxSend::DestinationEffectChainPosition | ( | ) | const |
Index of the send effect of the send effect chain given by DestinationEffectChain(), in case FX send is routed to a send effect or -1 otherwise.
This is the effect chain position, not the effect ID!
int LinuxSampler::FxSend::DestinationMasterEffect | ( | ) | const |
int LinuxSampler::FxSend::DestinationMasterEffectChain | ( | ) | const |
uint LinuxSampler::FxSend::Id | ( | ) |
Returns the (at least sampler-channel-) unique ID of the effect send instance.
This is actually not used by the engine at all. It is at the moment only used by the LSCP server to associate an unique numerical ID with each effect send entity.
bool LinuxSampler::FxSend::IsInfoChanged | ( | ) |
Determines whether the effect send's settings are changed.
float LinuxSampler::FxSend::Level | ( | ) |
The effect send's current send level ( usually a value between 0.0f
and 1.0f
).
uint8_t LinuxSampler::FxSend::MidiController | ( | ) |
Returns the MIDI controller number which can alter the effect send's send level.
String LinuxSampler::FxSend::Name | ( | ) |
Returns the (optional) name of this effect send entity.
void LinuxSampler::FxSend::Reset | ( | ) |
Reset send level to the default send level (i.e.
due to a MIDI "reset all controllers" message).
Alters the routing of an audio channel.
By default all audio channels of an effect send are routed in consecutive same order to its destination. You can use this method to change this default routing. If this effect send is routed to an internel effect, then DstChan is the input channel of that destination effect. Otherwise, if this effect send is not routed to an internal effect, then DstChan is the output channel of the sampler channel's audio output device.
SrcChan | - the effect send's source channel |
DstChan | - the audio output device's destination channel or send effect's input channel |
Exception | - in case arguments out of range |
Route this FX send to the given send effect given by index iChainPos of the send effect chain given by iChain .
If you want to remove the routing of an FX send, currently directed to a send effect processor, and want to route it directly to an audio output device channel instead, then set both arguments to -1
.
Exception | - if given effect chain or effect chain position doesn't exist |
void LinuxSampler::FxSend::SetDestinationMasterEffect | ( | int | iChain, |
int | iChainPos | ||
) | |||
throw | ( | Exception | |
) |
Sets whether the effect send's settings are changed.
Alter the effect send's send level ( usually a value between 0.0f
and 1.0f
).
Alter the effect send's send level by supplying the MIDI controller's MIDI value.
This method is usually only called by the engine channel.
Alter the MIDI controller number which should alter the effect send's send level.
MidiCtrl | - MIDI controller number |
Exception | - if MIDI controller number is invalid |
Sets the name of this effect send entity.
Name | The new name of this effect send entity. |
void LinuxSampler::FxSend::UpdateChannels | ( | ) |
Should be called by the engine channel whenever the amount of audio channel has changed, so the FxSend object can adjust the amount of channels to that new number and establish default routings for new channels if needed.
|
protected |
|
protected |
|
protected |
|
protected |