Hamonizing FX related names and add Wiki documentation

pull/495/head
Vincent GAUCHE 2 years ago
parent 7950db5f31
commit 5e1418bb08
  1. 558
      src/minidexed.cpp
  2. 114
      src/minidexed.h
  3. 4
      src/mixing_console.hpp
  4. 304
      src/uimenu.cpp
  5. 16
      src/uimenu.h
  6. BIN
      wiki-update/Chorus--Channel.png
  7. BIN
      wiki-update/Delay--Channel.png
  8. BIN
      wiki-update/Flanger--Channel.png
  9. BIN
      wiki-update/Orbitone--Channel.png
  10. BIN
      wiki-update/Phaser--Channel.png
  11. BIN
      wiki-update/PlateReverb--Channel.png
  12. BIN
      wiki-update/Reverberator--Channel.png
  13. BIN
      wiki-update/Tube--Channel.png
  14. BIN
      wiki-update/Tube--overdrive-response.png
  15. 451
      wiki-update/fx-page.md
  16. BIN
      wiki-update/mixing-console--TG-Channel.png
  17. BIN
      wiki-update/mixing-console-overview.png

@ -205,17 +205,17 @@ CMiniDexed::CMiniDexed (
this->SetParameter(TParameter::ParameterFXReverberatorDiffusion, 80); this->SetParameter(TParameter::ParameterFXReverberatorDiffusion, 80);
this->SetParameter(TParameter::ParameterFXReverberatorLP, 70); this->SetParameter(TParameter::ParameterFXReverberatorLP, 70);
// Initializes Return parameters to 0 // Initializes Send parameters to 0
size_t end = MixerOutput::kFXCount - 1; size_t end = MixerOutput::kFXCount - 1;
for(size_t ret = 0; ret < end; ++ret) for(size_t from = 0; from < end; ++from)
{ {
for(size_t fx = 0; fx < MixerOutput::kFXCount; ++fx) for(size_t toFX = 0; toFX < MixerOutput::kFXCount; ++toFX)
{ {
this->setMixingConsoleReturnLevel(static_cast<MixerOutput>(ret), static_cast<MixerOutput>(fx), 0); this->setMixingConsoleFXSendLevel(static_cast<MixerOutput>(from), static_cast<MixerOutput>(toFX), 0);
} }
} }
// Return all Reverb signal to MainOutput // Send all Reverb signal to MainOutput
this->SetParameter(TParameter::ParameterFXPlateReverb_MainOutput, 99); this->SetParameter(TParameter::ParameterFXPlateReverb_MainOutput, 99);
#elif defined(PLATE_REVERB_ENABLE) #elif defined(PLATE_REVERB_ENABLE)
@ -283,7 +283,7 @@ bool CMiniDexed::Initialize (void)
float32_t sendRev = this->m_nFXSendLevel[i][MixerOutput::FX_PlateReverb] / 99.0f; float32_t sendRev = this->m_nFXSendLevel[i][MixerOutput::FX_PlateReverb] / 99.0f;
this->mixing_console_->setSendLevel(i, MixerOutput::FX_PlateReverb, 1.0f); this->mixing_console_->setSendLevel(i, MixerOutput::FX_PlateReverb, 1.0f);
this->mixing_console_->setSendLevel(i, MixerOutput::MainOutput, 1.0f - sendRev); this->mixing_console_->setSendLevel(i, MixerOutput::MainOutput, 1.0f - sendRev);
this->mixing_console_->setReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::MainOutput, sendRev); this->mixing_console_->setSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::MainOutput, sendRev);
#elif defined(PLATE_REVERB_ENABLE) #elif defined(PLATE_REVERB_ENABLE)
@ -589,17 +589,17 @@ void CMiniDexed::setMixingConsoleSendLevel(unsigned nTG, MixerOutput fx, unsigne
this->m_UI.ParameterChanged(); this->m_UI.ParameterChanged();
} }
void CMiniDexed::setMixingConsoleReturnLevel(MixerOutput ret, MixerOutput fx, unsigned nFXReturn) void CMiniDexed::setMixingConsoleFXSendLevel(MixerOutput ret, MixerOutput fx, unsigned nFXSend)
{ {
assert (ret < (MixerOutput::kFXCount - 1)); assert (ret < (MixerOutput::kFXCount - 1));
assert (fx < MixerOutput::kFXCount); assert (fx < MixerOutput::kFXCount);
if(ret == fx) if(ret == fx)
{ {
this->mixing_console_->setReturnLevel(ret, fx, 0.0f); this->mixing_console_->setFXSendLevel(ret, fx, 0.0f);
} }
else else
{ {
this->mixing_console_->setReturnLevel(ret, fx, nFXReturn / 99.0f); this->mixing_console_->setFXSendLevel(ret, fx, nFXSend / 99.0f);
} }
} }
@ -1032,403 +1032,403 @@ void CMiniDexed::SetParameter (TParameter Parameter, int nValue)
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
// Tube Return parameters // Tube Send parameters
case TParameter::ParameterFXTube_ChorusReturn: case TParameter::ParameterFXTube_ChorusSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Chorus, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Chorus, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXTube_FlangerReturn: case TParameter::ParameterFXTube_FlangerSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Flanger, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Flanger, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXTube_OrbitoneReturn: case TParameter::ParameterFXTube_OrbitoneSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Orbitone, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Orbitone, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXTube_PhaserReturn: case TParameter::ParameterFXTube_PhaserSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Phaser, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Phaser, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXTube_DelayReturn: case TParameter::ParameterFXTube_DelaySend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Delay, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Delay, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXTube_PlateReverbReturn: case TParameter::ParameterFXTube_PlateReverbSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_PlateReverb, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_PlateReverb, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXTube_ReverberatorReturn: case TParameter::ParameterFXTube_ReverberatorSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Reverberator, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Reverberator, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXTube_MainOutput: case TParameter::ParameterFXTube_MainOutput:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Tube, MixerOutput::MainOutput, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Tube, MixerOutput::MainOutput, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
// Chorus Return parameters // Chorus Send parameters
case TParameter::ParameterFXChorus_TubeReturn: case TParameter::ParameterFXChorus_TubeSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Tube, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Tube, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXChorus_FlangerReturn: case TParameter::ParameterFXChorus_FlangerSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Flanger, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Flanger, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXChorus_OrbitoneReturn: case TParameter::ParameterFXChorus_OrbitoneSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Orbitone, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Orbitone, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXChorus_PhaserReturn: case TParameter::ParameterFXChorus_PhaserSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Phaser, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Phaser, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXChorus_DelayReturn: case TParameter::ParameterFXChorus_DelaySend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Delay, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Delay, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXChorus_PlateReverbReturn: case TParameter::ParameterFXChorus_PlateReverbSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_PlateReverb, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_PlateReverb, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXChorus_ReverberatorReturn: case TParameter::ParameterFXChorus_ReverberatorSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Reverberator, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Reverberator, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXChorus_MainOutput: case TParameter::ParameterFXChorus_MainOutput:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Chorus, MixerOutput::MainOutput, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::MainOutput, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
// Flanger Return parameters // Flanger Send parameters
case TParameter::ParameterFXFlanger_TubeReturn: case TParameter::ParameterFXFlanger_TubeSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Tube, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Tube, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXFlanger_ChorusReturn: case TParameter::ParameterFXFlanger_ChorusSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Chorus, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Chorus, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXFlanger_OrbitoneReturn: case TParameter::ParameterFXFlanger_OrbitoneSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Orbitone, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Orbitone, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXFlanger_PhaserReturn: case TParameter::ParameterFXFlanger_PhaserSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Phaser, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Phaser, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXFlanger_DelayReturn: case TParameter::ParameterFXFlanger_DelaySend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Delay, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Delay, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXFlanger_PlateReverbReturn: case TParameter::ParameterFXFlanger_PlateReverbSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_PlateReverb, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_PlateReverb, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXFlanger_ReverberatorReturn: case TParameter::ParameterFXFlanger_ReverberatorSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Reverberator, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Reverberator, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXFlanger_MainOutput: case TParameter::ParameterFXFlanger_MainOutput:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Flanger, MixerOutput::MainOutput, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::MainOutput, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
// Orbitone Return parameters // Orbitone Send parameters
case TParameter::ParameterFXOrbitone_TubeReturn: case TParameter::ParameterFXOrbitone_TubeSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Tube, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Tube, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXOrbitone_ChorusReturn: case TParameter::ParameterFXOrbitone_ChorusSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Chorus, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Chorus, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXOrbitone_FlangerReturn: case TParameter::ParameterFXOrbitone_FlangerSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Flanger, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Flanger, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXOrbitone_PhaserReturn: case TParameter::ParameterFXOrbitone_PhaserSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Phaser, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Phaser, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXOrbitone_DelayReturn: case TParameter::ParameterFXOrbitone_DelaySend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Delay, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Delay, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXOrbitone_PlateReverbReturn: case TParameter::ParameterFXOrbitone_PlateReverbSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_PlateReverb, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_PlateReverb, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXOrbitone_ReverberatorReturn: case TParameter::ParameterFXOrbitone_ReverberatorSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Reverberator, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Reverberator, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXOrbitone_MainOutput: case TParameter::ParameterFXOrbitone_MainOutput:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::MainOutput, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::MainOutput, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
// Phaser Return parameters // Phaser Send parameters
case TParameter::ParameterFXPhaser_TubeReturn: case TParameter::ParameterFXPhaser_TubeSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Tube, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Tube, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXPhaser_ChorusReturn: case TParameter::ParameterFXPhaser_ChorusSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Chorus, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Chorus, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXPhaser_FlangerReturn: case TParameter::ParameterFXPhaser_FlangerSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Flanger, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Flanger, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXPhaser_OrbitoneReturn: case TParameter::ParameterFXPhaser_OrbitoneSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Orbitone, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Orbitone, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXPhaser_DelayReturn: case TParameter::ParameterFXPhaser_DelaySend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Delay, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Delay, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXPhaser_PlateReverbReturn: case TParameter::ParameterFXPhaser_PlateReverbSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_PlateReverb, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_PlateReverb, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXPhaser_ReverberatorReturn: case TParameter::ParameterFXPhaser_ReverberatorSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Reverberator, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Reverberator, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXPhaser_MainOutput: case TParameter::ParameterFXPhaser_MainOutput:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Phaser, MixerOutput::MainOutput, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::MainOutput, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
// Delay Return parameters // Delay Send parameters
case TParameter::ParameterFXDelay_TubeReturn: case TParameter::ParameterFXDelay_TubeSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Tube, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Tube, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXDelay_ChorusReturn: case TParameter::ParameterFXDelay_ChorusSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Chorus, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Chorus, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXDelay_FlangerReturn: case TParameter::ParameterFXDelay_FlangerSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Flanger, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Flanger, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXDelay_OrbitoneReturn: case TParameter::ParameterFXDelay_OrbitoneSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Orbitone, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Orbitone, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXDelay_PhaserReturn: case TParameter::ParameterFXDelay_PhaserSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Phaser, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Phaser, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXDelay_PlateReverbReturn: case TParameter::ParameterFXDelay_PlateReverbSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_PlateReverb, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_PlateReverb, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXDelay_ReverberatorReturn: case TParameter::ParameterFXDelay_ReverberatorSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Reverberator, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Reverberator, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXDelay_MainOutput: case TParameter::ParameterFXDelay_MainOutput:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Delay, MixerOutput::MainOutput, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Delay, MixerOutput::MainOutput, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
// Reverb Return parameters // Reverb Send parameters
case TParameter::ParameterFXPlateReverb_TubeReturn: case TParameter::ParameterFXPlateReverb_TubeSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Tube, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Tube, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXPlateReverb_ChorusReturn: case TParameter::ParameterFXPlateReverb_ChorusSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Chorus, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Chorus, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXPlateReverb_FlangerReturn: case TParameter::ParameterFXPlateReverb_FlangerSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Flanger, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Flanger, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXPlateReverb_OrbitoneReturn: case TParameter::ParameterFXPlateReverb_OrbitoneSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Orbitone, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Orbitone, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXPlateReverb_PhaserReturn: case TParameter::ParameterFXPlateReverb_PhaserSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Phaser, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Phaser, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXPlateReverb_DelayReturn: case TParameter::ParameterFXPlateReverb_DelaySend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Delay, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Delay, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXPlateReverb_ReverberatorReturn: case TParameter::ParameterFXPlateReverb_ReverberatorSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Reverberator, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Reverberator, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXPlateReverb_MainOutput: case TParameter::ParameterFXPlateReverb_MainOutput:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::MainOutput, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::MainOutput, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
// Reverberator Return parameters // Reverberator Send parameters
case TParameter::ParameterFXReverberator_TubeReturn: case TParameter::ParameterFXReverberator_TubeSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Tube, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Tube, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXReverberator_ChorusReturn: case TParameter::ParameterFXReverberator_ChorusSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Chorus, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Chorus, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXReverberator_FlangerReturn: case TParameter::ParameterFXReverberator_FlangerSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Flanger, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Flanger, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXReverberator_OrbitoneReturn: case TParameter::ParameterFXReverberator_OrbitoneSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Orbitone, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Orbitone, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXReverberator_PhaserReturn: case TParameter::ParameterFXReverberator_PhaserSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Phaser, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Phaser, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXReverberator_DelayReturn: case TParameter::ParameterFXReverberator_DelaySend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Delay, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Delay, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXReverberator_PlateReverbReturn: case TParameter::ParameterFXReverberator_PlateReverbSend:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_PlateReverb, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_PlateReverb, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
case TParameter::ParameterFXReverberator_MainOutput: case TParameter::ParameterFXReverberator_MainOutput:
nValue = constrain((int)nValue, 0, 99); nValue = constrain((int)nValue, 0, 99);
this->m_FXSpinLock.Acquire(); this->m_FXSpinLock.Acquire();
this->setMixingConsoleReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::MainOutput, nValue); this->setMixingConsoleFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::MainOutput, nValue);
this->m_FXSpinLock.Release(); this->m_FXSpinLock.Release();
break; break;
@ -1989,77 +1989,77 @@ bool CMiniDexed::DoSavePerformance (void)
this->m_PerformanceConfig.SetFXReverberatorDiffusion(this->m_nParameter[ParameterFXReverberatorDiffusion]); this->m_PerformanceConfig.SetFXReverberatorDiffusion(this->m_nParameter[ParameterFXReverberatorDiffusion]);
this->m_PerformanceConfig.SetFXReverberatorLP(this->m_nParameter[ParameterFXReverberatorLP]); this->m_PerformanceConfig.SetFXReverberatorLP(this->m_nParameter[ParameterFXReverberatorLP]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Chorus, this->m_nParameter[TParameter::ParameterFXTube_ChorusReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Chorus, this->m_nParameter[TParameter::ParameterFXTube_ChorusSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Flanger, this->m_nParameter[TParameter::ParameterFXTube_FlangerReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Flanger, this->m_nParameter[TParameter::ParameterFXTube_FlangerSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Orbitone, this->m_nParameter[TParameter::ParameterFXTube_OrbitoneReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Orbitone, this->m_nParameter[TParameter::ParameterFXTube_OrbitoneSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Phaser, this->m_nParameter[TParameter::ParameterFXTube_PhaserReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Phaser, this->m_nParameter[TParameter::ParameterFXTube_PhaserSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Delay, this->m_nParameter[TParameter::ParameterFXTube_DelayReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Delay, this->m_nParameter[TParameter::ParameterFXTube_DelaySend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_PlateReverb, this->m_nParameter[TParameter::ParameterFXTube_PlateReverbReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_PlateReverb, this->m_nParameter[TParameter::ParameterFXTube_PlateReverbSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Reverberator, this->m_nParameter[TParameter::ParameterFXTube_ReverberatorReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Reverberator, this->m_nParameter[TParameter::ParameterFXTube_ReverberatorSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Tube, MixerOutput::MainOutput, this->m_nParameter[TParameter::ParameterFXTube_MainOutput]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Tube, MixerOutput::MainOutput, this->m_nParameter[TParameter::ParameterFXTube_MainOutput]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Tube, this->m_nParameter[TParameter::ParameterFXChorus_TubeReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Tube, this->m_nParameter[TParameter::ParameterFXChorus_TubeSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Flanger, this->m_nParameter[TParameter::ParameterFXChorus_FlangerReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Flanger, this->m_nParameter[TParameter::ParameterFXChorus_FlangerSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Orbitone, this->m_nParameter[TParameter::ParameterFXChorus_OrbitoneReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Orbitone, this->m_nParameter[TParameter::ParameterFXChorus_OrbitoneSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Phaser, this->m_nParameter[TParameter::ParameterFXChorus_PhaserReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Phaser, this->m_nParameter[TParameter::ParameterFXChorus_PhaserSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Delay, this->m_nParameter[TParameter::ParameterFXChorus_DelayReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Delay, this->m_nParameter[TParameter::ParameterFXChorus_DelaySend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_PlateReverb, this->m_nParameter[TParameter::ParameterFXChorus_PlateReverbReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_PlateReverb, this->m_nParameter[TParameter::ParameterFXChorus_PlateReverbSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Reverberator, this->m_nParameter[TParameter::ParameterFXChorus_ReverberatorReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Reverberator, this->m_nParameter[TParameter::ParameterFXChorus_ReverberatorSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Chorus, MixerOutput::MainOutput, this->m_nParameter[TParameter::ParameterFXChorus_MainOutput]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::MainOutput, this->m_nParameter[TParameter::ParameterFXChorus_MainOutput]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Tube, this->m_nParameter[TParameter::ParameterFXFlanger_TubeReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Tube, this->m_nParameter[TParameter::ParameterFXFlanger_TubeSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Chorus, this->m_nParameter[TParameter::ParameterFXFlanger_ChorusReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Chorus, this->m_nParameter[TParameter::ParameterFXFlanger_ChorusSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Orbitone, this->m_nParameter[TParameter::ParameterFXFlanger_OrbitoneReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Orbitone, this->m_nParameter[TParameter::ParameterFXFlanger_OrbitoneSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Phaser, this->m_nParameter[TParameter::ParameterFXFlanger_PhaserReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Phaser, this->m_nParameter[TParameter::ParameterFXFlanger_PhaserSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Delay, this->m_nParameter[TParameter::ParameterFXFlanger_DelayReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Delay, this->m_nParameter[TParameter::ParameterFXFlanger_DelaySend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_PlateReverb, this->m_nParameter[TParameter::ParameterFXFlanger_PlateReverbReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_PlateReverb, this->m_nParameter[TParameter::ParameterFXFlanger_PlateReverbSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Reverberator, this->m_nParameter[TParameter::ParameterFXFlanger_ReverberatorReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Reverberator, this->m_nParameter[TParameter::ParameterFXFlanger_ReverberatorSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Flanger, MixerOutput::MainOutput, this->m_nParameter[TParameter::ParameterFXFlanger_MainOutput]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::MainOutput, this->m_nParameter[TParameter::ParameterFXFlanger_MainOutput]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Tube, this->m_nParameter[TParameter::ParameterFXOrbitone_TubeReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Tube, this->m_nParameter[TParameter::ParameterFXOrbitone_TubeSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Chorus, this->m_nParameter[TParameter::ParameterFXOrbitone_ChorusReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Chorus, this->m_nParameter[TParameter::ParameterFXOrbitone_ChorusSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Flanger, this->m_nParameter[TParameter::ParameterFXOrbitone_FlangerReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Flanger, this->m_nParameter[TParameter::ParameterFXOrbitone_FlangerSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Phaser, this->m_nParameter[TParameter::ParameterFXOrbitone_PhaserReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Phaser, this->m_nParameter[TParameter::ParameterFXOrbitone_PhaserSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Delay, this->m_nParameter[TParameter::ParameterFXOrbitone_DelayReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Delay, this->m_nParameter[TParameter::ParameterFXOrbitone_DelaySend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_PlateReverb, this->m_nParameter[TParameter::ParameterFXOrbitone_PlateReverbReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_PlateReverb, this->m_nParameter[TParameter::ParameterFXOrbitone_PlateReverbSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Reverberator, this->m_nParameter[TParameter::ParameterFXOrbitone_ReverberatorReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Reverberator, this->m_nParameter[TParameter::ParameterFXOrbitone_ReverberatorSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::MainOutput, this->m_nParameter[TParameter::ParameterFXOrbitone_MainOutput]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::MainOutput, this->m_nParameter[TParameter::ParameterFXOrbitone_MainOutput]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Tube, this->m_nParameter[TParameter::ParameterFXPhaser_TubeReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Tube, this->m_nParameter[TParameter::ParameterFXPhaser_TubeSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Chorus, this->m_nParameter[TParameter::ParameterFXPhaser_ChorusReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Chorus, this->m_nParameter[TParameter::ParameterFXPhaser_ChorusSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Flanger, this->m_nParameter[TParameter::ParameterFXPhaser_FlangerReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Flanger, this->m_nParameter[TParameter::ParameterFXPhaser_FlangerSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Orbitone, this->m_nParameter[TParameter::ParameterFXPhaser_OrbitoneReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Orbitone, this->m_nParameter[TParameter::ParameterFXPhaser_OrbitoneSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Delay, this->m_nParameter[TParameter::ParameterFXPhaser_DelayReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Delay, this->m_nParameter[TParameter::ParameterFXPhaser_DelaySend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_PlateReverb, this->m_nParameter[TParameter::ParameterFXPhaser_PlateReverbReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_PlateReverb, this->m_nParameter[TParameter::ParameterFXPhaser_PlateReverbSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Reverberator, this->m_nParameter[TParameter::ParameterFXPhaser_ReverberatorReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Reverberator, this->m_nParameter[TParameter::ParameterFXPhaser_ReverberatorSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Phaser, MixerOutput::MainOutput, this->m_nParameter[TParameter::ParameterFXPhaser_MainOutput]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::MainOutput, this->m_nParameter[TParameter::ParameterFXPhaser_MainOutput]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Tube, this->m_nParameter[TParameter::ParameterFXDelay_TubeReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Tube, this->m_nParameter[TParameter::ParameterFXDelay_TubeSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Chorus, this->m_nParameter[TParameter::ParameterFXDelay_ChorusReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Chorus, this->m_nParameter[TParameter::ParameterFXDelay_ChorusSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Flanger, this->m_nParameter[TParameter::ParameterFXDelay_FlangerReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Flanger, this->m_nParameter[TParameter::ParameterFXDelay_FlangerSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Orbitone, this->m_nParameter[TParameter::ParameterFXDelay_OrbitoneReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Orbitone, this->m_nParameter[TParameter::ParameterFXDelay_OrbitoneSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Phaser, this->m_nParameter[TParameter::ParameterFXDelay_PhaserReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Phaser, this->m_nParameter[TParameter::ParameterFXDelay_PhaserSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_PlateReverb, this->m_nParameter[TParameter::ParameterFXDelay_PlateReverbReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_PlateReverb, this->m_nParameter[TParameter::ParameterFXDelay_PlateReverbSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Reverberator, this->m_nParameter[TParameter::ParameterFXDelay_ReverberatorReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Reverberator, this->m_nParameter[TParameter::ParameterFXDelay_ReverberatorSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Delay, MixerOutput::MainOutput, this->m_nParameter[TParameter::ParameterFXDelay_MainOutput]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Delay, MixerOutput::MainOutput, this->m_nParameter[TParameter::ParameterFXDelay_MainOutput]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Tube, this->m_nParameter[TParameter::ParameterFXPlateReverb_TubeReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Tube, this->m_nParameter[TParameter::ParameterFXPlateReverb_TubeSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Chorus, this->m_nParameter[TParameter::ParameterFXPlateReverb_ChorusReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Chorus, this->m_nParameter[TParameter::ParameterFXPlateReverb_ChorusSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Flanger, this->m_nParameter[TParameter::ParameterFXPlateReverb_FlangerReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Flanger, this->m_nParameter[TParameter::ParameterFXPlateReverb_FlangerSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Orbitone, this->m_nParameter[TParameter::ParameterFXPlateReverb_OrbitoneReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Orbitone, this->m_nParameter[TParameter::ParameterFXPlateReverb_OrbitoneSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Phaser, this->m_nParameter[TParameter::ParameterFXPlateReverb_PhaserReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Phaser, this->m_nParameter[TParameter::ParameterFXPlateReverb_PhaserSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Delay, this->m_nParameter[TParameter::ParameterFXPlateReverb_DelayReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Delay, this->m_nParameter[TParameter::ParameterFXPlateReverb_DelaySend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Reverberator, this->m_nParameter[TParameter::ParameterFXPlateReverb_ReverberatorReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Reverberator, this->m_nParameter[TParameter::ParameterFXPlateReverb_ReverberatorSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::MainOutput, this->m_nParameter[TParameter::ParameterFXPlateReverb_MainOutput]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::MainOutput, this->m_nParameter[TParameter::ParameterFXPlateReverb_MainOutput]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Tube, this->m_nParameter[TParameter::ParameterFXReverberator_TubeReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Tube, this->m_nParameter[TParameter::ParameterFXReverberator_TubeSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Chorus, this->m_nParameter[TParameter::ParameterFXReverberator_ChorusReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Chorus, this->m_nParameter[TParameter::ParameterFXReverberator_ChorusSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Flanger, this->m_nParameter[TParameter::ParameterFXReverberator_FlangerReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Flanger, this->m_nParameter[TParameter::ParameterFXReverberator_FlangerSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Orbitone, this->m_nParameter[TParameter::ParameterFXReverberator_OrbitoneReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Orbitone, this->m_nParameter[TParameter::ParameterFXReverberator_OrbitoneSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Phaser, this->m_nParameter[TParameter::ParameterFXReverberator_PhaserReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Phaser, this->m_nParameter[TParameter::ParameterFXReverberator_PhaserSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Delay, this->m_nParameter[TParameter::ParameterFXReverberator_DelayReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Delay, this->m_nParameter[TParameter::ParameterFXReverberator_DelaySend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_PlateReverb, this->m_nParameter[TParameter::ParameterFXReverberator_PlateReverbReturn]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_PlateReverb, this->m_nParameter[TParameter::ParameterFXReverberator_PlateReverbSend]);
this->m_PerformanceConfig.SetFXReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::MainOutput, this->m_nParameter[TParameter::ParameterFXReverberator_MainOutput]); this->m_PerformanceConfig.SetFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::MainOutput, this->m_nParameter[TParameter::ParameterFXReverberator_MainOutput]);
#endif #endif
@ -2477,77 +2477,77 @@ void CMiniDexed::LoadPerformanceParameters(void)
this->SetParameter(TParameter::ParameterFXReverberatorDiffusion, this->m_PerformanceConfig.GetFXReverberatorDiffusion()); this->SetParameter(TParameter::ParameterFXReverberatorDiffusion, this->m_PerformanceConfig.GetFXReverberatorDiffusion());
this->SetParameter(TParameter::ParameterFXReverberatorLP, this->m_PerformanceConfig.GetFXReverberatorLP()); this->SetParameter(TParameter::ParameterFXReverberatorLP, this->m_PerformanceConfig.GetFXReverberatorLP());
this->SetParameter(TParameter::ParameterFXTube_ChorusReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Chorus)); this->SetParameter(TParameter::ParameterFXTube_ChorusSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Chorus));
this->SetParameter(TParameter::ParameterFXTube_FlangerReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Flanger)); this->SetParameter(TParameter::ParameterFXTube_FlangerSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Flanger));
this->SetParameter(TParameter::ParameterFXTube_OrbitoneReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Orbitone)); this->SetParameter(TParameter::ParameterFXTube_OrbitoneSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Orbitone));
this->SetParameter(TParameter::ParameterFXTube_PhaserReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Phaser)); this->SetParameter(TParameter::ParameterFXTube_PhaserSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Phaser));
this->SetParameter(TParameter::ParameterFXTube_DelayReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Delay)); this->SetParameter(TParameter::ParameterFXTube_DelaySend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Delay));
this->SetParameter(TParameter::ParameterFXTube_PlateReverbReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_PlateReverb)); this->SetParameter(TParameter::ParameterFXTube_PlateReverbSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_PlateReverb));
this->SetParameter(TParameter::ParameterFXTube_ReverberatorReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Tube, MixerOutput::FX_Reverberator)); this->SetParameter(TParameter::ParameterFXTube_ReverberatorSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Tube, MixerOutput::FX_Reverberator));
this->SetParameter(TParameter::ParameterFXTube_MainOutput, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Tube, MixerOutput::MainOutput)); this->SetParameter(TParameter::ParameterFXTube_MainOutput, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Tube, MixerOutput::MainOutput));
this->SetParameter(TParameter::ParameterFXChorus_TubeReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Tube)); this->SetParameter(TParameter::ParameterFXChorus_TubeSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Tube));
this->SetParameter(TParameter::ParameterFXChorus_FlangerReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Flanger)); this->SetParameter(TParameter::ParameterFXChorus_FlangerSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Flanger));
this->SetParameter(TParameter::ParameterFXChorus_OrbitoneReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Orbitone)); this->SetParameter(TParameter::ParameterFXChorus_OrbitoneSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Orbitone));
this->SetParameter(TParameter::ParameterFXChorus_PhaserReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Phaser)); this->SetParameter(TParameter::ParameterFXChorus_PhaserSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Phaser));
this->SetParameter(TParameter::ParameterFXChorus_DelayReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Delay)); this->SetParameter(TParameter::ParameterFXChorus_DelaySend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Delay));
this->SetParameter(TParameter::ParameterFXChorus_PlateReverbReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_PlateReverb)); this->SetParameter(TParameter::ParameterFXChorus_PlateReverbSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_PlateReverb));
this->SetParameter(TParameter::ParameterFXChorus_ReverberatorReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Reverberator)); this->SetParameter(TParameter::ParameterFXChorus_ReverberatorSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::FX_Reverberator));
this->SetParameter(TParameter::ParameterFXChorus_MainOutput, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Chorus, MixerOutput::MainOutput)); this->SetParameter(TParameter::ParameterFXChorus_MainOutput, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Chorus, MixerOutput::MainOutput));
this->SetParameter(TParameter::ParameterFXFlanger_TubeReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Tube)); this->SetParameter(TParameter::ParameterFXFlanger_TubeSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Tube));
this->SetParameter(TParameter::ParameterFXFlanger_ChorusReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Chorus)); this->SetParameter(TParameter::ParameterFXFlanger_ChorusSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Chorus));
this->SetParameter(TParameter::ParameterFXFlanger_OrbitoneReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Orbitone)); this->SetParameter(TParameter::ParameterFXFlanger_OrbitoneSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Orbitone));
this->SetParameter(TParameter::ParameterFXFlanger_PhaserReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Phaser)); this->SetParameter(TParameter::ParameterFXFlanger_PhaserSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Phaser));
this->SetParameter(TParameter::ParameterFXFlanger_DelayReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Delay)); this->SetParameter(TParameter::ParameterFXFlanger_DelaySend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Delay));
this->SetParameter(TParameter::ParameterFXFlanger_PlateReverbReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_PlateReverb)); this->SetParameter(TParameter::ParameterFXFlanger_PlateReverbSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_PlateReverb));
this->SetParameter(TParameter::ParameterFXFlanger_ReverberatorReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Reverberator)); this->SetParameter(TParameter::ParameterFXFlanger_ReverberatorSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::FX_Reverberator));
this->SetParameter(TParameter::ParameterFXFlanger_MainOutput, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Flanger, MixerOutput::MainOutput)); this->SetParameter(TParameter::ParameterFXFlanger_MainOutput, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Flanger, MixerOutput::MainOutput));
this->SetParameter(TParameter::ParameterFXOrbitone_TubeReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Tube)); this->SetParameter(TParameter::ParameterFXOrbitone_TubeSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Tube));
this->SetParameter(TParameter::ParameterFXOrbitone_ChorusReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Chorus)); this->SetParameter(TParameter::ParameterFXOrbitone_ChorusSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Chorus));
this->SetParameter(TParameter::ParameterFXOrbitone_FlangerReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Flanger)); this->SetParameter(TParameter::ParameterFXOrbitone_FlangerSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Flanger));
this->SetParameter(TParameter::ParameterFXOrbitone_PhaserReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Phaser)); this->SetParameter(TParameter::ParameterFXOrbitone_PhaserSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Phaser));
this->SetParameter(TParameter::ParameterFXOrbitone_DelayReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Delay)); this->SetParameter(TParameter::ParameterFXOrbitone_DelaySend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Delay));
this->SetParameter(TParameter::ParameterFXOrbitone_PlateReverbReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_PlateReverb)); this->SetParameter(TParameter::ParameterFXOrbitone_PlateReverbSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_PlateReverb));
this->SetParameter(TParameter::ParameterFXOrbitone_ReverberatorReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Reverberator)); this->SetParameter(TParameter::ParameterFXOrbitone_ReverberatorSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::FX_Reverberator));
this->SetParameter(TParameter::ParameterFXOrbitone_MainOutput, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Orbitone, MixerOutput::MainOutput)); this->SetParameter(TParameter::ParameterFXOrbitone_MainOutput, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Orbitone, MixerOutput::MainOutput));
this->SetParameter(TParameter::ParameterFXPhaser_TubeReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Tube)); this->SetParameter(TParameter::ParameterFXPhaser_TubeSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Tube));
this->SetParameter(TParameter::ParameterFXPhaser_ChorusReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Chorus)); this->SetParameter(TParameter::ParameterFXPhaser_ChorusSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Chorus));
this->SetParameter(TParameter::ParameterFXPhaser_FlangerReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Flanger)); this->SetParameter(TParameter::ParameterFXPhaser_FlangerSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Flanger));
this->SetParameter(TParameter::ParameterFXPhaser_OrbitoneReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Orbitone)); this->SetParameter(TParameter::ParameterFXPhaser_OrbitoneSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Orbitone));
this->SetParameter(TParameter::ParameterFXPhaser_DelayReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Delay)); this->SetParameter(TParameter::ParameterFXPhaser_DelaySend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Delay));
this->SetParameter(TParameter::ParameterFXPhaser_PlateReverbReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_PlateReverb)); this->SetParameter(TParameter::ParameterFXPhaser_PlateReverbSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_PlateReverb));
this->SetParameter(TParameter::ParameterFXPhaser_ReverberatorReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Reverberator)); this->SetParameter(TParameter::ParameterFXPhaser_ReverberatorSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::FX_Reverberator));
this->SetParameter(TParameter::ParameterFXPhaser_MainOutput, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Phaser, MixerOutput::MainOutput)); this->SetParameter(TParameter::ParameterFXPhaser_MainOutput, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Phaser, MixerOutput::MainOutput));
this->SetParameter(TParameter::ParameterFXDelay_TubeReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Tube)); this->SetParameter(TParameter::ParameterFXDelay_TubeSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Tube));
this->SetParameter(TParameter::ParameterFXDelay_ChorusReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Chorus)); this->SetParameter(TParameter::ParameterFXDelay_ChorusSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Chorus));
this->SetParameter(TParameter::ParameterFXDelay_FlangerReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Flanger)); this->SetParameter(TParameter::ParameterFXDelay_FlangerSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Flanger));
this->SetParameter(TParameter::ParameterFXDelay_OrbitoneReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Orbitone)); this->SetParameter(TParameter::ParameterFXDelay_OrbitoneSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Orbitone));
this->SetParameter(TParameter::ParameterFXDelay_PhaserReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Phaser)); this->SetParameter(TParameter::ParameterFXDelay_PhaserSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Phaser));
this->SetParameter(TParameter::ParameterFXDelay_PlateReverbReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_PlateReverb)); this->SetParameter(TParameter::ParameterFXDelay_PlateReverbSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_PlateReverb));
this->SetParameter(TParameter::ParameterFXDelay_ReverberatorReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Delay, MixerOutput::FX_Reverberator)); this->SetParameter(TParameter::ParameterFXDelay_ReverberatorSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Delay, MixerOutput::FX_Reverberator));
this->SetParameter(TParameter::ParameterFXDelay_MainOutput, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Delay, MixerOutput::MainOutput)); this->SetParameter(TParameter::ParameterFXDelay_MainOutput, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Delay, MixerOutput::MainOutput));
this->SetParameter(TParameter::ParameterFXPlateReverb_TubeReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Tube)); this->SetParameter(TParameter::ParameterFXPlateReverb_TubeSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Tube));
this->SetParameter(TParameter::ParameterFXPlateReverb_ChorusReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Chorus)); this->SetParameter(TParameter::ParameterFXPlateReverb_ChorusSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Chorus));
this->SetParameter(TParameter::ParameterFXPlateReverb_FlangerReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Flanger)); this->SetParameter(TParameter::ParameterFXPlateReverb_FlangerSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Flanger));
this->SetParameter(TParameter::ParameterFXPlateReverb_OrbitoneReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Orbitone)); this->SetParameter(TParameter::ParameterFXPlateReverb_OrbitoneSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Orbitone));
this->SetParameter(TParameter::ParameterFXPlateReverb_PhaserReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Phaser)); this->SetParameter(TParameter::ParameterFXPlateReverb_PhaserSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Phaser));
this->SetParameter(TParameter::ParameterFXPlateReverb_DelayReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Delay)); this->SetParameter(TParameter::ParameterFXPlateReverb_DelaySend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Delay));
this->SetParameter(TParameter::ParameterFXPlateReverb_ReverberatorReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Reverberator)); this->SetParameter(TParameter::ParameterFXPlateReverb_ReverberatorSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::FX_Reverberator));
this->SetParameter(TParameter::ParameterFXPlateReverb_MainOutput, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_PlateReverb, MixerOutput::MainOutput)); this->SetParameter(TParameter::ParameterFXPlateReverb_MainOutput, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_PlateReverb, MixerOutput::MainOutput));
this->SetParameter(TParameter::ParameterFXReverberator_TubeReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Tube)); this->SetParameter(TParameter::ParameterFXReverberator_TubeSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Tube));
this->SetParameter(TParameter::ParameterFXReverberator_ChorusReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Chorus)); this->SetParameter(TParameter::ParameterFXReverberator_ChorusSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Chorus));
this->SetParameter(TParameter::ParameterFXReverberator_FlangerReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Flanger)); this->SetParameter(TParameter::ParameterFXReverberator_FlangerSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Flanger));
this->SetParameter(TParameter::ParameterFXReverberator_OrbitoneReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Orbitone)); this->SetParameter(TParameter::ParameterFXReverberator_OrbitoneSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Orbitone));
this->SetParameter(TParameter::ParameterFXReverberator_PhaserReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Phaser)); this->SetParameter(TParameter::ParameterFXReverberator_PhaserSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Phaser));
this->SetParameter(TParameter::ParameterFXReverberator_DelayReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Delay)); this->SetParameter(TParameter::ParameterFXReverberator_DelaySend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_Delay));
this->SetParameter(TParameter::ParameterFXReverberator_PlateReverbReturn, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_PlateReverb)); this->SetParameter(TParameter::ParameterFXReverberator_PlateReverbSend, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::FX_PlateReverb));
this->SetParameter(TParameter::ParameterFXReverberator_MainOutput, this->m_PerformanceConfig.GetFXReturnLevel(MixerOutput::FX_Reverberator, MixerOutput::MainOutput)); this->SetParameter(TParameter::ParameterFXReverberator_MainOutput, this->m_PerformanceConfig.GetFXSendLevel(MixerOutput::FX_Reverberator, MixerOutput::MainOutput));
#endif #endif
} }

