254 Commits

Author SHA1 Message Date
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
3c0fdf9917 Separated IMuse Player into its own file
svn-id: r7832
2003-05-22 16:15:48 +00:00
Jamieson Christian
2612a8f817 Added ParameterFader into savegame format.
Savegames are now version 17 (VER_V17).

svn-id: r7808
2003-05-21 21:38:03 +00:00
Jamieson Christian
38fc644cf6 Replaced VolumeFader with more generic ParameterFader
svn-id: r7803
2003-05-21 20:23:01 +00:00
Jamieson Christian
2dcd2531cf Integrated VolumeFader into each Player
svn-id: r7801
2003-05-21 19:33:50 +00:00
Max Horn
86d57f3c7a many pedantic warning fixes (and some actual potential buglets fixed, too)
svn-id: r7795
2003-05-21 18:09:49 +00:00
Jamieson Christian
db8256df8a More thorough parameterFade and deferredCommand implementation.
Lot of guesswork. parameterFade STILL NEEDS A LOT OF WORK!
These additions at least partially correct the music behavior
in the Tunnel of Love when shorting the controls.

svn-id: r7704
2003-05-20 01:12:40 +00:00
Jamieson Christian
f1982ec9d6 Updated doCommand(14) with new information.
Fixed music bug introduced with fix [712042].
Improved iMuse debug output.

svn-id: r7703
2003-05-19 22:29:35 +00:00
Jamieson Christian
417dc08484 Proof of concept for XMIDI parser in Humongous games.
You must still uncomment the VAR_SOUNDPARAM setting for this to work...?

svn-id: r7670
2003-05-19 05:04:38 +00:00
Jamieson Christian
93825ff948 Fixed program change msgs being sent under Adlib
svn-id: r7615
2003-05-17 19:07:45 +00:00
Jamieson Christian
fcc11d19fa Added imuse_multimidi to debugger
svn-id: r7614
2003-05-17 19:03:25 +00:00
Jamieson Christian
c88e0b5301 Fixed Adlib sound problem on old (small header) games. Thanks for eriktorbjorn for the material that led to the solution.
svn-id: r7610
2003-05-17 17:20:27 +00:00
Jamieson Christian
5a1e994d02 Added command line options for
native MT-32 support and
combination Adilb/native MIDI drivers.

svn-id: r7594
2003-05-17 03:06:16 +00:00
Jamieson Christian
124a34f72a Fixed volume fader problem under multiple MIDI drivers
svn-id: r7585
2003-05-16 23:13:47 +00:00
Jamieson Christian
48f73469e0 Redesigned -t option
svn-id: r7584
2003-05-16 22:28:33 +00:00
Jamieson Christian
5a15ce808a Feature [557411] Adlib sound effects with GM drivers.
Support for simultaneous drivers is based on a
#define in imuse.cpp, and is disabled by default.

svn-id: r7582
2003-05-16 22:00:33 +00:00
Jamieson Christian
3533843ac8 And yet more cleanup
svn-id: r7580
2003-05-16 21:06:54 +00:00
Jamieson Christian
053e7cb71e More IMuse cleanup
svn-id: r7578
2003-05-16 20:38:04 +00:00
Jamieson Christian
0ece527a69 FINALLY got MI2 Woodtick music working!
svn-id: r7577
2003-05-16 19:16:43 +00:00
Jamieson Christian
e503df12a6 Corrected overly aggressive MIDI channel reallocation
svn-id: r7575
2003-05-16 15:48:01 +00:00
Jamieson Christian
2c77fc14aa Fixed SysEx parse error, misc. cleanup
svn-id: r7565
2003-05-16 04:02:33 +00:00
Jamieson Christian
bfb68f513a Fixed game load crash
svn-id: r7561
2003-05-16 02:13:21 +00:00
Jamieson Christian
26d840e4fc IMuseDriver functionality absorbed into IMuseInternal.
Initial structural support for multiple MidiDriver's.

svn-id: r7559
2003-05-16 01:52:45 +00:00
Jamieson Christian
9f6b1bf3a1 Removed deprecated _program.
Miscellaneous cleanup.

