[Scummvm-devel] SCI midiparser

Willem Jan Palenstijn wjp at usecode.org
Fri Sep 20 11:34:34 CEST 2013


Hi all,

This is a bit of an historical/design question:

Is there any reason the SCI midiparser does processing of signals, cues, loops
and such in the parseNextEvent() function instead of in the sendToDriver()
function?

Putting that processing in the parseNextEvent means it gets done _before_ the
delay associated to the event, which means we now have all these hacks to delay
things at the top of parseNextEvent.

I was thinking of changing this, but it's a rather invasive change, so any
insights or historical perspective would be welcome.

It may require putting the "META Event" processing from MidiParser::onTimer in
a new virtual function to allow us to override it for SCI's looping behaviour,
but that shouldn't be a problem.


-Willem Jan




More information about the Scummvm-devel mailing list