203 |
DimValues[i] = (uint) (pChannel->CurrentKeyDimension * pRegion->pDimensionDefinitions[i].zones); |
DimValues[i] = (uint) (pChannel->CurrentKeyDimension * pRegion->pDimensionDefinitions[i].zones); |
204 |
break; |
break; |
205 |
case ::gig::dimension_roundrobin: |
case ::gig::dimension_roundrobin: |
206 |
DimValues[i] = (uint) pChannel->pMIDIKeyInfo[MIDIKey].RoundRobinIndex; // incremented for each note on |
DimValues[i] = uint(*pChannel->pMIDIKeyInfo[MIDIKey].pRoundRobinIndex % pRegion->pDimensionDefinitions[i].zones); // RoundRobinIndex is incremented for each note on in this Region |
207 |
|
break; |
208 |
|
case ::gig::dimension_roundrobinkeyboard: |
209 |
|
DimValues[i] = uint(pChannel->RoundRobinIndex % pRegion->pDimensionDefinitions[i].zones); // RoundRobinIndex is incremented for each note on |
210 |
break; |
break; |
211 |
case ::gig::dimension_random: |
case ::gig::dimension_random: |
212 |
RandomSeed = RandomSeed * 1103515245 + 12345; // classic pseudo random number generator |
RandomSeed = RandomSeed * 1103515245 + 12345; // classic pseudo random number generator |
213 |
DimValues[i] = (uint) RandomSeed >> (32 - pRegion->pDimensionDefinitions[i].bits); // highest bits are most random |
DimValues[i] = uint(RandomSeed / 4294967296.0f * pRegion->pDimensionDefinitions[i].zones); |
214 |
break; |
break; |
215 |
case ::gig::dimension_modwheel: |
case ::gig::dimension_modwheel: |
216 |
DimValues[i] = pChannel->ControllerTable[1]; |
DimValues[i] = pChannel->ControllerTable[1]; |
320 |
} |
} |
321 |
|
|
322 |
String Engine::Version() { |
String Engine::Version() { |
323 |
String s = "$Revision: 1.106 $"; |
String s = "$Revision: 1.107 $"; |
324 |
return s.substr(11, s.size() - 13); // cut dollar signs, spaces and CVS macro keyword |
return s.substr(11, s.size() - 13); // cut dollar signs, spaces and CVS macro keyword |
325 |
} |
} |
326 |
|
|