25 Commits

Author SHA1 Message Date
James Brown
cb4b3c1f7e Prevent infinite loop by displaying the launcher after a game start FAILURE too.
svn-id: r15787
2004-11-11 14:01:11 +00:00
Max Horn
033ff78ae9 updated copyright notice
svn-id: r12176
2004-01-06 12:45:34 +00:00
Jamieson Christian
f82a23771c Expanded the Doxygen docs for the MidiParser class.
Painfully detailed in its description of how to
get a MidiParser object hooked up and running.

Hope this helps ya, Joost! ;)

svn-id: r11559
2003-12-11 00:51:51 +00:00
Jamieson Christian
c95e9d12a2 Endian-safe read-and-advance helper functions are
now based on the READ_LE_* and READ_BE_* macros.
Very slight performance gain, woo hoo.

svn-id: r11558
2003-12-10 23:52:29 +00:00
Max Horn
ad293a5ab8 cleanup / doxygenification
svn-id: r10578
2003-10-03 23:34:06 +00:00
Jamieson Christian
d7fae3d1cb More corrections to the VAR_MUSIC_TIMER
computations, mostly to produce the
exptected output with AD resources.

svn-id: r9730
2003-08-16 17:08:22 +00:00
Jamieson Christian
121b00a6f7 Corrected timing mechanism for RO music streams.
RO streams have built-in timer markers (the
unknown 0xA0 mentioned in FR [742249]) that
override automated methods of updating
VAR_MUSIC_TIMER. Since these timer markers
do not seem to be present in AD resources, the
old mechanism is used if MD_ADLIB is the current
MidiDriver.

svn-id: r9720
2003-08-16 09:34:19 +00:00
Jamieson Christian
4ac4d76718 Fix for Bug [766426]: V5 Games: Adlib SFX not looped
Modified Smart Jump logic to deal with active notes
whose Note On and Note Off events BOTH occur OUTSIDE
the range of the jump. While this is not a thorough
way to deal with Note On events that occur outside
jump points, it at least deals with the issue of
long, unchanging Adlib SFX used by some earlier
SCUMM games.

svn-id: r8892
2003-07-10 04:34:44 +00:00
Jamieson Christian
f83a32464c Fix for bug [756555] ALL: With '-ewindows' notes don't stop at quit
and bug [755176] SIMON2: Hanging notes

More cleanup of the thread issues associated with iMuse and MidiParser
shutdown. Untested.

svn-id: r8546
2003-06-18 22:46:17 +00:00
Jamieson Christian
01ba60ccef Fixed post-mortem attempts to transmit MIDI data
svn-id: r8433
2003-06-11 06:43:24 +00:00
Jamieson Christian
86138eda44 Documentation corrections
svn-id: r8224
2003-06-01 04:06:24 +00:00
Jamieson Christian
6aba98450b Some Doxygen documentation. Just to test.
svn-id: r8195
2003-05-31 22:04:21 +00:00
Jamieson Christian
11e59488ef Fixed occassional music crashes when loading games.
Thanks to eriktorbjorn for finding this issue.

svn-id: r7959
2003-05-25 15:47:06 +00:00
Jamieson Christian
982883c637 Fixed problem with hanging notes on some synth modules.
Various little MidiParser fixes.

svn-id: r7863
2003-05-23 15:04:41 +00:00
Jamieson Christian
c6568530bd Revamped iMuse and Player classes. Player now uses MidiParser to parse its data, which will allow it to parse other MIDI formats. To receive parsed data, Player now derives from MidiDriver to act as a "fake MIDI driver".
Miscellaneous upgrades and fixes to MidiParser, including the Smart Jump (which could not be tested before iMuse started making use of the MidiParser).

*** THIS IS A BIG UPGRADE! EXTENSIVE REGRESSION TESTING IS NEEDED! ***

This has been tested through the intros and a number of other scenes from MI2, FOA and S&M.

NOTE! This upgrade introduces savegame format version V19. Earlier version savegames will load, but the music will simply start over from the beginning. Only V19 and later games will properly restore the position of the music! Don't say you weren't warned....

svn-id: r7849
2003-05-23 04:19:47 +00:00
Jamieson Christian
1918dc555f Added "smart-jump" capability to MidiParser.
svn-id: r7831
2003-05-22 15:34:30 +00:00
Jamieson Christian
622e3578b4 More Simon music fixes
svn-id: r7769
2003-05-21 06:14:14 +00:00
Jamieson Christian
46a0be5ae8 Fixed regression in XMIDI parsing.
svn-id: r7706
2003-05-20 03:27:45 +00:00
Jamieson Christian
996614936a Fixed anonymous structs warning.
svn-id: r7696
2003-05-19 19:24:22 +00:00
Jamieson Christian
3dc788da63 Moved common parsing logic into MidiParser base class.
Added auto-loop capability.

svn-id: r7692
2003-05-19 18:48:18 +00:00
Max Horn
682d88cf71 fix shadow warning
svn-id: r7675
2003-05-19 09:01:25 +00:00
Jamieson Christian
ff41896480 Fixed Simon 1 music regression.
SMF parser now supports malformed Simon pitch bend events.
Implemented SMF parser jump method.

svn-id: r7669
2003-05-19 05:00:13 +00:00
Jamieson Christian
9cbc6904a0 Fixed gcc warnings, virtual destructor problem
svn-id: r7656
2003-05-19 00:12:16 +00:00
Jamieson Christian
c81b58d38e Implemented new Simon MIDI module, switching from MidiStreamer to MidiParser. Restructuring enables XMIDI support and vc_72 implementation. Various cleanup on MidiParser's and MidiDriver's.
svn-id: r7654
2003-05-18 23:55:53 +00:00
Jamieson Christian
79be84af36 New plug-in MIDI parser modules, INCOMPLETE.
svn-id: r7636
2003-05-18 14:25:33 +00:00