/[svn]/linuxsampler/trunk/src/engines/EngineBase.h
ViewVC logotype

Diff of /linuxsampler/trunk/src/engines/EngineBase.h

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

revision 3444 by schoenebeck, Sun Dec 23 19:32:11 2018 UTC revision 3561 by schoenebeck, Fri Aug 23 11:44:00 2019 UTC
# Line 2028  namespace LinuxSampler { Line 2028  namespace LinuxSampler {
2028                  NoteBase* pNote = pChannel->pEngine->NoteByID( itEvent->Param.NoteSynthParam.NoteID );                  NoteBase* pNote = pChannel->pEngine->NoteByID( itEvent->Param.NoteSynthParam.NoteID );
2029                  if (!pNote || pNote->hostKey < 0 || pNote->hostKey >= 128) return;                  if (!pNote || pNote->hostKey < 0 || pNote->hostKey >= 128) return;
2030    
                 const bool& relative = itEvent->Param.NoteSynthParam.Relative;  
   
2031                  switch (itEvent->Param.NoteSynthParam.Type) {                  switch (itEvent->Param.NoteSynthParam.Type) {
2032                      case Event::synth_param_volume:                      case Event::synth_param_volume:
2033                          if (relative)                          pNote->apply(itEvent, &NoteBase::_Override::Volume);
                             pNote->Override.Volume *= itEvent->Param.NoteSynthParam.Delta;  
                         else  
                             pNote->Override.Volume = itEvent->Param.NoteSynthParam.Delta;  
                         itEvent->Param.NoteSynthParam.AbsValue = pNote->Override.Volume;  
2034                          break;                          break;
2035                      case Event::synth_param_volume_time:                      case Event::synth_param_volume_time:
2036                          pNote->Override.VolumeTime = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->Override.VolumeTime = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;
# Line 2046  namespace LinuxSampler { Line 2040  namespace LinuxSampler {
2040                          pNote->Override.VolumeCurve = (fade_curve_t) itEvent->Param.NoteSynthParam.AbsValue;                          pNote->Override.VolumeCurve = (fade_curve_t) itEvent->Param.NoteSynthParam.AbsValue;
2041                          break;                          break;
2042                      case Event::synth_param_pitch:                      case Event::synth_param_pitch:
2043                          if (relative)                          pNote->apply(itEvent, &NoteBase::_Override::Pitch);
                             pNote->Override.Pitch *= itEvent->Param.NoteSynthParam.Delta;  
                         else  
                             pNote->Override.Pitch = itEvent->Param.NoteSynthParam.Delta;  
                         itEvent->Param.NoteSynthParam.AbsValue = pNote->Override.Pitch;  
2044                          break;                          break;
2045                      case Event::synth_param_pitch_time:                      case Event::synth_param_pitch_time:
2046                          pNote->Override.PitchTime = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->Override.PitchTime = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;
# Line 2060  namespace LinuxSampler { Line 2050  namespace LinuxSampler {
2050                          pNote->Override.PitchCurve = (fade_curve_t) itEvent->Param.NoteSynthParam.AbsValue;                          pNote->Override.PitchCurve = (fade_curve_t) itEvent->Param.NoteSynthParam.AbsValue;
2051                          break;                          break;
2052                      case Event::synth_param_pan:                      case Event::synth_param_pan:
2053                          if (relative) {                          pNote->apply(itEvent, &NoteBase::_Override::Pan);
                             pNote->Override.Pan = RTMath::RelativeSummedAvg(pNote->Override.Pan, itEvent->Param.NoteSynthParam.Delta, ++pNote->Override.PanSources);  
                         } else {  
                             pNote->Override.Pan = itEvent->Param.NoteSynthParam.Delta;  
                             pNote->Override.PanSources = 1; // only relevant on subsequent change_pan() instrument script calls on same note with 'relative' argument being set  
                         }  
                         itEvent->Param.NoteSynthParam.AbsValue = pNote->Override.Pan;  
2054                          break;                          break;
2055                      case Event::synth_param_pan_time:                      case Event::synth_param_pan_time:
2056                          pNote->Override.PanTime = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->Override.PanTime = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;
# Line 2076  namespace LinuxSampler { Line 2060  namespace LinuxSampler {
2060                          pNote->Override.PanCurve = (fade_curve_t) itEvent->Param.NoteSynthParam.AbsValue;                          pNote->Override.PanCurve = (fade_curve_t) itEvent->Param.NoteSynthParam.AbsValue;
2061                          break;                          break;
2062                      case Event::synth_param_cutoff:                      case Event::synth_param_cutoff:
2063                          pNote->Override.Cutoff = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->apply(itEvent, &NoteBase::_Override::Cutoff);
2064                          break;                          break;
2065                      case Event::synth_param_resonance:                      case Event::synth_param_resonance:
2066                          pNote->Override.Resonance = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->apply(itEvent, &NoteBase::_Override::Resonance);
2067                          break;                          break;
2068                      case Event::synth_param_attack:                      case Event::synth_param_attack:
2069                          pNote->Override.Attack = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->apply(itEvent, &NoteBase::_Override::Attack);
2070                          break;                          break;
2071                      case Event::synth_param_decay:                      case Event::synth_param_decay:
2072                          pNote->Override.Decay = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->apply(itEvent, &NoteBase::_Override::Decay);
2073                          break;                          break;
2074                      case Event::synth_param_sustain:                      case Event::synth_param_sustain:
2075                          pNote->Override.Sustain = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->apply(itEvent, &NoteBase::_Override::Sustain);
2076                          break;                          break;
2077                      case Event::synth_param_release:                      case Event::synth_param_release:
2078                          pNote->Override.Release = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->apply(itEvent, &NoteBase::_Override::Release);
2079                          break;                          break;
2080    
2081                      case Event::synth_param_cutoff_attack:                      case Event::synth_param_cutoff_attack:
2082                          pNote->Override.CutoffAttack = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->apply(itEvent, &NoteBase::_Override::CutoffAttack);
2083                          break;                          break;
2084                      case Event::synth_param_cutoff_decay:                      case Event::synth_param_cutoff_decay:
2085                          pNote->Override.CutoffDecay = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->apply(itEvent, &NoteBase::_Override::CutoffDecay);
2086                          break;                          break;
2087                      case Event::synth_param_cutoff_sustain:                      case Event::synth_param_cutoff_sustain:
2088                          pNote->Override.CutoffSustain = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->apply(itEvent, &NoteBase::_Override::CutoffSustain);
2089                          break;                          break;
2090                      case Event::synth_param_cutoff_release:                      case Event::synth_param_cutoff_release:
2091                          pNote->Override.CutoffRelease = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->apply(itEvent, &NoteBase::_Override::CutoffRelease);
2092                          break;                          break;
2093    
2094                      case Event::synth_param_amp_lfo_depth:                      case Event::synth_param_amp_lfo_depth:
2095                          pNote->Override.AmpLFODepth = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->apply(itEvent, &NoteBase::_Override::AmpLFODepth);
2096                          break;                          break;
2097                      case Event::synth_param_amp_lfo_freq:                      case Event::synth_param_amp_lfo_freq:
2098                          pNote->Override.AmpLFOFreq = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->apply(itEvent, &NoteBase::_Override::AmpLFOFreq);
2099                          break;                          break;
2100                      case Event::synth_param_cutoff_lfo_depth:                      case Event::synth_param_cutoff_lfo_depth:
2101                          pNote->Override.CutoffLFODepth = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->apply(itEvent, &NoteBase::_Override::CutoffLFODepth);
2102                          break;                          break;
2103                      case Event::synth_param_cutoff_lfo_freq:                      case Event::synth_param_cutoff_lfo_freq:
2104                          pNote->Override.CutoffLFOFreq = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->apply(itEvent, &NoteBase::_Override::CutoffLFOFreq);
2105                          break;                          break;
2106                      case Event::synth_param_pitch_lfo_depth:                      case Event::synth_param_pitch_lfo_depth:
2107                          pNote->Override.PitchLFODepth = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->apply(itEvent, &NoteBase::_Override::PitchLFODepth);
2108                          break;                          break;
2109                      case Event::synth_param_pitch_lfo_freq:                      case Event::synth_param_pitch_lfo_freq:
2110                          pNote->Override.PitchLFOFreq = itEvent->Param.NoteSynthParam.AbsValue = itEvent->Param.NoteSynthParam.Delta;                          pNote->apply(itEvent, &NoteBase::_Override::PitchLFOFreq);
2111                          break;                          break;
2112                  }                  }
2113    

Legend:
Removed from v.3444  
changed lines
  Added in v.3561

  ViewVC Help
Powered by ViewVC