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

Diff of /linuxsampler/trunk/src/engines/common/AbstractVoice.cpp

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

revision 2935 by schoenebeck, Sun Jul 10 14:24:13 2016 UTC revision 2953 by schoenebeck, Sat Jul 16 11:24:39 2016 UTC
# Line 200  namespace LinuxSampler { Line 200  namespace LinuxSampler {
200              // calculate influence of EG1 controller on EG1's parameters              // calculate influence of EG1 controller on EG1's parameters
201              EGInfo egInfo = CalculateEG1ControllerInfluence(eg1controllervalue);              EGInfo egInfo = CalculateEG1ControllerInfluence(eg1controllervalue);
202    
203                if (pNote) {
204                    egInfo.Attack  *= pNote->Override.Attack;
205                    egInfo.Decay   *= pNote->Override.Decay;
206                    egInfo.Release *= pNote->Override.Release;
207                }
208    
209              TriggerEG1(egInfo, velrelease, velocityAttenuation, GetEngine()->SampleRate, itNoteOnEvent->Param.Note.Velocity);              TriggerEG1(egInfo, velrelease, velocityAttenuation, GetEngine()->SampleRate, itNoteOnEvent->Param.Note.Velocity);
210          } else {          } else {
211              pSignalUnitRack->Trigger();              pSignalUnitRack->Trigger();
# Line 696  namespace LinuxSampler { Line 702  namespace LinuxSampler {
702          for (; itEvent && itEvent->FragmentPos() <= End; ++itEvent) {          for (; itEvent && itEvent->FragmentPos() <= End; ++itEvent) {
703              // some voice types ignore note off              // some voice types ignore note off
704              if (!(Type & (Voice::type_one_shot | Voice::type_release_trigger | Voice::type_controller_triggered))) {              if (!(Type & (Voice::type_one_shot | Voice::type_release_trigger | Voice::type_controller_triggered))) {
705                  if (itEvent->Type == Event::type_release) {                  if (itEvent->Type == Event::type_release_key) {
706                      EnterReleaseStage();                      EnterReleaseStage();
707                  } else if (itEvent->Type == Event::type_cancel_release) {                  } else if (itEvent->Type == Event::type_cancel_release_key) {
708                      if (pSignalUnitRack == NULL) {                      if (pSignalUnitRack == NULL) {
709                          pEG1->update(EG::event_cancel_release, GetEngine()->SampleRate / CONFIG_DEFAULT_SUBFRAGMENT_SIZE);                          pEG1->update(EG::event_cancel_release, GetEngine()->SampleRate / CONFIG_DEFAULT_SUBFRAGMENT_SIZE);
710                          pEG2->update(EG::event_cancel_release, GetEngine()->SampleRate / CONFIG_DEFAULT_SUBFRAGMENT_SIZE);                          pEG2->update(EG::event_cancel_release, GetEngine()->SampleRate / CONFIG_DEFAULT_SUBFRAGMENT_SIZE);
# Line 707  namespace LinuxSampler { Line 713  namespace LinuxSampler {
713                      }                      }
714                  }                  }
715              }              }
716                // process stop-note events (caused by built-in instrument script function note_off())
717                if (itEvent->Type == Event::type_release_note && pNote &&
718                    pEngineChannel->pEngine->NoteByID( itEvent->Param.Note.ID ) == pNote)
719                {
720                    EnterReleaseStage();
721                }
722              // process synthesis parameter events (caused by built-in realt-time instrument script functions)              // process synthesis parameter events (caused by built-in realt-time instrument script functions)
723              if (itEvent->Type == Event::type_note_synth_param && pNote &&              if (itEvent->Type == Event::type_note_synth_param && pNote &&
724                  pEngineChannel->pEngine->NoteByID( itEvent->Param.NoteSynthParam.NoteID ) == pNote)                  pEngineChannel->pEngine->NoteByID( itEvent->Param.NoteSynthParam.NoteID ) == pNote)

Legend:
Removed from v.2935  
changed lines
  Added in v.2953

  ViewVC Help
Powered by ViewVC