640 |
for (RTList<ScriptEvent>::Iterator itEvent = pChannel->pScriptEvents->first(), |
for (RTList<ScriptEvent>::Iterator itEvent = pChannel->pScriptEvents->first(), |
641 |
end = pChannel->pScriptEvents->end(); itEvent != end; ++itEvent) |
end = pChannel->pScriptEvents->end(); itEvent != end; ++itEvent) |
642 |
{ |
{ |
643 |
ResumeScriptEvent(pChannel, itEvent); |
ResumeScriptEvent(pChannel, itEvent); //TODO: implement support for actual suspension time (i.e. passed to a script's wait() function call) |
644 |
} |
} |
645 |
|
|
646 |
// spawn new script executions for the new MIDI events of |
// spawn new script executions for the new MIDI events of |
654 |
ProcessEventByScript(pChannel, itEvent, pChannel->script.handlerNote); |
ProcessEventByScript(pChannel, itEvent, pChannel->script.handlerNote); |
655 |
break; |
break; |
656 |
case Event::type_note_off: |
case Event::type_note_off: |
657 |
//TODO: ... |
if (pChannel->script.handlerRelease) |
658 |
|
ProcessEventByScript(pChannel, itEvent, pChannel->script.handlerRelease); |
659 |
break; |
break; |
660 |
case Event::type_control_change: |
case Event::type_control_change: |
661 |
case Event::type_channel_pressure: |
case Event::type_channel_pressure: |