4 Commits

Author SHA1 Message Date
Jamieson Christian
4d5a3e4c45 IMuse SysEx processing now handled by client-specified callbacks. This removes all game-specific references from the Player class. Bloodshed Dev-C++ project file updated.
svn-id: r21241
2006-03-12 18:06:22 +00:00
Jamieson Christian
5e25b3b679 Restructured IMuse and IMuseInternal.
* IMuse is no longer a concurrency front-end.
* IMuseInternal now derives from IMuse.
* Common::StackLock used to protect thread-sensitive interface methods (same as IMuseDigital).
* clear_queue() included in stopAllSounds() so it can be removed from the public interface.
* Game ID now specified at init using property().
* Timer callbacks receive a struct containing IMuseInternal and MidiDriver refs, instead of just the latter.
* OSystem pointer from init is now cached and used instead of global.

All references to the g_system and g_scumm globals are now gone. BOOYAH!

Tested with MI2, DOTT and S&M, under Windows, in Native MIDI, Adlib, and Mixed modes. No regressions or concurrency issues observed. Manifestations of the latter are the biggest concern at this point.

svn-id: r21104
2006-03-05 21:30:44 +00:00
Jamieson Christian
01af975df4 Rearranged methods in the IMuse class declaration to denote those derived from the MusicEngine base class.
svn-id: r21079
2006-03-04 18:38:27 +00:00
Max Horn
81e8a2860e Moved iMUSE code to the new directory engines/scumm/imuse/
svn-id: r20801
2006-02-20 20:57:26 +00:00