/[svn]/libgig/trunk/src/SF.cpp
ViewVC logotype

Diff of /libgig/trunk/src/SF.cpp

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

revision 2100 by persson, Sun May 30 11:39:36 2010 UTC revision 2202 by persson, Sat Jul 9 16:43:35 2011 UTC
# Line 42  namespace sf2 { Line 42  namespace sf2 {
42      double ToPermilles(int Centibels) {      double ToPermilles(int Centibels) {
43          if (Centibels == NONE) return NONE;          if (Centibels == NONE) return NONE;
44          if (Centibels == 0) return 1000.0;          if (Centibels == 0) return 1000.0;
45          if (Centibels < 0) return 0.0;          return pow(_200TH_ROOT_OF_10, Centibels) * 1000.0;
         return pow(_200TH_ROOT_OF_10, Centibels);  
46      }      }
47    
48      double ToHz(int cents) {      double ToHz(int cents) {
# Line 548  namespace sf2 { Line 547  namespace sf2 {
547      }      }
548    
549      double Region::GetEG1Sustain(Region* pPresetRegion) {      double Region::GetEG1Sustain(Region* pPresetRegion) {
550          if (pPresetRegion == NULL || pPresetRegion->EG1Sustain == NONE) return ToPermilles(EG1Sustain);          int sustain = EG1Sustain;
551          return ToPermilles(pPresetRegion->EG1Sustain + EG1Sustain);          if (pPresetRegion != NULL && pPresetRegion->EG1Sustain != NONE) sustain += EG1Sustain;
552            if (sustain == NONE) return NONE;
553            sustain = std::min(0, std::max(sustain, 1000));
554            return ToPermilles(-sustain);
555      }      }
556    
557      double Region::GetEG1Release(Region* pPresetRegion) {      double Region::GetEG1Release(Region* pPresetRegion) {

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

  ViewVC Help
Powered by ViewVC