834 |
dmsg(4,("Engine::ContinuousController cc=%d v=%d\n", itControlChangeEvent->Param.CC.Controller, itControlChangeEvent->Param.CC.Value)); |
dmsg(4,("Engine::ContinuousController cc=%d v=%d\n", itControlChangeEvent->Param.CC.Controller, itControlChangeEvent->Param.CC.Value)); |
835 |
|
|
836 |
switch (itControlChangeEvent->Param.CC.Controller) { |
switch (itControlChangeEvent->Param.CC.Controller) { |
837 |
case 64: { |
case 7: { // volume |
838 |
|
//TODO: not sample accurate yet |
839 |
|
pEngineChannel->GlobalVolume = (float) itControlChangeEvent->Param.CC.Value / 127.0f; |
840 |
|
break; |
841 |
|
} |
842 |
|
case 10: { // panpot |
843 |
|
//TODO: not sample accurate yet |
844 |
|
const int pan = (int) itControlChangeEvent->Param.CC.Value - 64; |
845 |
|
pEngineChannel->GlobalPanLeft = 1.0f - float(RTMath::Max(pan, 0)) / 63.0f; |
846 |
|
pEngineChannel->GlobalPanRight = 1.0f - float(RTMath::Min(pan, 0)) / -64.0f; |
847 |
|
break; |
848 |
|
} |
849 |
|
case 64: { // sustain |
850 |
if (itControlChangeEvent->Param.CC.Value >= 64 && !pEngineChannel->SustainPedal) { |
if (itControlChangeEvent->Param.CC.Value >= 64 && !pEngineChannel->SustainPedal) { |
851 |
dmsg(4,("PEDAL DOWN\n")); |
dmsg(4,("PEDAL DOWN\n")); |
852 |
pEngineChannel->SustainPedal = true; |
pEngineChannel->SustainPedal = true; |
1031 |
} |
} |
1032 |
|
|
1033 |
String Engine::Version() { |
String Engine::Version() { |
1034 |
String s = "$Revision: 1.28 $"; |
String s = "$Revision: 1.29 $"; |
1035 |
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 |
1036 |
} |
} |
1037 |
|
|