svn-id: r7552
2003-05-15 23:08:03 +00:00
Jamieson Christian
69c118a43e Some more streamlining
svn-id: r7547
2003-05-15 22:31:56 +00:00
Jamieson Christian
420095e1f3 Whoops, disable debug
svn-id: r7533
2003-05-15 19:40:10 +00:00
Jamieson Christian
c13591816a More streamlining
svn-id: r7532
2003-05-15 19:39:10 +00:00
Jamieson Christian
00857367f3 Fixed S&M regression in World of Fish music.
Stripped out a bunch of deprecated stuff.

svn-id: r7529
2003-05-15 18:24:59 +00:00
Jamieson Christian
33c8c2fae8 Fixed panning issue
svn-id: r7524
2003-05-15 13:56:41 +00:00
Max Horn
8188d946b3 fixed warning
svn-id: r7383
2003-05-07 22:50:15 +00:00
Jamieson Christian
15bf5ba885 ..\..\msg.txt
svn-id: r7382
2003-05-07 19:24:14 +00:00
Jamieson Christian
a0c98d1f14 Interim fix for Bug [712042] FOA: Lockup.
Final fix will require a savegame format mod.

svn-id: r7358
2003-05-05 16:07:10 +00:00
Max Horn
2b74abd2c9 PalmOS changes
svn-id: r7224
2003-04-30 13:23:31 +00:00
Jamieson Christian
2a1e87fa7c Revised fix to bug [666187] DOTT: Coffee music never stops
svn-id: r7021
2003-04-19 14:23:40 +00:00
Jamieson Christian
20e22e6f29 Fix for bug [666187] DOTT: Coffee music never stops
svn-id: r7016
2003-04-18 14:38:31 +00:00
Max Horn
b25a47ffc5 Patch #691696: Possible fix for Adlib regression
svn-id: r6857
2003-03-25 00:28:09 +00:00
Max Horn
be47bc121e cleanup
svn-id: r6847
2003-03-23 13:14:54 +00:00
Max Horn
0602882b18 cleanup
svn-id: r6832
2003-03-18 16:13:52 +00:00
Paweł Kołodziejski
aa3766018f updated copyrights headers
svn-id: r6726
2003-03-06 21:46:56 +00:00
Paweł Kołodziejski
093428ae9a and more cleanup
svn-id: r6718
2003-03-06 17:58:13 +00:00
Jamieson Christian
b5d8f469b6 Separated IMuseDigital into its own files.
svn-id: r6229
2002-12-28 14:40:56 +00:00
James Brown
d3ade5b23e Add skeleton music support for CMI (but codec not implemented)
svn-id: r6193
2002-12-27 11:47:00 +00:00
Ruediger Hanke
9e0e918397 Fix midi driver thread for MorphOS
svn-id: r6123
2002-12-25 12:36:29 +00:00
Max Horn
563f99b1fe more -pedantic warnings fixed
svn-id: r6109
2002-12-25 00:38:53 +00:00
Jamieson Christian
01ffb7bec2 Fix to instrument load/save
svn-id: r6051
2002-12-21 23:19:42 +00:00
Jamieson Christian
ebd2dc7f67 IMuseMonitor functionality now built into IMuse itself.
IMuseInternal no longer derives from IMuse.
This eliminates a couple layers of indirection and speeds things up.
Miscellaneous source cleanup.

svn-id: r6049
2002-12-21 21:09:36 +00:00
Jamieson Christian
f60bda7d5c Implemented new instrumentation save/load.
Save/load version is now VER_V11.
Adlib/MT-32 instrumentation is now saved and loaded.
BACK UP YOUR VER_V10 SAVEGAMES, JUST IN CASE!

svn-id: r6044
2002-12-21 20:10:47 +00:00
Jamieson Christian
799da2baef [Bug #656635] fixed.
Adlib global instrument assignments are now correct.

svn-id: r6028
2002-12-20 13:09:01 +00:00
Jamieson Christian
b708c7dd64 Miscellaneous cleanup.
svn-id: r6021
2002-12-18 17:14:05 +00:00
Jamieson Christian
f95ea3afdf Fixed problems with instruments after load.
Ignore Adlib-only music when running native MIDI.
(Can't remember why I included them in the first place,
 so until I do remember, it's coming back out.)

svn-id: r6020
2002-12-18 14:57:25 +00:00