/[svn]/linuxsampler/trunk/src/engines/FxSend.cpp
ViewVC logotype

Diff of /linuxsampler/trunk/src/engines/FxSend.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 2114 by persson, Tue Aug 10 12:05:19 2010 UTC revision 2198 by iliev, Sun Jul 3 18:06:51 2011 UTC
# Line 34  Line 34 
34  namespace LinuxSampler {  namespace LinuxSampler {
35    
36      FxSend::FxSend(EngineChannel* pEngineChannel, uint8_t MidiCtrl, String Name) throw (Exception)      FxSend::FxSend(EngineChannel* pEngineChannel, uint8_t MidiCtrl, String Name) throw (Exception)
37          : iMasterEffectChain(-1), iMasterEffect(-1), bInfoChanged(false)          : iDestinationEffectChain(-1), iDestinationEffectChainPos(-1), bInfoChanged(false)
38      {      {
39          this->pEngineChannel = pEngineChannel;          this->pEngineChannel = pEngineChannel;
40          AudioOutputDevice* pDevice = pEngineChannel->GetAudioOutputDevice();          AudioOutputDevice* pDevice = pEngineChannel->GetAudioOutputDevice();
# Line 78  namespace LinuxSampler { Line 78  namespace LinuxSampler {
78          fLevel = DEFAULT_FX_SEND_LEVEL;          fLevel = DEFAULT_FX_SEND_LEVEL;
79      }      }
80    
81      int FxSend::DestinationMasterEffectChain() const {      int FxSend::DestinationEffectChain() const {
82          return iMasterEffectChain;          return iDestinationEffectChain;
83      }      }
84    
85      int FxSend::DestinationMasterEffect() const {      int FxSend::DestinationEffectChainPosition() const {
86          return iMasterEffect;          return iDestinationEffectChainPos;
87      }      }
88    
89      void FxSend::SetDestinationMasterEffect(int iChain, int iEffect) throw (Exception) {      void FxSend::SetDestinationEffect(int iChain, int iChainPos) throw (Exception) {
90          AudioOutputDevice* pDevice = pEngineChannel->GetAudioOutputDevice();          AudioOutputDevice* pDevice = pEngineChannel->GetAudioOutputDevice();
91          if (iChain < 0 || iChain >= pDevice->MasterEffectChainCount())          bool chainFound = false;
92              throw Exception(          if (iChain != -1) {
93                  "Could not assign FX Send to master effect chain " +              if (pDevice->SendEffectChainByID(iChain) != NULL)  chainFound = true;
94                if (!chainFound) throw Exception(
95                    "Could not assign FX Send to send effect chain " +
96                  ToString(iChain) + ": effect chain doesn't exist."                  ToString(iChain) + ": effect chain doesn't exist."
97              );              );
98          if (iEffect < 0 || iEffect >= pDevice->MasterEffectChain(iChain)->EffectCount())          }
99            if (chainFound && (iChainPos < 0 || iChainPos >= pDevice->SendEffectChainByID(iChain)->EffectCount()))
100              throw Exception(              throw Exception(
101                  "Could not assign FX Send to master effect " +                  "Could not assign FX Send to send effect chain position " +
102                  ToString(iEffect) + " of effect chain " + ToString(iChain) +                  ToString(iChainPos) + " of send effect chain " + ToString(iChain) +
103                  ": effect doesn't exist."                  ": effect chain position out of bounds."
104              );              );
105          iMasterEffectChain = iChain;          iDestinationEffectChain    = iChain;
106          iMasterEffect      = iEffect;          iDestinationEffectChainPos = (iChain == -1 ? -1 : iChainPos);
107        }
108    
109        // TODO: to be removed
110        int FxSend::DestinationMasterEffectChain() const {
111            return DestinationEffectChain();
112        }
113    
114        // TODO: to be removed
115        int FxSend::DestinationMasterEffect() const {
116            return DestinationEffectChainPosition();
117        }
118    
119        // TODO: to be removed
120        void FxSend::SetDestinationMasterEffect(int iChain, int iChainPos) throw (Exception) {
121            SetDestinationEffect(iChain, iChainPos);
122      }      }
123    
124      int FxSend::DestinationChannel(int SrcChan) {      int FxSend::DestinationChannel(int SrcChan) {

Legend:
Removed from v.2114  
changed lines
  Added in v.2198

  ViewVC Help
Powered by ViewVC