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

Diff of /linuxsampler/trunk/src/engines/sfz/Voice.cpp

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

revision 2202 by persson, Sun May 1 15:19:38 2011 UTC revision 2203 by persson, Sat Jul 9 16:44:27 2011 UTC
# Line 73  namespace LinuxSampler { namespace sfz { Line 73  namespace LinuxSampler { namespace sfz {
73          ri.Pan       = int(pRegion->pan * 0.63); // convert from -100..100 to -64..63          ri.Pan       = int(pRegion->pan * 0.63); // convert from -100..100 to -64..63
74          ri.SampleStartOffset = 0; // TODO:          ri.SampleStartOffset = 0; // TODO:
75    
         ri.EG1PreAttack        = pRegion->ampeg_start * 10;  
         ri.EG1Attack           = pRegion->ampeg_attack;  
         ri.EG1Hold             = pRegion->ampeg_hold;  
         ri.EG1Decay1           = pRegion->ampeg_decay;  
         ri.EG1Decay2           = pRegion->ampeg_decay;  
         ri.EG1Sustain          = pRegion->ampeg_sustain * 10;  
         ri.EG1InfiniteSustain  = true;  
         ri.EG1Release          = pRegion->ampeg_release;  
   
76          ri.EG2PreAttack        = pRegion->fileg_start * 10;          ri.EG2PreAttack        = pRegion->fileg_start * 10;
77          ri.EG2Attack           = pRegion->fileg_attack;          ri.EG2Attack           = pRegion->fileg_attack;
78          //ri.EG2Hold             = pRegion->fileg_hold; // TODO:          //ri.EG2Hold             = pRegion->fileg_hold; // TODO:
# Line 261  namespace LinuxSampler { namespace sfz { Line 252  namespace LinuxSampler { namespace sfz {
252    
253          // otherwise use the v1 EGADSR          // otherwise use the v1 EGADSR
254          pEG1 = &EGADSR1;          pEG1 = &EGADSR1;
255          EGADSR1.trigger(uint(RgnInfo.EG1PreAttack),          EGADSR1.trigger(uint(pRegion->ampeg_start * 10),
256                          std::max(0.0, RgnInfo.EG1Attack + pRegion->ampeg_vel2attack * velrelease),                          std::max(0.0, pRegion->ampeg_attack + pRegion->ampeg_vel2attack * velrelease),
257                          std::max(0.0, RgnInfo.EG1Hold + pRegion->ampeg_vel2hold * velrelease),                          std::max(0.0, pRegion->ampeg_hold + pRegion->ampeg_vel2hold * velrelease),
258                          std::max(0.0, RgnInfo.EG1Decay1 + pRegion->ampeg_vel2decay * velrelease),                          std::max(0.0, pRegion->ampeg_decay + pRegion->ampeg_vel2decay * velrelease),
259                          uint(std::min(std::max(0.0, RgnInfo.EG1Sustain + 10 * pRegion->ampeg_vel2sustain * velrelease), 1000.0)),                          uint(std::min(std::max(0.0, 10 * (pRegion->ampeg_sustain + pRegion->ampeg_vel2sustain * velrelease)), 1000.0)),
260                          std::max(0.0, RgnInfo.EG1Release + pRegion->ampeg_vel2release * velrelease),                          std::max(0.0, pRegion->ampeg_release + pRegion->ampeg_vel2release * velrelease),
261                          sampleRate / CONFIG_DEFAULT_SUBFRAGMENT_SIZE);                          sampleRate / CONFIG_DEFAULT_SUBFRAGMENT_SIZE);
262      }      }
263    

Legend:
Removed from v.2202  
changed lines
  Added in v.2203

  ViewVC Help
Powered by ViewVC