@ -103,7 +103,7 @@ public:
#if defined(MIXING_CONSOLE_ENABLE) #if defined(MIXING_CONSOLE_ENABLE)
unsigned getMixingConsoleSendLevel(unsigned nTG, MixerOutput fx) const; unsigned getMixingConsoleSendLevel(unsigned nTG, MixerOutput fx) const;
void setMixingConsoleSendLevel(unsigned nTG, MixerOutput fx, unsigned nFXSend); void setMixingConsoleSendLevel(unsigned nTG, MixerOutput fx, unsigned nFXSend);
void setMixingConsoleReturnLevel(MixerOutput ret, MixerOutput fx, unsigned nFXReturn); void setMixingConsoleFXSendLevel(MixerOutput ret, MixerOutput fx, unsigned nFXReturn);
#elif defined(PLATE_REVERB_ENABLE) #elif defined(PLATE_REVERB_ENABLE)
void SetReverbSend (unsigned nReverbSend, unsigned nTG); // 0 .. 127 void SetReverbSend (unsigned nReverbSend, unsigned nTG); // 0 .. 127
#endif #endif
@ -206,83 +206,83 @@ public:
ParameterFXReverberatorLP, ParameterFXReverberatorLP,
// Tube Return parameters // Tube Return parameters
ParameterFXTube_ChorusReturn, ParameterFXTube_ChorusSend,
ParameterFXTube_FlangerReturn, ParameterFXTube_FlangerSend,
ParameterFXTube_OrbitoneReturn, ParameterFXTube_OrbitoneSend,
ParameterFXTube_PhaserReturn, ParameterFXTube_PhaserSend,
ParameterFXTube_DelayReturn, ParameterFXTube_DelaySend,
ParameterFXTube_PlateReverbReturn, ParameterFXTube_PlateReverbSend,
ParameterFXTube_ReverberatorReturn, ParameterFXTube_ReverberatorSend,
ParameterFXTube_MainOutput, ParameterFXTube_MainOutput,
// Chorus Return parameters // Chorus Return parameters
ParameterFXChorus_TubeReturn, ParameterFXChorus_TubeSend,
ParameterFXChorus_FlangerReturn, ParameterFXChorus_FlangerSend,
ParameterFXChorus_OrbitoneReturn, ParameterFXChorus_OrbitoneSend,
ParameterFXChorus_PhaserReturn, ParameterFXChorus_PhaserSend,
ParameterFXChorus_DelayReturn, ParameterFXChorus_DelaySend,
ParameterFXChorus_PlateReverbReturn, ParameterFXChorus_PlateReverbSend,
ParameterFXChorus_ReverberatorReturn, ParameterFXChorus_ReverberatorSend,
ParameterFXChorus_MainOutput, ParameterFXChorus_MainOutput,
// Flanger Return parameters // Flanger Return parameters
ParameterFXFlanger_TubeReturn, ParameterFXFlanger_TubeSend,
ParameterFXFlanger_ChorusReturn, ParameterFXFlanger_ChorusSend,
ParameterFXFlanger_OrbitoneReturn, ParameterFXFlanger_OrbitoneSend,
ParameterFXFlanger_PhaserReturn, ParameterFXFlanger_PhaserSend,
ParameterFXFlanger_DelayReturn, ParameterFXFlanger_DelaySend,
ParameterFXFlanger_PlateReverbReturn, ParameterFXFlanger_PlateReverbSend,
ParameterFXFlanger_ReverberatorReturn, ParameterFXFlanger_ReverberatorSend,
ParameterFXFlanger_MainOutput, ParameterFXFlanger_MainOutput,
// Orbitone Return parameters // Orbitone Return parameters
ParameterFXOrbitone_TubeReturn, ParameterFXOrbitone_TubeSend,
ParameterFXOrbitone_ChorusReturn, ParameterFXOrbitone_ChorusSend,
ParameterFXOrbitone_FlangerReturn, ParameterFXOrbitone_FlangerSend,
ParameterFXOrbitone_PhaserReturn, ParameterFXOrbitone_PhaserSend,
ParameterFXOrbitone_DelayReturn, ParameterFXOrbitone_DelaySend,
ParameterFXOrbitone_PlateReverbReturn, ParameterFXOrbitone_PlateReverbSend,
ParameterFXOrbitone_ReverberatorReturn, ParameterFXOrbitone_ReverberatorSend,
ParameterFXOrbitone_MainOutput, ParameterFXOrbitone_MainOutput,
// Phaser Return parameters // Phaser Return parameters
ParameterFXPhaser_TubeReturn, ParameterFXPhaser_TubeSend,
ParameterFXPhaser_ChorusReturn, ParameterFXPhaser_ChorusSend,
ParameterFXPhaser_FlangerReturn, ParameterFXPhaser_FlangerSend,
ParameterFXPhaser_OrbitoneReturn, ParameterFXPhaser_OrbitoneSend,
ParameterFXPhaser_DelayReturn, ParameterFXPhaser_DelaySend,
ParameterFXPhaser_PlateReverbReturn, ParameterFXPhaser_PlateReverbSend,
ParameterFXPhaser_ReverberatorReturn, ParameterFXPhaser_ReverberatorSend,
ParameterFXPhaser_MainOutput, ParameterFXPhaser_MainOutput,
// Delay Return parameters // Delay Return parameters
ParameterFXDelay_TubeReturn, ParameterFXDelay_TubeSend,
ParameterFXDelay_ChorusReturn, ParameterFXDelay_ChorusSend,
ParameterFXDelay_FlangerReturn, ParameterFXDelay_FlangerSend,
ParameterFXDelay_OrbitoneReturn, ParameterFXDelay_OrbitoneSend,
ParameterFXDelay_PhaserReturn, ParameterFXDelay_PhaserSend,
ParameterFXDelay_PlateReverbReturn, ParameterFXDelay_PlateReverbSend,
ParameterFXDelay_ReverberatorReturn, ParameterFXDelay_ReverberatorSend,
ParameterFXDelay_MainOutput, ParameterFXDelay_MainOutput,
// Plate Reverb Return parameters // Plate Reverb Return parameters
ParameterFXPlateReverb_TubeReturn, ParameterFXPlateReverb_TubeSend,
ParameterFXPlateReverb_ChorusReturn, ParameterFXPlateReverb_ChorusSend,
ParameterFXPlateReverb_FlangerReturn, ParameterFXPlateReverb_FlangerSend,
ParameterFXPlateReverb_OrbitoneReturn, ParameterFXPlateReverb_OrbitoneSend,
ParameterFXPlateReverb_PhaserReturn, ParameterFXPlateReverb_PhaserSend,
ParameterFXPlateReverb_DelayReturn, ParameterFXPlateReverb_DelaySend,
ParameterFXPlateReverb_ReverberatorReturn, ParameterFXPlateReverb_ReverberatorSend,
ParameterFXPlateReverb_MainOutput, ParameterFXPlateReverb_MainOutput,
// Reverberator Return parameters // Reverberator Return parameters
ParameterFXReverberator_TubeReturn, ParameterFXReverberator_TubeSend,
ParameterFXReverberator_ChorusReturn, ParameterFXReverberator_ChorusSend,
ParameterFXReverberator_FlangerReturn, ParameterFXReverberator_FlangerSend,
ParameterFXReverberator_OrbitoneReturn, ParameterFXReverberator_OrbitoneSend,
ParameterFXReverberator_PhaserReturn, ParameterFXReverberator_PhaserSend,
ParameterFXReverberator_DelayReturn, ParameterFXReverberator_DelaySend,
ParameterFXReverberator_PlateReverbReturn, ParameterFXReverberator_PlateReverbSend,
ParameterFXReverberator_MainOutput, ParameterFXReverberator_MainOutput,
#endif #endif

