/[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 2931 by schoenebeck, Sat Jul 9 14:38:33 2016 UTC revision 2935 by schoenebeck, Sun Jul 10 14:24:13 2016 UTC
# Line 187  namespace LinuxSampler { Line 187  namespace LinuxSampler {
187    
188          Pitch = CalculatePitchInfo(PitchBend);          Pitch = CalculatePitchInfo(PitchBend);
189          NotePitch = (pNote) ? pNote->Override.Pitch : 1.0f;          NotePitch = (pNote) ? pNote->Override.Pitch : 1.0f;
190            NoteCutoff = (pNote) ? pNote->Override.Cutoff : 1.0f;
191            NoteResonance = (pNote) ? pNote->Override.Resonance : 1.0f;
192    
193          // the length of the decay and release curves are dependent on the velocity          // the length of the decay and release curves are dependent on the velocity
194          const double velrelease = 1 / GetVelocityRelease(itNoteOnEvent->Param.Note.Velocity);          const double velrelease = 1 / GetVelocityRelease(itNoteOnEvent->Param.Note.Velocity);
# Line 522  namespace LinuxSampler { Line 524  namespace LinuxSampler {
524                      pSignalUnitRack->GetEndpointUnit()->CalculatePitch(finalSynthesisParameters.fFinalPitch);                      pSignalUnitRack->GetEndpointUnit()->CalculatePitch(finalSynthesisParameters.fFinalPitch);
525                                            
526              }              }
527                
528                fFinalCutoff    *= NoteCutoff;
529                fFinalResonance *= NoteResonance;
530    
531              // limit the pitch so we don't read outside the buffer              // limit the pitch so we don't read outside the buffer
532              finalSynthesisParameters.fFinalPitch = RTMath::Min(finalSynthesisParameters.fFinalPitch, float(1 << CONFIG_MAX_PITCH));              finalSynthesisParameters.fFinalPitch = RTMath::Min(finalSynthesisParameters.fFinalPitch, float(1 << CONFIG_MAX_PITCH));
533    
# Line 717  namespace LinuxSampler { Line 722  namespace LinuxSampler {
722                          NotePanLeft  = AbstractEngine::PanCurveValueNorm(itEvent->Param.NoteSynthParam.AbsValue, 0 /*left*/);                          NotePanLeft  = AbstractEngine::PanCurveValueNorm(itEvent->Param.NoteSynthParam.AbsValue, 0 /*left*/);
723                          NotePanRight = AbstractEngine::PanCurveValueNorm(itEvent->Param.NoteSynthParam.AbsValue, 1 /*right*/);                          NotePanRight = AbstractEngine::PanCurveValueNorm(itEvent->Param.NoteSynthParam.AbsValue, 1 /*right*/);
724                          break;                          break;
725                        case Event::synth_param_cutoff:
726                            NoteCutoff = itEvent->Param.NoteSynthParam.AbsValue;
727                            break;
728                        case Event::synth_param_resonance:
729                            NoteResonance = itEvent->Param.NoteSynthParam.AbsValue;
730                            break;
731                  }                  }
732              }              }
733          }          }

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

  ViewVC Help
Powered by ViewVC