340 |
* @returns 0 on success |
* @returns 0 on success |
341 |
*/ |
*/ |
342 |
int Engine::RenderAudio(uint Samples) { |
int Engine::RenderAudio(uint Samples) { |
343 |
dmsg(5,("RenderAudio(Samples=%d)\n", Samples)); |
dmsg(7,("RenderAudio(Samples=%d)\n", Samples)); |
344 |
|
|
345 |
// return if engine disabled |
// return if engine disabled |
346 |
if (EngineDisabled.Pop()) { |
if (EngineDisabled.Pop()) { |
1243 |
} |
} |
1244 |
case 7: { // volume |
case 7: { // volume |
1245 |
//TODO: not sample accurate yet |
//TODO: not sample accurate yet |
1246 |
pEngineChannel->GlobalVolume = VolumeCurve[itControlChangeEvent->Param.CC.Value] * CONFIG_GLOBAL_ATTENUATION; |
pEngineChannel->MidiVolume = VolumeCurve[itControlChangeEvent->Param.CC.Value]; |
1247 |
pEngineChannel->bStatusChanged = true; // engine channel status has changed, so set notify flag |
pEngineChannel->bStatusChanged = true; // engine channel status has changed, so set notify flag |
1248 |
break; |
break; |
1249 |
} |
} |
1568 |
} |
} |
1569 |
|
|
1570 |
String Engine::Version() { |
String Engine::Version() { |
1571 |
String s = "$Revision: 1.65 $"; |
String s = "$Revision: 1.66 $"; |
1572 |
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 |
1573 |
} |
} |
1574 |
|
|
1575 |
|
InstrumentManager* Engine::GetInstrumentManager() { |
1576 |
|
return &instruments; |
1577 |
|
} |
1578 |
|
|
1579 |
// static constant initializers |
// static constant initializers |
1580 |
const float* Engine::VolumeCurve(InitVolumeCurve()); |
const float* Engine::VolumeCurve(InitVolumeCurve()); |
1581 |
const float* Engine::PanCurve(InitPanCurve()); |
const float* Engine::PanCurve(InitPanCurve()); |