@ -54,7 +54,7 @@ public:
inline void setInputSampleBuffer(size_t in, float32_t* samples); inline void setInputSampleBuffer(size_t in, float32_t* samples);
// Return section // Return section
inline void setReturnLevel(MixerOutput ret, MixerOutput dest, float32_t lvl); inline void setFXSendLevel(MixerOutput ret, MixerOutput dest, float32_t lvl);
inline void setReturnSample(MixerOutput ret, float32_t sampleL, float32_t sampleR); inline void setReturnSample(MixerOutput ret, float32_t sampleL, float32_t sampleR);
// Get FX // Get FX
@ -443,7 +443,7 @@ void MixingConsole<nb_inputs>::setInputSampleBuffer(size_t in, float32_t* sample
// Return section // Return section
template<size_t nb_inputs> template<size_t nb_inputs>
void MixingConsole<nb_inputs>::setReturnLevel(MixerOutput ret, MixerOutput dest, float32_t lvl) void MixingConsole<nb_inputs>::setFXSendLevel(MixerOutput ret, MixerOutput dest, float32_t lvl)
{ {
assert(ret < (MixerOutput::kFXCount - 1)); assert(ret < (MixerOutput::kFXCount - 1));
assert(dest < MixerOutput::kFXCount); assert(dest < MixerOutput::kFXCount);

@ -59,15 +59,15 @@ const CUIMenu::TMenuItem CUIMenu::s_MainMenu[] =
#if defined(MIXING_CONSOLE_ENABLE) #if defined(MIXING_CONSOLE_ENABLE)
const CUIMenu::TMenuItem CUIMenu::s_TGFXMenu[] = const CUIMenu::TMenuItem CUIMenu::s_TGFXMenu[] =
{ {
{"Tube-Send", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXTube}, {"> Tub", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXTube},
{"Chorus-Send", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXChorus}, {"> ChR", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXChorus},
{"FlangR-Send", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXFlanger}, {"> Flg", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXFlanger},
{"Orb-Send", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXOrbitone}, {"> Orb", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXOrbitone},
{"Phaser-Send", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXPhaser}, {"> PhR", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXPhaser},
{"Delay-Send", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXDelay}, {"> Dly", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXDelay},
{"Plate-Send", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXPlateReverb}, {"> Plt", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXPlateReverb},
{"Rev-Send", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXReverberator}, {"> Rev", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXReverberator},
{"Main Out", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXMainOutput}, {"> Main", CUIMenu::EditTGParameter2, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXMainOutput},
{0} {0}
}; };
#endif #endif
@ -163,7 +163,7 @@ const CUIMenu::TMenuItem CUIMenu::s_FXPlateReverb[] =
{"Level", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterReverbLevel}, {"Level", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterReverbLevel},
#if defined(MIXING_CONSOLE_ENABLE) #if defined(MIXING_CONSOLE_ENABLE)
{"Levels", CUIMenu::MenuHandler, CUIMenu::s_FXPlateReverbLevels}, {"Levels", CUIMenu::MenuHandler, CUIMenu::s_FXPlateReverbLevels},
{"Return", CUIMenu::MenuHandler, CUIMenu::s_FXPlateReverbReturn}, {"FX-Send", CUIMenu::MenuHandler, CUIMenu::s_FXPlateReverbSend},
#endif #endif
{0} {0}
}; };
@ -177,7 +177,7 @@ const CUIMenu::TMenuItem CUIMenu::s_FXTube[] =
{"Enable", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTubeEnable}, {"Enable", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTubeEnable},
{"Overdrv", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTubeOverdrive}, {"Overdrv", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTubeOverdrive},
{"Levels", CUIMenu::MenuHandler, CUIMenu::s_FXTubeLevels}, {"Levels", CUIMenu::MenuHandler, CUIMenu::s_FXTubeLevels},
{"Return", CUIMenu::MenuHandler, CUIMenu::s_FXTubeReturn}, {"FX-Send", CUIMenu::MenuHandler, CUIMenu::s_FXTubeSend},
{0} {0}
}; };
@ -187,7 +187,7 @@ const CUIMenu::TMenuItem CUIMenu::s_FXChorus[] =
{"Rate", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorusRate}, {"Rate", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorusRate},
{"Depth", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorusDepth}, {"Depth", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorusDepth},
{"Levels", CUIMenu::MenuHandler, CUIMenu::s_FXChorusLevels}, {"Levels", CUIMenu::MenuHandler, CUIMenu::s_FXChorusLevels},
{"Return", CUIMenu::MenuHandler, CUIMenu::s_FXChorusReturn}, {"FX-Send", CUIMenu::MenuHandler, CUIMenu::s_FXChorusSend},
{0} {0}
}; };
@ -198,7 +198,7 @@ const CUIMenu::TMenuItem CUIMenu::s_FXFlanger[] =
{"Depth", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlangerDepth}, {"Depth", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlangerDepth},
{"Feedbck", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlangerFeedback}, {"Feedbck", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlangerFeedback},
{"Levels", CUIMenu::MenuHandler, CUIMenu::s_FXFlangerLevels}, {"Levels", CUIMenu::MenuHandler, CUIMenu::s_FXFlangerLevels},
{"Return", CUIMenu::MenuHandler, CUIMenu::s_FXFlangerReturn}, {"FX-Send", CUIMenu::MenuHandler, CUIMenu::s_FXFlangerSend},
{0} {0}
}; };
@ -208,7 +208,7 @@ const CUIMenu::TMenuItem CUIMenu::s_FXOrbitone[] =
{"Rate", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitoneRate}, {"Rate", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitoneRate},
{"Depth", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitoneDepth}, {"Depth", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitoneDepth},
{"Levels", CUIMenu::MenuHandler, CUIMenu::s_FXOrbitoneLevels}, {"Levels", CUIMenu::MenuHandler, CUIMenu::s_FXOrbitoneLevels},
{"Return", CUIMenu::MenuHandler, CUIMenu::s_FXOrbitoneReturn}, {"FX-Send", CUIMenu::MenuHandler, CUIMenu::s_FXOrbitoneSend},
{0} {0}
}; };
@ -220,7 +220,7 @@ const CUIMenu::TMenuItem CUIMenu::s_FXPhaser[] =
{"Feedbck", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaserFeedback}, {"Feedbck", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaserFeedback},
{"Stages", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaserNbStages}, {"Stages", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaserNbStages},
{"Levels", CUIMenu::MenuHandler, CUIMenu::s_FXPhaserLevels}, {"Levels", CUIMenu::MenuHandler, CUIMenu::s_FXPhaserLevels},
{"Return", CUIMenu::MenuHandler, CUIMenu::s_FXPhaserReturn}, {"FX-Send", CUIMenu::MenuHandler, CUIMenu::s_FXPhaserSend},
{0} {0}
}; };
@ -233,19 +233,19 @@ const CUIMenu::TMenuItem CUIMenu::s_FXDelay[] =
{"Flt Rte", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelayFlutterRate}, {"Flt Rte", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelayFlutterRate},
{"Flt Amt", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelayFlutterAmount}, {"Flt Amt", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelayFlutterAmount},
{"Levels", CUIMenu::MenuHandler, CUIMenu::s_FXDelayLevels}, {"Levels", CUIMenu::MenuHandler, CUIMenu::s_FXDelayLevels},
{"Return", CUIMenu::MenuHandler, CUIMenu::s_FXDelayReturn}, {"FX-Send", CUIMenu::MenuHandler, CUIMenu::s_FXDelaySend},
{0} {0}
}; };
const CUIMenu::TMenuItem CUIMenu::s_FXReverberator[] = const CUIMenu::TMenuItem CUIMenu::s_FXReverberator[] =
{ {
{"Enable", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberatorEnable}, {"Enable", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberatorEnable},
{"Gain", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberatorInputGain}, {"Gain", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberatorInputGain},
{"Time", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberatorTime}, {"Time", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberatorTime},
{"Diffus", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberatorDiffusion}, {"Diffusion", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberatorDiffusion},
{"LowPass", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberatorLP}, {"Low pass", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberatorLP},
{"Levels", CUIMenu::MenuHandler, CUIMenu::s_FXReverberatorLevels}, {"Levels", CUIMenu::MenuHandler, CUIMenu::s_FXReverberatorLevels},
{"Return", CUIMenu::MenuHandler, CUIMenu::s_FXReverberatorReturn}, {"FX-Send", CUIMenu::MenuHandler, CUIMenu::s_FXReverberatorSend},
{0} {0}
}; };
@ -261,26 +261,26 @@ const CUIMenu::TMenuItem CUIMenu::s_FXTubeLevels[] =
{"TG7 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXTube, 6}, {"TG7 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXTube, 6},
{"TG8 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXTube, 7}, {"TG8 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXTube, 7},
#endif #endif
{"ChR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_TubeReturn}, {"ChR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_TubeSend},
{"Flg >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_TubeReturn}, {"Flg >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_TubeSend},
{"Orb >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_TubeReturn}, {"Orb >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_TubeSend},
{"PhR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_TubeReturn}, {"PhR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_TubeSend},
{"Dly >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_TubeReturn}, {"Dly >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_TubeSend},
{"Plt >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_TubeReturn}, {"Plt >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_TubeSend},
{"Rev >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_TubeReturn}, {"Rev >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_TubeSend},
{0} {0}
}; };
const CUIMenu::TMenuItem CUIMenu::s_FXTubeReturn[] = const CUIMenu::TMenuItem CUIMenu::s_FXTubeSend[] =
{ {
{"ChR Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_ChorusReturn}, {"> ChR", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_ChorusSend},
{"Flg Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_FlangerReturn}, {"> Flg", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_FlangerSend},
{"Orb Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_OrbitoneReturn}, {"> Orb", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_OrbitoneSend},
{"PhR Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_PhaserReturn}, {"> PhR", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_PhaserSend},
{"Dly Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_DelayReturn}, {"> Dly", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_DelaySend},
{"Plt Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_PlateReverbReturn}, {"> Plt", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_PlateReverbSend},
{"Rev Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_ReverberatorReturn}, {"> Rev", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_ReverberatorSend},
{"MainOut", CUIMenu::EditGlobalParameter, 0, CMiniDexed::ParameterFXTube_MainOutput}, {"> Main", CUIMenu::EditGlobalParameter, 0, CMiniDexed::ParameterFXTube_MainOutput},
{0} {0}
}; };
@ -296,26 +296,26 @@ const CUIMenu::TMenuItem CUIMenu::s_FXChorusLevels[] =
{"TG7 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXChorus, 6}, {"TG7 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXChorus, 6},
{"TG8 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXChorus, 7}, {"TG8 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXChorus, 7},
#endif #endif
{"Tub >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_ChorusReturn}, {"Tub >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_ChorusSend},
{"Flg >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_ChorusReturn}, {"Flg >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_ChorusSend},
{"Orb >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_ChorusReturn}, {"Orb >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_ChorusSend},
{"PhR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_ChorusReturn}, {"PhR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_ChorusSend},
{"Dly >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_ChorusReturn}, {"Dly >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_ChorusSend},
{"Plt >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_ChorusReturn}, {"Plt >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_ChorusSend},
{"Rev >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_ChorusReturn}, {"Rev >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_ChorusSend},
{0} {0}
}; };
const CUIMenu::TMenuItem CUIMenu::s_FXChorusReturn[] = const CUIMenu::TMenuItem CUIMenu::s_FXChorusSend[] =
{ {
{"Tub Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_TubeReturn}, {"> Tub", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_TubeSend},
{"Flg Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_FlangerReturn}, {"> Flg", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_FlangerSend},
{"Orb Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_OrbitoneReturn}, {"> Orb", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_OrbitoneSend},
{"PhR Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_PhaserReturn}, {"> PhR", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_PhaserSend},
{"Dly Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_DelayReturn}, {"> Dly", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_DelaySend},
{"Plt Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_PlateReverbReturn}, {"> Plt", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_PlateReverbSend},
{"Rev Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_ReverberatorReturn}, {"> Rev", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_ReverberatorSend},
{"MainOut", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_MainOutput}, {"> Main", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_MainOutput},
{0} {0}
}; };
@ -331,26 +331,26 @@ const CUIMenu::TMenuItem CUIMenu::s_FXFlangerLevels[] =
{"TG7 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXFlanger, 6}, {"TG7 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXFlanger, 6},
{"TG8 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXFlanger, 7}, {"TG8 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXFlanger, 7},
#endif #endif
{"Tub >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_FlangerReturn}, {"Tub >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_FlangerSend},
{"ChR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_FlangerReturn}, {"ChR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_FlangerSend},
{"Orb >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_FlangerReturn}, {"Orb >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_FlangerSend},
{"PhR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_FlangerReturn}, {"PhR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_FlangerSend},
{"Dly >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_FlangerReturn}, {"Dly >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_FlangerSend},
{"Plt >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_FlangerReturn}, {"Plt >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_FlangerSend},
{"Rev >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_FlangerReturn}, {"Rev >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_FlangerSend},
{0} {0}
}; };
const CUIMenu::TMenuItem CUIMenu::s_FXFlangerReturn[] = const CUIMenu::TMenuItem CUIMenu::s_FXFlangerSend[] =
{ {
{"Tub Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_TubeReturn}, {"> Tub", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_TubeSend},
{"ChR Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_ChorusReturn}, {"> ChR", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_ChorusSend},
{"Orb Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_OrbitoneReturn}, {"> Orb", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_OrbitoneSend},
{"PhR Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_PhaserReturn}, {"> PhR", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_PhaserSend},
{"Dly Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_DelayReturn}, {"> Dly", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_DelaySend},
{"Plt Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_PlateReverbReturn}, {"> Plt", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_PlateReverbSend},
{"Rev Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_ReverberatorReturn}, {"> Rev", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_ReverberatorSend},
{"MainOut", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_MainOutput}, {"> Main", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_MainOutput},
{0} {0}
}; };
@ -366,26 +366,26 @@ const CUIMenu::TMenuItem CUIMenu::s_FXOrbitoneLevels[] =
{"TG7 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXOrbitone, 6}, {"TG7 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXOrbitone, 6},
{"TG8 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXOrbitone, 7}, {"TG8 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXOrbitone, 7},
#endif #endif
{"Tub >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_OrbitoneReturn}, {"Tub >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_OrbitoneSend},
{"ChR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_OrbitoneReturn}, {"ChR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_OrbitoneSend},
{"Flg >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_OrbitoneReturn}, {"Flg >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_OrbitoneSend},
{"PhR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_OrbitoneReturn}, {"PhR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_OrbitoneSend},
{"Dly >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_OrbitoneReturn}, {"Dly >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_OrbitoneSend},
{"Plt >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_OrbitoneReturn}, {"Plt >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_OrbitoneSend},
{"Rev >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_OrbitoneReturn}, {"Rev >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_OrbitoneSend},
{0} {0}
}; };
const CUIMenu::TMenuItem CUIMenu::s_FXOrbitoneReturn[] = const CUIMenu::TMenuItem CUIMenu::s_FXOrbitoneSend[] =
{ {
{"Tub Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_TubeReturn}, {"> Tub", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_TubeSend},
{"ChR Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_ChorusReturn}, {"> ChR", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_ChorusSend},
{"Flg Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_FlangerReturn}, {"> Flg", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_FlangerSend},
{"PhR Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_PhaserReturn}, {"> PhR", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_PhaserSend},
{"Dly Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_DelayReturn}, {"> Dly", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_DelaySend},
{"Plt Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_PlateReverbReturn}, {"> Plt", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_PlateReverbSend},
{"Rev Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_ReverberatorReturn}, {"> Rev", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_ReverberatorSend},
{"MainOut", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_MainOutput}, {"> Main", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_MainOutput},
{0} {0}
}; };
@ -401,26 +401,26 @@ const CUIMenu::TMenuItem CUIMenu::s_FXPhaserLevels[] =
{"TG7 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXPhaser, 6}, {"TG7 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXPhaser, 6},
{"TG8 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXPhaser, 7}, {"TG8 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXPhaser, 7},
#endif #endif
{"Tub >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_PhaserReturn}, {"Tub >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_PhaserSend},
{"ChR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_PhaserReturn}, {"ChR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_PhaserSend},
{"Flg >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_PhaserReturn}, {"Flg >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_PhaserSend},
{"Orb >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_PhaserReturn}, {"Orb >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_PhaserSend},
{"Dly >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_PhaserReturn}, {"Dly >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_PhaserSend},
{"Plt >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_PhaserReturn}, {"Plt >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_PhaserSend},
{"Rev >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_PhaserReturn}, {"Rev >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_PhaserSend},
{0} {0}
}; };
const CUIMenu::TMenuItem CUIMenu::s_FXPhaserReturn[] = const CUIMenu::TMenuItem CUIMenu::s_FXPhaserSend[] =
{ {
{"Tub Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_TubeReturn}, {"> Tub", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_TubeSend},
{"ChR Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_ChorusReturn}, {"> ChR", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_ChorusSend},
{"Flg Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_FlangerReturn}, {"> Flg", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_FlangerSend},
{"Orb Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_OrbitoneReturn}, {"> Orb", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_OrbitoneSend},
{"Dly Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_DelayReturn}, {"> Dly", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_DelaySend},
{"Plt Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_PlateReverbReturn}, {"> Plt", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_PlateReverbSend},
{"Rev Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_ReverberatorReturn}, {"> Rev", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_ReverberatorSend},
{"MainOut", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_MainOutput}, {"> Main", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_MainOutput},
{0} {0}
}; };
@ -436,26 +436,26 @@ const CUIMenu::TMenuItem CUIMenu::s_FXDelayLevels[] =
{"TG7 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXDelay, 6}, {"TG7 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXDelay, 6},
{"TG8 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXDelay, 7}, {"TG8 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXDelay, 7},
#endif #endif
{"Tub >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_DelayReturn}, {"Tub >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_DelaySend},
{"ChR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_DelayReturn}, {"ChR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_DelaySend},
{"Flg >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_DelayReturn}, {"Flg >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_DelaySend},
{"Orb >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_DelayReturn}, {"Orb >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_DelaySend},
{"PhR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_DelayReturn}, {"PhR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_DelaySend},
{"Plt >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_DelayReturn}, {"Plt >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_DelaySend},
{"Rev >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_DelayReturn}, {"Rev >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_DelaySend},
{0} {0}
}; };
const CUIMenu::TMenuItem CUIMenu::s_FXDelayReturn[] = const CUIMenu::TMenuItem CUIMenu::s_FXDelaySend[] =
{ {
{"Tub Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_TubeReturn}, {"> Tub", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_TubeSend},
{"ChR Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_ChorusReturn}, {"> ChR", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_ChorusSend},
{"Flg Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_FlangerReturn}, {"> Flg", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_FlangerSend},
{"Orb Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_OrbitoneReturn}, {"> Orb", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_OrbitoneSend},
{"PhR Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_PhaserReturn}, {"> PhR", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_PhaserSend},
{"Plt Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_PlateReverbReturn}, {"> Plt", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_PlateReverbSend},
{"Rev Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_ReverberatorReturn}, {"> Rev", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_ReverberatorSend},
{"MainOut", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_MainOutput}, {"> Main", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_MainOutput},
{0} {0}
}; };
@ -471,26 +471,26 @@ const CUIMenu::TMenuItem CUIMenu::s_FXPlateReverbLevels[] =
{"TG7 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXPlateReverb, 6}, {"TG7 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXPlateReverb, 6},
{"TG8 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXPlateReverb, 7}, {"TG8 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXPlateReverb, 7},
#endif #endif
{"Tub >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_PlateReverbReturn}, {"Tub >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_PlateReverbSend},
{"ChR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_PlateReverbReturn}, {"ChR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_PlateReverbSend},
{"Flg >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_PlateReverbReturn}, {"Flg >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_PlateReverbSend},
{"Orb >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_PlateReverbReturn}, {"Orb >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_PlateReverbSend},
{"PhR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_PlateReverbReturn}, {"PhR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_PlateReverbSend},
{"Dly >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_PlateReverbReturn}, {"Dly >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_PlateReverbSend},
{"Rev >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_PlateReverbReturn}, {"Rev >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_PlateReverbSend},
{0} {0}
}; };
const CUIMenu::TMenuItem CUIMenu::s_FXPlateReverbReturn[] = const CUIMenu::TMenuItem CUIMenu::s_FXPlateReverbSend[] =
{ {
{"Tub Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_TubeReturn}, {"> Tub", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_TubeSend},
{"ChR Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_ChorusReturn}, {"> ChR", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_ChorusSend},
{"Flg Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_FlangerReturn}, {"> Flg", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_FlangerSend},
{"Orb Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_OrbitoneReturn}, {"> Orb", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_OrbitoneSend},
{"PhR Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_PhaserReturn}, {"> PhR", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_PhaserSend},
{"Dly Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_DelayReturn}, {"> Dly", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_DelaySend},
{"Rev Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_ReverberatorReturn}, {"> Rev", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_ReverberatorSend},
{"MainOut", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_MainOutput}, {"> Main", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_MainOutput},
{0} {0}
}; };
@ -506,26 +506,26 @@ const CUIMenu::TMenuItem CUIMenu::s_FXReverberatorLevels[] =
{"TG7 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXReverberator, 6}, {"TG7 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXReverberator, 6},
{"TG8 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXReverberator, 7}, {"TG8 >", CUIMenu::EditTGParameter3, 0, CMiniDexed::TTGParameter::TGParameterMixingSendFXReverberator, 7},
#endif #endif
{"Tub >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_ReverberatorReturn}, {"Tub >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXTube_ReverberatorSend},
{"ChR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_ReverberatorReturn}, {"ChR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXChorus_ReverberatorSend},
{"Flg >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_ReverberatorReturn}, {"Flg >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXFlanger_ReverberatorSend},
{"Orb >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_ReverberatorReturn}, {"Orb >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXOrbitone_ReverberatorSend},
{"PhR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_ReverberatorReturn}, {"PhR >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPhaser_ReverberatorSend},
{"Dly >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_ReverberatorReturn}, {"Dly >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXDelay_ReverberatorSend},
{"Plt >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_ReverberatorReturn}, {"Plt >", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXPlateReverb_ReverberatorSend},
{0} {0}
}; };
const CUIMenu::TMenuItem CUIMenu::s_FXReverberatorReturn[] = const CUIMenu::TMenuItem CUIMenu::s_FXReverberatorSend[] =
{ {
{"Tub Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_TubeReturn}, {"> Tub", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_TubeSend},
{"ChR Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_ChorusReturn}, {"> ChR", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_ChorusSend},
{"Flg Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_FlangerReturn}, {"> Flg", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_FlangerSend},
{"Orb Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_OrbitoneReturn}, {"> Orb", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_OrbitoneSend},
{"PhR Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_PhaserReturn}, {"> PhR", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_PhaserSend},
{"Dly Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_DelayReturn}, {"> Dly", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_DelaySend},
{"Plt Rtn", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_PlateReverbReturn}, {"> Plt", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_PlateReverbSend},
{"MainOut", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_MainOutput}, {"> Main", CUIMenu::EditGlobalParameter, 0, CMiniDexed::TParameter::ParameterFXReverberator_MainOutput},
{0} {0}
}; };
@ -619,7 +619,7 @@ const CUIMenu::TParameter CUIMenu::s_GlobalParameter[CMiniDexed::TParameter::Par
, ,
// FX > Tube parameters // FX > Tube parameters
{0, 1, 1, ToOnOff}, // ParameterFXTubeEnable {0, 1, 1, ToOnOff}, // ParameterFXTubeEnable
{0, 99, 1}, // ParameterFXTubeOverdrive {0, 99 ,1}, // ParameterFXTubeOverdrive
// FX > Chorus parameters // FX > Chorus parameters
{0, 1, 1, ToOnOff}, // ParameterFXChorusEnable {0, 1, 1, ToOnOff}, // ParameterFXChorusEnable

@ -147,32 +147,32 @@ private:
static const TMenuItem s_TGFXMenu[]; static const TMenuItem s_TGFXMenu[];
static const TMenuItem s_FXTube[]; static const TMenuItem s_FXTube[];
static const TMenuItem s_FXTubeLevels[]; static const TMenuItem s_FXTubeLevels[];
static const TMenuItem s_FXTubeReturn[]; static const TMenuItem s_FXTubeSend[];
static const TMenuItem s_FXChorus[]; static const TMenuItem s_FXChorus[];
static const TMenuItem s_FXChorusLevels[]; static const TMenuItem s_FXChorusLevels[];
static const TMenuItem s_FXChorusReturn[]; static const TMenuItem s_FXChorusSend[];
static const TMenuItem s_FXFlanger[]; static const TMenuItem s_FXFlanger[];
static const TMenuItem s_FXFlangerLevels[]; static const TMenuItem s_FXFlangerLevels[];
static const TMenuItem s_FXFlangerReturn[]; static const TMenuItem s_FXFlangerSend[];
static const TMenuItem s_FXOrbitone[]; static const TMenuItem s_FXOrbitone[];
static const TMenuItem s_FXOrbitoneLevels[]; static const TMenuItem s_FXOrbitoneLevels[];
static const TMenuItem s_FXOrbitoneReturn[]; static const TMenuItem s_FXOrbitoneSend[];
static const TMenuItem s_FXPhaser[]; static const TMenuItem s_FXPhaser[];
static const TMenuItem s_FXPhaserLevels[]; static const TMenuItem s_FXPhaserLevels[];
static const TMenuItem s_FXPhaserReturn[]; static const TMenuItem s_FXPhaserSend[];
static const TMenuItem s_FXDelay[]; static const TMenuItem s_FXDelay[];
static const TMenuItem s_FXDelayLevels[]; static const TMenuItem s_FXDelayLevels[];
static const TMenuItem s_FXDelayReturn[]; static const TMenuItem s_FXDelaySend[];
#endif #endif
#if defined(PLATE_REVERB_ENABLE) || defined(MIXING_CONSOLE_ENABLE) #if defined(PLATE_REVERB_ENABLE) || defined(MIXING_CONSOLE_ENABLE)
static const TMenuItem s_FXPlateReverb[]; static const TMenuItem s_FXPlateReverb[];
#endif #endif
#if defined(MIXING_CONSOLE_ENABLE) #if defined(MIXING_CONSOLE_ENABLE)
static const TMenuItem s_FXPlateReverbLevels[]; static const TMenuItem s_FXPlateReverbLevels[];
static const TMenuItem s_FXPlateReverbReturn[]; static const TMenuItem s_FXPlateReverbSend[];
static const TMenuItem s_FXReverberator[]; static const TMenuItem s_FXReverberator[];
static const TMenuItem s_FXReverberatorLevels[]; static const TMenuItem s_FXReverberatorLevels[];
static const TMenuItem s_FXReverberatorReturn[]; static const TMenuItem s_FXReverberatorSend[];
#endif #endif
static const TMenuItem s_EditVoiceMenu[]; static const TMenuItem s_EditVoiceMenu[];
static const TMenuItem s_OperatorMenu[]; static const TMenuItem s_OperatorMenu[];

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 KiB

@ -0,0 +1,451 @@
# Mixing Console & Audio Effect
![Mixing Console Synopsys](mixing-console-overview.png)
On multi-core devices, MiniDexed can now be equiped with a complex and versatile mixing console that is composed of a multi-FX processor.
After the volume and pan controls, it is possible to set the send level of each Tone Generator to the individual Audio Effect and Main output. Below is the TG channel strip:
<img src="mixing-console--TG-Channel.png" alt="Mixing Console - TG Channel Strip" width="10%" style="background-color: #fff">
Each FX has the possibility to return to any other Audio FX unit as well as Main Output.
The diagram below shows the synopsis of this Mixing Console.
## The Audio FX
The following audio FX are available:
* **Tube:** an amplifier that mimmic the response of valve based amplifier.
<img src="Tube--Channel.png" alt="FX Tube Channel Strip" width="10%" style="background-color: #fff">
* ***Overdrive [0 - 99]:*** the overdrive amount the more the overdrive the less linear is the amplification. Below is the amplifier response based on different value of the overdrive: ![Tube - Overdrive response](Tube--overdrive-response.png)
<br>
<br>
* **Chorus:** this effect is an audio signal processing technique that creates a richer, thicker sound by duplicating the original signal and slightly delaying and modulating the duplicated signal in pitch and time. The modulated and delayed signals are then mixed back together with the original signal, creating a sound that seems to be coming from multiple sources or voices.
The result of a chorus effect is a distinctive "shimmering" or "swirling" sound, similar to the sound of a choir or a group of instruments playing together. Chorus effects are commonly used in music production to add depth and complexity to a sound, particularly for guitars, keyboards, and vocals. They are also used in some audio equipment, such as guitar pedals and synthesizers, to produce a chorus effect in real-time.
This implementation is a standard Chorus FX that is based on 4 LFO:
| LFO | Min. freq. | Max. freq. | Phase |
|-----|------------|------------|-------|
| 1 | 0.0 Hz | 0.25 Hz | 0° |
| 2 | 0.0 Hz | 0.25 Hz | 90° |
| 3 | 0.0 Hz | 0.35 Hz | 0° |
| 4 | 0.0 Hz | 0.35 Hz | 90° |
<img src="Chorus--Channel.png" alt="FX Tube Channel Strip" width="10%" style="background-color: #fff">
* ***Rate [0 - 99]:*** modulate the LFO rate between thei minimum frequency (Rate = 0) and their maximum frequency (Rate = 99).
* ***Depth [0 - 99]:*** the level of modulation of the FX. The higher the value the more prononced the audio processing is.
<br>
<br>
* **Flanger:** this effect is an audio signal processing technique that creates a sweeping, swirling sound by mixing a delayed copy of an audio signal with the original signal. The delay time of the copied signal is varied over time, creating a series of peaks and troughs in the frequency spectrum of the combined signal.
The resulting sound is similar to a chorus effect, but with a more pronounced "swooshing" or "jet engine" effect, as the peaks and troughs of the frequency spectrum sweep up and down in a cyclic pattern. Flangers are often used in music production to create an "otherworldly" or psychedelic effect, particularly on guitars and keyboards.
The name "flanger" comes from the original method of creating the effect, which involved using two tape recorders to play back the same signal simultaneously, while a finger was used to slightly slow down or speed up the flange (rim) of one of the reels, causing the delayed signal to vary in time. Today, flanger effects are typically created digitally, using specialized signal processing algorithms in software or hardware devices such as guitar pedals or studio processors.
This implementation is based on 2 LFO:
| LFO | Min. freq. | Max. freq. | Phase |
|-----|------------|------------|-------|
| 1 | 0.1 Hz | 5.0 Hz | 0° |
| 2 | 0.1 Hz | 5.0 Hz | 90° |
<img src="Flanger--Channel.png" alt="FX Tube Channel Strip" width="10%" style="background-color: #fff">
* ***Rate [0 - 99]:*** modulate the LFO rate between thei minimum frequency (Rate = 0) and their maximum frequency (Rate = 99).
* ***Depth [0 - 99]:*** the level of modulation of the FX. The higher the value the more prononced the audio processing is.
* ***Feedback [0 - 99]:*** the amount of of processed signal that is re-injected at the audio effect input.
<br>
<br>
* ***Orbitone:*** this is an ensemble effect that is an audio signal processing technique that creates the impression of multiple instruments or voices playing together. It is similar to a chorus effect in that it involves duplicating and modulating an audio signal, but with some differences in the way it is applied.
In an ensemble effect, the duplicated signals are modulated with a low-frequency oscillator (LFO) that varies the pitch and amplitude of the signals over time. The modulated signals are then mixed with the original signal, creating a sound that is thicker and richer, as if several instruments or voices were playing in unison.
The resulting sound can be used to add depth and character to a musical performance, particularly for string, brass, or vocal sounds. Ensemble effects are often used in music production to create a sense of warmth, depth, and movement in a mix.
This implementation is based on 4 LFO:
| LFO | Min. freq. | Max. freq. | Phase |
|-----|------------|------------|-------|
| 1 | 0.0 Hz | 1.0 Hz | 0° |
| 2 | 0.0 Hz | 1.0 Hz | 120° |
| 3 | 0.0 Hz | 1.0 Hz | 240° |
| 4 | 0.0 Hz | 8.8 Hz | 0° |
| 5 | 0.0 Hz | 8.8 Hz | 120° |
| 6 | 0.0 Hz | 8.8 Hz | 240° |
<img src="Orbitone--Channel.png" alt="FX Tube Channel Strip" width="10%" style="background-color: #fff">
* ***Rate [0 - 99]:*** modulate the LFO rate between thei minimum frequency (Rate = 0) and their maximum frequency (Rate = 99).
* ***Depth [0 - 99]:*** the level of modulation of the FX. The higher the value the more prononced the audio processing is.
* ***Feedback [0 - 99]:*** the amount of of processed signal that is re-injected at the audio effect input.
<br>
<br>
* ***Phaser:*** a phaser or phase shifter effect is an audio signal processing technique that creates a sweeping, "whooshing" sound by altering the phase relationship between two identical signals. This is achieved by splitting the audio signal into two parts, delaying one of them slightly, and then combining them again. The delay time is varied over time, causing certain frequencies in the audio signal to be boosted and others to be attenuated.
The resulting sound is characterized by a series of peaks and troughs in the frequency spectrum, which move up and down in a sweeping pattern. The phaser effect is often used in music production to create a sense of movement and space in a mix, and is particularly effective on guitars, keyboards, and other melodic instruments.
This implementation is based on 2 LFO:
| LFO | Min. freq. | Max. freq. | Phase |
|-----|------------|------------|-------|
| 1 | 0.0 Hz | 2.5 Hz | 0° |
| 2 | 0.0 Hz | 2.5 Hz | 90° |
<img src="Phaser--Channel.png" alt="FX Tube Channel Strip" width="10%" style="background-color: #fff">
* ***Rate [0 - 99]:*** modulate the LFO rate between thei minimum frequency (Rate = 0) and their maximum frequency (Rate = 99).
* ***Depth [0 - 99]:*** the level of modulation of the FX. The higher the value the more prononced the audio processing is.
* ***Feedback [0 - 99]:*** the amount of of processed signal that is re-injected at the audio effect input.
* ***Nb Stages [2 - 24]:*** The number of state variable filter stages that the audio signal will traverse.
<br>
<br>
* **Delay:** the is an audio signal processing technique that creates a repeated, delayed version of an original sound. It does this by temporarily storing a copy of the original audio signal in a buffer, and then playing it back at a later time.
The delay time can be set to vary from a few milliseconds to 2 seconds, and the repeated sound can be manipulated in various ways to create a range of different effects.
Delay effects are used in a wide variety of musical genres to add texture, depth, and interest to a mix. They can be used on almost any sound source, including vocals, guitars, keyboards, and drums. In addition to their creative uses, delay effects can also be used as a practical tool for correcting timing issues in a recording or performance.
This implementation is inpired of a tape delay and integrates a kind of flutter effect. The flutter effect of a tape delay refers to the subtle, random variations in the pitch and timing of the delayed signal that result from imperfections in the tape transport mechanism of an analog tape delay unit.
As the tape passes through the transport mechanism, it can be subject to various irregularities, such as fluctuations in tension, speed, and alignment. These imperfections can cause slight variations in the pitch and timing of the delayed signal, which can add a subtle, organic character to the sound.
The flutter effect is often sought after by musicians and producers who want to add warmth and character to their recordings. It can be particularly effective on guitars, vocals, and other melodic instruments, and is often used in genres such as rock, pop, and reggae.
<img src="Delay--Channel.png" alt="FX Tube Channel Strip" width="10%" style="background-color: #fff">
* **Left Delay [0 - 99]:** the left delay from 0 to 2 seconds.
* **Right Delay [0 - 99]:** the left delay from 0 to 2 seconds.
* ***Feedback [0 - 99]:*** the amount of of processed signal that is re-injected at the audio effect input.
* ***Flutter Rate [0 - 99]:*** the speed at which the flutter effect will impact the signal processing.
* ***Flutter Amount [0 - 99]:*** the depth of the flutter effect that will impact the signal processing.
<br>
<br>
* **Plate Reverb:** A plate reverb effect is an audio signal processing technique that simulates the sound of a large, metallic plate vibrating in response to an audio signal. It is one of the most iconic and widely used types of artificial reverberation in music production.
The plate reverb effect is created by passing an audio signal through a transducer that causes a large metal plate to vibrate in response. The vibrations of the plate are then picked up by one or more microphones and mixed back with the original signal. The sound of the plate reverb is characterized by a smooth decay and a diffuse, ambient quality that can add warmth and depth to a mix.
Plate reverb effects are often used in music production to add space, depth, and character to a mix. They are particularly effective on vocals, drums, and other percussive sounds, and can be used to create a sense of space and distance in a recording. The effect can be adjusted to achieve varying degrees of intensity, decay time, and other parameters.
<img src="PlateReverb--Channel.png" alt="FX Tube Channel Strip" width="10%" style="background-color: #fff">
* ***Size [0 - 99]:*** the size of the simulated metallic plate hence of the room.
* ***High Damping [0 - 99]:*** the amount of high-frequency attenuation or absorption applied to the plate's vibrations. It is a key parameter that can have a significant impact on the overall sound of the plate reverb effect.
* ***Low Damping [0 - 99]:*** the amount of low-frequency attenuation or absorption applied to the plate's vibrations. It is a key parameter that can have a significant impact on the overall sound of the plate reverb effect.
* ***Low Pass [0 - 99]:*** the low pass parameter of a plate reverb refers to a filter that is applied to the reverb signal to attenuate or cut off frequencies above a certain threshold.
A low pass filter can be used to create a darker, more mellow sound by reducing or removing high-frequency content from the reverb effect. This can be useful when trying to create a more vintage or retro sound, or when trying to soften harsh or bright sounds in a mix.
* ***Diffusion [0 - 99]:*** the diffusion parameter of a plate reverb refers to the degree to which the reflections in the reverb decay are dispersed or spread out in time and space. It determines how "dense" or "sparse" the reverb effect sounds and how the individual reflections blend together.
A higher diffusion parameter means that the reflections in the reverb decay will be more widely dispersed, resulting in a more "washed out" or diffuse sound. This can be useful when trying to create a sense of space or depth in a mix, or when trying to create a more ambient or atmospheric effect.
Conversely, a lower diffusion parameter means that the reflections in the reverb decay will be more closely spaced, resulting in a more defined and focused sound. This can be useful when trying to create a more natural-sounding reverb effect, or when trying to highlight the details of a particular instrument or sound in a mix.
* ***Level [0 - 99]:*** the level parameter of a plate reverb refers to the overall level or amplitude of the reverb effect. It determines how loud the reverb signal is in relation to the dry or unprocessed signal.
<br>
<br>
* **Reverberator:** the reverberator effect, commonly known as reverb, is an audio processing effect that simulates the sound reflections and acoustic environment of a physical space.
When a sound is produced in a physical space, it travels through the air and reflects off the walls, floors, and other surfaces in the environment. These reflections create a sense of space and depth, and contribute to the character and quality of the sound.
A reverberator effect works by simulating these reflections, and can be used to create a wide range of sonic environments, from small and intimate spaces like a bedroom or bathroom, to large and expansive spaces like a concert hall or cathedral.
Reverberator can be applied to individual tracks or to a mix, and can be adjusted in various ways, such as changing the decay time or "size" of the simulated space, adjusting the frequency content of the reverb, and adjusting the level or balance of the reverb effect in relation to the dry or unprocessed signal.
Reverberator is a common effect used in many genres of music, as well as in film, television, and other forms of audio production. It can be used to create a sense of realism, depth, and immersion, or to add a sense of ambiance, texture, or mood to a recording or production.
This implementation pushes the reverberation to reach almost the shimmer effect.
<img src="Reverberator--Channel.png" alt="FX Tube Channel Strip" width="10%" style="background-color: #fff">
* **Gain [0 - 99]:** the gain parameter of the reverberator refers to the overall level or amplitude of the reverberator effect. It determines how loud the reverberator signal is in relation to the dry or unprocessed signal.
* **Time [0 - 99]:** the time determines the size of the simulated reverberating space.
* **Diffusion [0 - 99]:** the diffusion parameter of a reverberator refers to the degree to which the reflections in the reverb decay are dispersed or spread out in time and space. It determines how "dense" or "sparse" the reverberator effect sounds and how the individual reflections blend together.
A higher diffusion parameter means that the reflections in the reverb decay will be more widely dispersed, resulting in a more "washed out" or diffuse sound. This can be useful when trying to create a sense of space or depth in a mix, or when trying to create a more ambient or atmospheric effect.
Conversely, a lower diffusion parameter means that the reflections in the reverberator decay will be more closely spaced, resulting in a more defined and focused sound. This can be useful when trying to create a more natural-sounding reverberator effect, or when trying to highlight the details of a particular instrument or sound in a mix.
* **Low Pass [0 - 99]:** the low pass parameter of a plate reverb refers to a filter that is applied to the reverb signal to attenuate or cut off frequencies above a certain threshold.
A low pass filter can be used to create a darker, more mellow sound by reducing or removing high-frequency content from the reverb effect. This can be useful when trying to create a more vintage or retro sound, or when trying to soften harsh or bright sounds in a mix.
## The Menu structure
* *MiniDexed*
* *TG1*
* *Voice*
* *Bank*
* *Volume*
* *Pan*
* **FX-Send**
* **> Tub** *[0 - 99]*: the amount of the Tone Generator signal that will be send to the Tube FX Unit.
* **> ChR** *[0 - 99]*: the amount of the Tone Generator signal that will be send to the Chorus FX Unit.
* **> Flg** *[0 - 99]*: the amount of the Tone Generator signal that will be send to the Flanger FX Unit.
* **> Orb** *[0 - 99]*: the amount of the Tone Generator signal that will be send to the Orbitone FX Unit.
* **> PhR** *[0 - 99]*: the amount of the Tone Generator signal that will be send to the Phaser FX Unit.
* **> Dly** *[0 - 99]*: the amount of the Tone Generator signal that will be send to the Delay FX Unit.
* **> Plt** *[0 - 99]*: the amount of the Tone Generator signal that will be send to the Plate Reverb FX Unit.
* **> Rev** *[0 - 99]*: the amount of the Tone Generator signal that will be send to the Reverberator FX Unit.
* **> Main** *[0 - 99]*: the amount of the Tone Generator signal that will be send to the Main output hence dry.
* *Detune*
* *Cutoff*
* *Resonance*
* *Pitch Bend*
* *Portamento*
* *Poly/Mono*
* *Modulation*
* *Channel*
* *Edit Voice:*
* ...
* *TG2*
* ... *similar to TG1 sub-menu* ...
* *TG3*
* ... *similar to TG1 sub-menu* ...
* *TG4*
* ... *similar to TG1 sub-menu* ...
* *TG5*
* ... *similar to TG1 sub-menu* ...
* *TG6*
* ... *similar to TG1 sub-menu* ...
* *TG7*
* ... *similar to TG1 sub-menu* ...
* *TG8*
* ... *similar to TG1 sub-menu* ...
* **Effects**
* Compress *[on - off]*: Enable / disable the FX unit for all Tone Generators.
* **Tube**
* **Enable** *[on - off]*: Enable / disable the FX unit.
* **Overdrv** *[0 - 99]*: The overdrive amount of the FX unit.
* **Levels**
* **TG1 >** *[0 - 99]* - shortcut to [TG1] >> [FX-Send] >> [> Tub]
* **TG2 >** *[0 - 99]* - shortcut to [TG2] >> [FX-Send] >> [> Tub]
* **TG3 >** *[0 - 99]* - shortcut to [TG3] >> [FX-Send] >> [> Tub]
* **TG4 >** *[0 - 99]* - shortcut to [TG4] >> [FX-Send] >> [> Tub]
* **TG5 >** *[0 - 99]* - shortcut to [TG5] >> [FX-Send] >> [> Tub]
* **TG6 >** *[0 - 99]* - shortcut to [TG6] >> [FX-Send] >> [> Tub]
* **TG7 >** *[0 - 99]* - shortcut to [TG7] >> [FX-Send] >> [> Tub]
* **TG8 >** *[0 - 99]* - shortcut to [TG8] >> [FX-Send] >> [> Tub]
* **ChR >** *[0 - 99]* - shortcut to [Effects] >> [Chorus] >> [> Tub]
* **Flg >** *[0 - 99]* - shortcut to [Effects] >> [FlangR] >> [> Tub]
* **Orb >** *[0 - 99]* - shortcut to [Effects] >> [Orb] >> [> Tub]
* **PhR >** *[0 - 99]* - shortcut to [Effects] >> [PhasR] >> [> Tub]
* **Dly >** *[0 - 99]* - shortcut to [Effects] >> [Delay] >> [> Tub]
* **Plt >** *[0 - 99]* - shortcut to [Effects] >> [Plt Rvb] >> [> Tub]
* **Rev >** *[0 - 99]* - shortcut to [Effects] >> [Rvbrtor] >> [> Tub]
* **FX-Send**
* **> ChR** *[0 - 99]*: The amount of signal processed by the Tube FX unit that will be sent to the Chorus FX unit.
* **> Flg** *[0 - 99]*: The amount of signal processed by the Tube FX unit that will be sent to the Flanger FX unit.
* **> Orb** *[0 - 99]*: The amount of signal processed by the Tube FX unit that will be sent to the Orbitone FX unit.
* **> PhR** *[0 - 99]*: The amount of signal processed by the Tube FX unit that will be sent to the Phaser FX unit.
* **> Dly** *[0 - 99]*: The amount of signal processed by the Tube FX unit that will be sent to the Delay FX unit.
* **> Plt** *[0 - 99]*: The amount of signal processed by the Tube FX unit that will be sent to the Plate Reverb FX unit.
* **> Rev** *[0 - 99]*: The amount of signal processed by the Tube FX unit that will be sent to the Reverberator FX unit.
* **> Main** *[0 - 99]*: The amount of signal processed by the Tube FX unit that will be sent to the Main output.
* **Chorus**
* **Enable** *[on - off]*: Enable / disable the FX unit.
* **Rate** *[0 - 99]*: The speed of the LFO of the FX unit.
* **Depth** *[0 - 99]*: The amount of effect that is applied to the input signal.
* **Levels**
* **TG1 >** *[0 - 99]* - shortcut to [TG1] >> [FX-Send] >> [> ChR]
* **TG2 >** *[0 - 99]* - shortcut to [TG2] >> [FX-Send] >> [> ChR]
* **TG3 >** *[0 - 99]* - shortcut to [TG3] >> [FX-Send] >> [> ChR]
* **TG4 >** *[0 - 99]* - shortcut to [TG4] >> [FX-Send] >> [> ChR]
* **TG5 >** *[0 - 99]* - shortcut to [TG5] >> [FX-Send] >> [> ChR]
* **TG6 >** *[0 - 99]* - shortcut to [TG6] >> [FX-Send] >> [> ChR]
* **TG7 >** *[0 - 99]* - shortcut to [TG7] >> [FX-Send] >> [> ChR]
* **TG8 >** *[0 - 99]* - shortcut to [TG8] >> [FX-Send] >> [> ChR]
* **Tub >** *[0 - 99]* - shortcut to [Effects] >> [Tube] >> [> ChR]
* **Flg >** *[0 - 99]* - shortcut to [Effects] >> [FlangR] >> [> ChR]
* **Orb >** *[0 - 99]* - shortcut to [Effects] >> [Orb] >> [> ChR]
* **PhR >** *[0 - 99]* - shortcut to [Effects] >> [PhasR] >> [> ChR]
* **Dly >** *[0 - 99]* - shortcut to [Effects] >> [Delay] >> [> ChR]
* **Plt >** *[0 - 99]* - shortcut to [Effects] >> [Plt Rvb] >> [> ChR]
* **Rev >** *[0 - 99]* - shortcut to [Effects] >> [Rvbrtor] >> [> ChR]
* **FX-Send**
* **> Tub** *[0 - 99]*: The amount of signal processed by the Chorus FX unit that will be sent to the Tube FX unit.
* **> Flg** *[0 - 99]*: The amount of signal processed by the Chorus FX unit that will be sent to the Flanger FX unit.
* **> Orb** *[0 - 99]*: The amount of signal processed by the Chorus FX unit that will be sent to the Orbitone FX unit.
* **> PhR** *[0 - 99]*: The amount of signal processed by the Chorus FX unit that will be sent to the Phaser FX unit.
* **> Dly** *[0 - 99]*: The amount of signal processed by the Chorus FX unit that will be sent to the Delay FX unit.
* **> Plt** *[0 - 99]*: The amount of signal processed by the Chorus FX unit that will be sent to the Plate Reverb FX unit.
* **> Rev** *[0 - 99]*: The amount of signal processed by the Chorus FX unit that will be sent to the Reverberator FX unit.
* **> Main** *[0 - 99]*: The amount of signal processed by the Chorus FX unit that will be sent to the Main output.
* **FlangR**
* **Enable** *[on - off]*: Enable / disable the FX unit.
* **Rate** *[0 - 99]*: The speed of the LFO of the FX unit.
* **Depth** *[0 - 99]*: The amount of effect that is applied to the input signal.
* **Feedbck** *[0 - 99]*: The amount of processed signal that will be reinjected at the input.
* **Levels**
* **TG1 >** *[0 - 99]* - shortcut to [TG1] >> [FX-Send] >> [> Flg]
* **TG2 >** *[0 - 99]* - shortcut to [TG2] >> [FX-Send] >> [> Flg]
* **TG3 >** *[0 - 99]* - shortcut to [TG3] >> [FX-Send] >> [> Flg]
* **TG4 >** *[0 - 99]* - shortcut to [TG4] >> [FX-Send] >> [> Flg]
* **TG5 >** *[0 - 99]* - shortcut to [TG5] >> [FX-Send] >> [> Flg]
* **TG6 >** *[0 - 99]* - shortcut to [TG6] >> [FX-Send] >> [> Flg]
* **TG7 >** *[0 - 99]* - shortcut to [TG7] >> [FX-Send] >> [> Flg]
* **TG8 >** *[0 - 99]* - shortcut to [TG8] >> [FX-Send] >> [> Flg]
* **Tub >** *[0 - 99]* - shortcut to [Effects] >> [Tube] >> [> Flg]
* **ChR >** *[0 - 99]* - shortcut to [Effects] >> [Chorus] >> [> Flg]
* **Orb >** *[0 - 99]* - shortcut to [Effects] >> [Orb] >> [> Flg]
* **PhR >** *[0 - 99]* - shortcut to [Effects] >> [PhasR] >> [> Flg]
* **Dly >** *[0 - 99]* - shortcut to [Effects] >> [Delay] >> [> Flg]
* **Plt >** *[0 - 99]* - shortcut to [Effects] >> [Plt Rvb] >> [> Flg]
* **Rev >** *[0 - 99]* - shortcut to [Effects] >> [Rvbrtor] >> [> Flg]
* **FX-Send**
* **> Tub** *[0 - 99]*: The amount of signal processed by the Flanger FX unit that will be sent to the Tube FX unit.
* **> ChR** *[0 - 99]*: The amount of signal processed by the Flanger FX unit that will be sent to the Chorus FX unit.
* **> Orb** *[0 - 99]*: The amount of signal processed by the Flanger FX unit that will be sent to the Orbitone FX unit.
* **> PhR** *[0 - 99]*: The amount of signal processed by the Flanger FX unit that will be sent to the Phaser FX unit.
* **> Dly** *[0 - 99]*: The amount of signal processed by the Flanger FX unit that will be sent to the Delay FX unit.
* **> Plt** *[0 - 99]*: The amount of signal processed by the Flanger FX unit that will be sent to the Plate Reverb FX unit.
* **> Rev** *[0 - 99]*: The amount of signal processed by the Flanger FX unit that will be sent to the Reverberator FX unit.
* **> Main** *[0 - 99]*: The amount of signal processed by the Flanger FX unit that will be sent to the Main output.
* **Orb**
* **Enable** *[on - off]*: Enable / disable the FX unit.
* **Rate** *[0 - 99]*: The speed of the LFO of the FX unit.
* **Depth** *[0 - 99]*: The amount of effect that is applied to the input signal.
* **Levels**
* **TG1 >** *[0 - 99]* - shortcut to [TG1] >> [FX-Send] >> [> Orb]
* **TG2 >** *[0 - 99]* - shortcut to [TG2] >> [FX-Send] >> [> Orb]
* **TG3 >** *[0 - 99]* - shortcut to [TG3] >> [FX-Send] >> [> Orb]
* **TG4 >** *[0 - 99]* - shortcut to [TG4] >> [FX-Send] >> [> Orb]
* **TG5 >** *[0 - 99]* - shortcut to [TG5] >> [FX-Send] >> [> Orb]
* **TG6 >** *[0 - 99]* - shortcut to [TG6] >> [FX-Send] >> [> Orb]
* **TG7 >** *[0 - 99]* - shortcut to [TG7] >> [FX-Send] >> [> Orb]
* **TG8 >** *[0 - 99]* - shortcut to [TG8] >> [FX-Send] >> [> Orb]
* **Tub >** *[0 - 99]* - shortcut to [Effects] >> [Tube] >> [> Orb]
* **ChR >** *[0 - 99]* - shortcut to [Effects] >> [Chorus] >> [> Orb]
* **Flg >** *[0 - 99]* - shortcut to [Effects] >> [FlangR] >> [> Orb]
* **PhR >** *[0 - 99]* - shortcut to [Effects] >> [PhasR] >> [> Orb]
* **Dly >** *[0 - 99]* - shortcut to [Effects] >> [Delay] >> [> Orb]
* **Plt >** *[0 - 99]* - shortcut to [Effects] >> [Plt Rvb] >> [> Orb]
* **Rev >** *[0 - 99]* - shortcut to [Effects] >> [Rvbrtor] >> [> Orb]
* **FX-Send**
* **> Tub** *[0 - 99]*: The amount of signal processed by the Orbitone FX unit that will be sent to the Tube FX unit.
* **> ChR** *[0 - 99]*: The amount of signal processed by the Orbitone FX unit that will be sent to the Chorus FX unit.
* **> Flg** *[0 - 99]*: The amount of signal processed by the Orbitone FX unit that will be sent to the Flanger FX unit.
* **> PhR** *[0 - 99]*: The amount of signal processed by the Orbitone FX unit that will be sent to the Phaser FX unit.
* **> Dly** *[0 - 99]*: The amount of signal processed by the Orbitone FX unit that will be sent to the Delay FX unit.
* **> Plt** *[0 - 99]*: The amount of signal processed by the Orbitone FX unit that will be sent to the Plate Reverb FX unit.
* **> Rev** *[0 - 99]*: The amount of signal processed by the Orbitone FX unit that will be sent to the Reverberator FX unit.
* **> Main** *[0 - 99]*: The amount of signal processed by the Orbitone FX unit that will be sent to the Main output.
* **PhasR**
* **Enable** *[on - off]*: Enable / disable the FX unit.
* **Rate** *[0 - 99]*: The speed of the LFO of the FX unit.
* **Depth** *[0 - 99]*: The amount of effect that is applied to the input signal.
* **Feedbck** *[0 - 99]*: The amount of processed signal that will be reinjected at the input.
* **Stages** *[2 - 24]*: The number of processing phasing stages.
* **Levels**
* **TG1 >** *[0 - 99]* - shortcut to [TG1] >> [FX-Send] >> [> PhR]
* **TG2 >** *[0 - 99]* - shortcut to [TG2] >> [FX-Send] >> [> PhR]
* **TG3 >** *[0 - 99]* - shortcut to [TG3] >> [FX-Send] >> [> PhR]
* **TG4 >** *[0 - 99]* - shortcut to [TG4] >> [FX-Send] >> [> PhR]
* **TG5 >** *[0 - 99]* - shortcut to [TG5] >> [FX-Send] >> [> PhR]
* **TG6 >** *[0 - 99]* - shortcut to [TG6] >> [FX-Send] >> [> PhR]
* **TG7 >** *[0 - 99]* - shortcut to [TG7] >> [FX-Send] >> [> PhR]
* **TG8 >** *[0 - 99]* - shortcut to [TG8] >> [FX-Send] >> [> PhR]
* **Tub >** *[0 - 99]* - shortcut to [Effects] >> [Tube] >> [> PhR]
* **ChR >** *[0 - 99]* - shortcut to [Effects] >> [Chorus] >> [> PhR]
* **Flg >** *[0 - 99]* - shortcut to [Effects] >> [FlangR] >> [> PhR]
* **Orb >** *[0 - 99]* - shortcut to [Effects] >> [Orb] >> [> PhR]
* **Dly >** *[0 - 99]* - shortcut to [Effects] >> [Delay] >> [> PhR]
* **Plt >** *[0 - 99]* - shortcut to [Effects] >> [Plt Rvb] >> [> PhR]
* **Rev >** *[0 - 99]* - shortcut to [Effects] >> [Rvbrtor] >> [> PhR]
* **FX-Send**
* **> Tub** *[0 - 99]*: The amount of signal processed by the Phaser FX unit that will be sent to the Tube FX unit.
* **> ChR** *[0 - 99]*: The amount of signal processed by the Phaser FX unit that will be sent to the Chorus FX unit.
* **> Flg** *[0 - 99]*: The amount of signal processed by the Phaser FX unit that will be sent to the Flanger FX unit.
* **> Orb** *[0 - 99]*: The amount of signal processed by the Phaser FX unit that will be sent to the Orbitone FX unit.
* **> Dly** *[0 - 99]*: The amount of signal processed by the Phaser FX unit that will be sent to the Delay FX unit.
* **> Plt** *[0 - 99]*: The amount of signal processed by the Phaser FX unit that will be sent to the Plate Reverb FX unit.
* **> Rev** *[0 - 99]*: The amount of signal processed by the Phaser FX unit that will be sent to the Reverberator FX unit.
* **> Main** *[0 - 99]*: The amount of signal processed by the Phaser FX unit that will be sent to the Main output.
* **Delay**
* **Enable** *[on - off]*: Enable / disable the FX unit.
* **L Delay** *[0 - 99]*: The delay time for the Left channel.
* **R Delay** *[0 - 99]*: The delay time for the Right channel.
* **Feedbck** *[0 - 99]*: The amount of processed signal that will be reinjected at the input.
* **Flt Rte** *[0 - 99]*: The flutter rate.
* **Flt Amt** *[0 - 99]*: The flutter depth.
* **Levels**
* **TG1 >** *[0 - 99]* - shortcut to [TG1] >> [FX-Send] >> [> Dly]
* **TG2 >** *[0 - 99]* - shortcut to [TG2] >> [FX-Send] >> [> Dly]
* **TG3 >** *[0 - 99]* - shortcut to [TG3] >> [FX-Send] >> [> Dly]
* **TG4 >** *[0 - 99]* - shortcut to [TG4] >> [FX-Send] >> [> Dly]
* **TG5 >** *[0 - 99]* - shortcut to [TG5] >> [FX-Send] >> [> Dly]
* **TG6 >** *[0 - 99]* - shortcut to [TG6] >> [FX-Send] >> [> Dly]
* **TG7 >** *[0 - 99]* - shortcut to [TG7] >> [FX-Send] >> [> Dly]
* **TG8 >** *[0 - 99]* - shortcut to [TG8] >> [FX-Send] >> [> Dly]
* **Tub >** *[0 - 99]* - shortcut to [Effects] >> [Tube] >> [> Dly]
* **ChR >** *[0 - 99]* - shortcut to [Effects] >> [Chorus] >> [> Dly]
* **Flg >** *[0 - 99]* - shortcut to [Effects] >> [FlangR] >> [> Dly]
* **Orb >** *[0 - 99]* - shortcut to [Effects] >> [Orb] >> [> Dly]
* **PhR >** *[0 - 99]* - shortcut to [Effects] >> [PhasR] >> [> Dly]
* **Plt >** *[0 - 99]* - shortcut to [Effects] >> [Plt Rvb] >> [> Dly]
* **Rev >** *[0 - 99]* - shortcut to [Effects] >> [Rvbrtor] >> [> Dly]
* **FX-Send**
* **> Tub** *[0 - 99]*: The amount of signal processed by the Delay FX unit that will be sent to the Tube FX unit.
* **> ChR** *[0 - 99]*: The amount of signal processed by the Delay FX unit that will be sent to the Chorus FX unit.
* **> Flg** *[0 - 99]*: The amount of signal processed by the Delay FX unit that will be sent to the Flanger FX unit.
* **> Orb** *[0 - 99]*: The amount of signal processed by the Delay FX unit that will be sent to the Orbitone FX unit.
* **> PhR** *[0 - 99]*: The amount of signal processed by the Delay FX unit that will be sent to the Phaser FX unit.
* **> Plt** *[0 - 99]*: The amount of signal processed by the Delay FX unit that will be sent to the Plate Reverb FX unit.
* **> Rev** *[0 - 99]*: The amount of signal processed by the Delay FX unit that will be sent to the Reverberator FX unit.
* **> Main** *[0 - 99]*: The amount of signal processed by the Delay FX unit that will be sent to the Main output.
* **Plt Rvb**
* **Enable** *[on - off]*: Enable / disable the FX unit.
* **Size** *[0 - 99]*: The size of the plate that simulate the size of the reverberating room.
* **High damp** *[0 - 99]*: The amount of high-frequency attenuation.
* **Low damp** *[0 - 99]*: The amount of low-frequency attenuation.
* **Low pass** *[0 - 99]*: The low pass cutoff frequency.
* **Diffusion** *[0 - 99]*: The degree to which the reflections in the reverb decay are dispersed or spread out in time and space.
* **Level** *[0 - 99]*: The overall level or amplitude of the reverb effect.
* **Levels**
* **TG1 >** *[0 - 99]* - shortcut to [TG1] >> [FX-Send] >> [> Plt]
* **TG2 >** *[0 - 99]* - shortcut to [TG2] >> [FX-Send] >> [> Plt]
* **TG3 >** *[0 - 99]* - shortcut to [TG3] >> [FX-Send] >> [> Plt]
* **TG4 >** *[0 - 99]* - shortcut to [TG4] >> [FX-Send] >> [> Plt]
* **TG5 >** *[0 - 99]* - shortcut to [TG5] >> [FX-Send] >> [> Plt]
* **TG6 >** *[0 - 99]* - shortcut to [TG6] >> [FX-Send] >> [> Plt]
* **TG7 >** *[0 - 99]* - shortcut to [TG7] >> [FX-Send] >> [> Plt]
* **TG8 >** *[0 - 99]* - shortcut to [TG8] >> [FX-Send] >> [> Plt]
* **Tub >** *[0 - 99]* - shortcut to [Effects] >> [Tube] >> [> Plt]
* **ChR >** *[0 - 99]* - shortcut to [Effects] >> [Chorus] >> [> Plt]
* **Flg >** *[0 - 99]* - shortcut to [Effects] >> [FlangR] >> [> Plt]
* **Orb >** *[0 - 99]* - shortcut to [Effects] >> [Orb] >> [> Plt]
* **PhR >** *[0 - 99]* - shortcut to [Effects] >> [PhasR] >> [> Plt]
* **Dly >** *[0 - 99]* - shortcut to [Effects] >> [Delay] >> [> Plt]
* **Rev >** *[0 - 99]* - shortcut to [Effects] >> [Rvbrtor] >> [> Plt]
* **FX-Send**
* **> Tub** *[0 - 99]*: The amount of signal processed by the Plate Reverb FX unit that will be sent to the Tube FX unit.
* **> ChR** *[0 - 99]*: The amount of signal processed by the Plate Reverb FX unit that will be sent to the Chorus FX unit.
* **> Flg** *[0 - 99]*: The amount of signal processed by the Plate Reverb FX unit that will be sent to the Flanger FX unit.
* **> Orb** *[0 - 99]*: The amount of signal processed by the Plate Reverb FX unit that will be sent to the Orbitone FX unit.
* **> PhR** *[0 - 99]*: The amount of signal processed by the Plate Reverb FX unit that will be sent to the Phaser FX unit.
* **> Dly** *[0 - 99]*: The amount of signal processed by the Plate Reverb FX unit that will be sent to the Delay FX unit.
* **> Rev** *[0 - 99]*: The amount of signal processed by the Plate Reverb FX unit that will be sent to the Reverberator FX unit.
* **> Main** *[0 - 99]*: The amount of signal processed by the Plate Reverb FX unit that will be sent to the Main output.
* **Rvbrtor**
* **Enable** *[on - off]*: Enable / disable the FX unit.
* **Gain** *[0 - 99]*: The overall level or amplitude of the FX.
* **Time** *[0 - 99]*: The time determines the size of the simulated reverberating space.
* **Diffusion** *[0 - 99]*: The degree to which the reflections in the reverb decay are dispersed or spread out in time and space.
* **Low pass** *[0 - 99]*: The low pass cutoff frequency.
* **Levels**
* **TG1 >** *[0 - 99]* - shortcut to [TG1] >> [FX-Send] >> [> Rev]
* **TG2 >** *[0 - 99]* - shortcut to [TG2] >> [FX-Send] >> [> Rev]
* **TG3 >** *[0 - 99]* - shortcut to [TG3] >> [FX-Send] >> [> Rev]
* **TG4 >** *[0 - 99]* - shortcut to [TG4] >> [FX-Send] >> [> Rev]
* **TG5 >** *[0 - 99]* - shortcut to [TG5] >> [FX-Send] >> [> Rev]
* **TG6 >** *[0 - 99]* - shortcut to [TG6] >> [FX-Send] >> [> Rev]
* **TG7 >** *[0 - 99]* - shortcut to [TG7] >> [FX-Send] >> [> Rev]
* **TG8 >** *[0 - 99]* - shortcut to [TG8] >> [FX-Send] >> [> Rev]
* **Tub >** *[0 - 99]* - shortcut to [Effects] >> [Tube] >> [> Rev]
* **ChR >** *[0 - 99]* - shortcut to [Effects] >> [Chorus] >> [> Rev]
* **Flg >** *[0 - 99]* - shortcut to [Effects] >> [FlangR] >> [> Rev]
* **Orb >** *[0 - 99]* - shortcut to [Effects] >> [Orb] >> [> Rev]
* **PhR >** *[0 - 99]* - shortcut to [Effects] >> [PhasR] >> [> Rev]
* **Dly >** *[0 - 99]* - shortcut to [Effects] >> [Delay] >> [> Rev]
* **Plt >** *[0 - 99]* - shortcut to [Effects] >> [Plt Rvb] >> [> Rev]
* **FX-Send**
* **> Tub** *[0 - 99]*: The amount of signal processed by the Reverberator FX unit that will be sent to the Tube FX unit.
* **> ChR** *[0 - 99]*: The amount of signal processed by the Reverberator FX unit that will be sent to the Chorus FX unit.
* **> Flg** *[0 - 99]*: The amount of signal processed by the Reverberator FX unit that will be sent to the Flanger FX unit.
* **> Orb** *[0 - 99]*: The amount of signal processed by the Reverberator FX unit that will be sent to the Orbitone FX unit.
* **> PhR** *[0 - 99]*: The amount of signal processed by the Reverberator FX unit that will be sent to the Phaser FX unit.
* **> Dly** *[0 - 99]*: The amount of signal processed by the Reverberator FX unit that will be sent to the Delay FX unit.
* **> Plt** *[0 - 99]*: The amount of signal processed by the Reverberator FX unit that will be sent to the Plate Reverb FX unit.
* **> Main** *[0 - 99]*: The amount of signal processed by the Reverberator FX unit that will be sent to the Main output.
* *Performance*
* *Load*
* ...
* *Save*
* ...
* *Delete*
* ...

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 791 KiB

Loading…
Cancel
Save