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) { |
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) { |