448 Commits

Author SHA1 Message Date
Max Horn
d2b61e9bef properly init member vars instead of using memset
svn-id: r8608
2003-06-22 13:48:47 +00:00
Max Horn
4ead10e4d5 Change names of the stream API in the mixer; added endStream method (stop() halts stream immediately; endStream() lets it first finish playing)
svn-id: r8603
2003-06-22 11:47:03 +00:00
Jonathan Gray
0a6b7ad6ac fix compile when vorbis is enabled, loomcd is now broken with vorbis after recent changes :/
svn-id: r8598
2003-06-22 03:54:43 +00:00
Max Horn
4ad5a183ce renamed SoundMixer::hasActiveChannel->hasActiveSFXChannel, and fixed the regression in it caused by removing _beginSlots (I hope); added isActiveChannel method used by scumm/sound.cpp (this allowed me to move the Channel class from mixer.h into mixer.cpp); replaced Channel::soundFinished method by isActive
svn-id: r8597
2003-06-22 01:55:53 +00:00
Max Horn
573a1e3e99 remove the realDestroy methods and instead use destructors; renamed insertAt to insertChannel and simplified/unified its usage; delete the mutex when exiting; cleanup
svn-id: r8596
2003-06-22 01:34:28 +00:00
Max Horn
bd4370c251 lots of mixer cleanup / refactoring / reengineering
svn-id: r8594
2003-06-21 23:29:34 +00:00
Max Horn
7c332d7fdb modified & cleaned up the playStream/append code a bit; but this API really could stand some refinement
svn-id: r8592
2003-06-21 21:17:08 +00:00
Max Horn
11b2961fdb cleanup
svn-id: r8584
2003-06-21 19:52:12 +00:00
Jonathan Gray
2ba86fd0e5 make gcc happy
svn-id: r8583
2003-06-21 15:55:08 +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
Marcus Comstedt
2aed2d9284 Use stdafx.h instead of manually including system headers.
svn-id: r8541
2003-06-18 21:10:05 +00:00
Max Horn
fcc46ac891 more cleanup
svn-id: r8497
2003-06-15 01:56:47 +00:00
Max Horn
6f50feb359 fixed cast warnings
svn-id: r8435
2003-06-11 07:14:39 +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
d2c952b315 Fixed race condition in MPU401 shutdown
svn-id: r8432
2003-06-11 05:54:46 +00:00
Max Horn
f7e85af552 use clear_sound_proc to properly deinit the mixer (this fixes a crash-on-exit)
svn-id: r8410
2003-06-09 01:19:44 +00:00
Bertrand Augereau
17e6779b65 Made some conversions explicit to prevent VC.NET 2003 from complaining
svn-id: r8254
2003-06-01 21:52:53 +00:00
Jamieson Christian
42f6d10581 Fixed hanging notes on Smart Jump when Note Off event cannot be found.
(I'm not sure why the Note Off would not be found,
but at least we're properly dealing with such notes now.)

svn-id: r8250
2003-06-01 18:24:10 +00:00
Jamieson Christian
86138eda44 Documentation corrections
svn-id: r8224
2003-06-01 04:06:24 +00:00
Jamieson Christian
452735e320 Some last SysEx cleanup.
svn-id: r8223
2003-06-01 04:05:13 +00:00
Jamieson Christian
6aba98450b Some Doxygen documentation. Just to test.
svn-id: r8195
2003-05-31 22:04:21 +00:00
Max Horn
e08d4f072e more OSystem docs & cleanup
svn-id: r8118
2003-05-29 22:34:35 +00:00
Max Horn
417ec3a588 added TODO: get rid of create_thread
svn-id: r8115
2003-05-29 21:29:54 +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
f8e9e55fba allNotesOff() now sends to all 16 channels, not just the first 15. Duh.
svn-id: r7899
2003-05-24 19:11:49 +00:00
Max Horn
0439e0fe58 fixed nasty deadlock I recently introduced
svn-id: r7867
2003-05-23 16:47:45 +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
7bcdf0d568 Fixed tempo problems in Simon games
svn-id: r7853
2003-05-23 04:54:45 +00:00
Jamieson Christian
0be2b4673c Removed annoying warning
svn-id: r7851
2003-05-23 04:35:50 +00:00
Jamieson Christian
08b5337b20 Fixed gcc warning
svn-id: r7850
2003-05-23 04:30:50 +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
Max Horn
1383ccbdbe make sure that the mutex protects everything that affects the buffer
svn-id: r7835
2003-05-22 21:34:20 +00:00
Jamieson Christian
1918dc555f Added "smart-jump" capability to MidiParser.
svn-id: r7831
2003-05-22 15:34:30 +00:00
Max Horn
b4c94e4aee pedantic warning fix
svn-id: r7792
2003-05-21 17:33:32 +00:00
Jamieson Christian
622e3578b4 More Simon music fixes
svn-id: r7769
2003-05-21 06:14:14 +00:00
Jamieson Christian
4584cb9616 Corrections to SMF Type 1 compression to Type 0.
Fixes simon2win title music.

svn-id: r7755
2003-05-20 20:58:59 +00:00
Jamieson Christian
a768deb83f Simon music fixes
svn-id: r7744
2003-05-20 16:43:53 +00:00
Max Horn
d1391702ea init member vars to 0
svn-id: r7732
2003-05-20 14:55:47 +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
Jamieson Christian
e8771e7684 Fixed problem updating callback
svn-id: r7691
2003-05-19 17:45:21 +00:00
Max Horn
3d14e5305e fix shadow warning; removed unused var
svn-id: r7677
2003-05-19 09:04:50 +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
40ce9cdcc3 MidiStreamer goes away, replaced by MidiParser
svn-id: r7663
2003-05-19 00:50:30 +00:00
Jamieson Christian
9cbc6904a0 Fixed gcc warnings, virtual destructor problem
svn-id: r7656
2003-05-19 00:12:16 +00:00
Jonathan Gray
1b410c50dd remove dup object
svn-id: r7655
2003-05-19 00:02:50 +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
febf19cb3f SMF/GMF implementation of MidiParser
svn-id: r7650
2003-05-18 23:36:38 +00:00