Commit Graph

40 Commits

Author SHA1 Message Date
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion
9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00
Max Horn
7949d7c6de AUDIO: Move more common code to Audio::MidiPlayer
This also should fix some regressions from the previous
commits, related to MidiParser's either being leaked,
or being deleted and then used again (i.e., crashing).

I tested as many games as I had available, but further
testing of all affected engines is called for anyway.
2011-03-25 14:15:53 +01:00
Max Horn
9ffc4e0151 PARALLACTION: Move MidiDriver creation into MidiPlayer(_MSC) constructors 2011-03-25 14:15:47 +01:00
Max Horn
7cc04f25ff PARALLACTION: Change MidiPlayer impls to derive from Audio::MidiPlayer 2011-03-24 16:46:47 +01:00
Max Horn
e70fd59b35 ENGINES: Further simplify pseudo MidiDrivers; fix some regressions
The regression affected AGOS and maybe some others; specifically,
the real MidiDriver would have been deleted twice -- I previously
missed that the Engine instances takes care of freeing the real
MidiDriver, not the MidiPlayer wrapping it.

This commit should clarify the ownership of the real MidiDriver for
most pseudo MidiDrivers.
2011-03-23 16:49:41 +01:00
Max Horn
29847ea42d AUDIO: Change several fake MidiDrivers to MidiDriver_BASE subclasses
Many engines follow the advice in audio/midiparser.h and create a
"pseudo-MidiDriver" subclass. But MidiParser really only needs a tiny
subset of the MidiDriver capabilities, namely those found in
MidiDriver_BASE. So we try to subclass from that whenever possible; this
allows us to remove many stub methods, and enables further future
simplifications.
2011-03-23 15:25:47 +01:00
Max Horn
7b02dac3c5 ENGINES: Use Common::StackLock in more places 2011-03-23 15:25:46 +01:00
Max Horn
8982fff1b7 AUDIO: Add pure virtual MidiDriver::isOpen() method
This in turn enables modifying MidiDriver_MPU401::close() to allow
it to be called on a midi driver that has not yet been opened.

The specific issue that triggered me to make these changes was a
crash-upon-quit in HUGO, caused by it instantiating a midi driver,
then encountering an error (missing hugo.dat) *before* having
opened the new midi driver; the general cleanup code then tries
to close the (not yet opened) midi driver -> kaboom

Also fixed some engines which were leaking MidiDriver instances.
2011-03-22 23:51:47 +01:00
Ori Avtalion
84a8bdc86b JANITORIAL: Remove duplicate #include's
svn-id: r55889
2011-02-12 10:00:52 +00:00
Max Horn
42ab839dd6 AUDIO: Rename sound/ dir to audio/
svn-id: r55850
2011-02-09 01:09:01 +00:00
Nicola Mettifogo
ec03425c0f PARALLACTION: update MIDI driver commands description for BRA.
svn-id: r55792
2011-02-06 10:17:54 +00:00
David Turner
f09d6d7073 PARALLACTION: Close Memory Leak in Big Red Adventure MIDI Playback.
svn-id: r55226
2011-01-13 15:34:18 +00:00
Torbjörn Andersson
c91a07229a JANITORIAL: Removed most punctuation at end of warning() and error()
Our warning() and error() functions always add an exclamation mark
to the end of the message anyway.

svn-id: r52791
2010-09-18 10:55:16 +00:00
Nicola Mettifogo
1c579dc0ac Fix loading of MSC files on big-endian systems. Patch 3004367 by fuzzie.
svn-id: r49128
2010-05-21 12:39:54 +00:00
Max Horn
a1840bd573 AUDIO: Rename Mixer::playInputStream to playStream
svn-id: r48637
2010-04-12 09:14:17 +00:00
Johannes Schickel
a505d32eff Replace use of Audio::makeRawMemoryStream by Audio::makeRawStream.
svn-id: r47716
2010-01-30 15:26:54 +00:00
Max Horn
1565f14bc1 Moved audio stream implementations (for MP3, FLAC, etc.) to new dir sound/decoders/
svn-id: r47579
2010-01-26 22:48:45 +00:00
Max Horn
4b996e7de7 Reorder params to Audio::makeRawMemoryStream
svn-id: r47492
2010-01-23 23:55:35 +00:00
Max Horn
b036392a7b Get rid of deprecated makeRawDiskStream variants; rename deprecated makeRawMemoryStream variant to makeRawMemoryStream_OLD; adapt some code to this change
svn-id: r47472
2010-01-23 13:34:29 +00:00
Max Horn
8508a97add Get rid of two more FLAG_LOOP instances
svn-id: r47459
2010-01-23 00:35:14 +00:00
Max Horn
24ae816395 cleanup
svn-id: r47399
2010-01-19 23:52:49 +00:00
Max Horn
dc5e08e623 Move raw audio flags from sound/mixer.h to sound/raw.h
svn-id: r47395
2010-01-19 22:30:33 +00:00
Max Horn
557bb394de Get rid of Mixer::FLAG_AUTOFREE.
Also fix several recently introduced new/delete vs. malloc/free mismatches.

svn-id: r47369
2010-01-19 00:56:29 +00:00
Max Horn
69be747621 Move raw audio streams to new header sound/raw.h
svn-id: r47368
2010-01-19 00:54:06 +00:00
Max Horn
349fcd1d71 Rename 'Linear' audio streams to 'raw'
svn-id: r47367
2010-01-19 00:52:41 +00:00
Max Horn
f720d99b0a Switch Mixer::playInputStream to use DisposeAfterUse::Flag
svn-id: r47182
2010-01-08 22:09:43 +00:00
Nicola Mettifogo
657e37985e Cleanup of sound code.
svn-id: r41461
2009-06-12 07:55:44 +00:00
Nicola Mettifogo
df1534ffd0 * Replaced the A8SVXDecoder class with a function to return an AudioStream in trunk/sound/.
* Refactored sound code in Parallaction to use the new Audio::make8SVXStream.

svn-id: r41460
2009-06-12 07:18:01 +00:00
Torbjörn Andersson
0999534749 The error() and warning() functions add ! and newline automatically. (I didn't
look at debug() and debugC(), since I'm really bored with this now. :-)

svn-id: r41061
2009-05-31 10:02:16 +00:00
Travis Howell
804cd38c83 Enable music and sound effects in BRA, by default.
svn-id: r40193
2009-04-29 05:47:10 +00:00
Nicola Mettifogo
9108871833 Added in-game menu for BRA. Load/save is not supported yet.
svn-id: r40176
2009-04-28 12:25:41 +00:00
Travis Howell
97abfc9181 Add sound effects support for Amiga demo of BRA.
svn-id: r39717
2009-03-28 10:06:43 +00:00
Travis Howell
4979179621 Add sound effects support for PC version of BRA.
svn-id: r39716
2009-03-28 09:56:39 +00:00
Nicola Mettifogo
631e0aaed5 Changed Disk code to provide SeekableReadStream's to sound routines as well.
svn-id: r39608
2009-03-22 15:25:55 +00:00
Travis Howell
4a45b4408c Sound files don't always exist in the Amiga version of BRA.
svn-id: r39469
2009-03-17 04:07:56 +00:00
Travis Howell
0434c13713 Enable sound effects in the Amiga version of BRA.
svn-id: r39466
2009-03-17 03:32:03 +00:00
Travis Howell
13497da82e Ooops, actually set _mixer.
svn-id: r39411
2009-03-15 06:23:16 +00:00
Travis Howell
a6497584cc Enable music in Amiga version of BRA too.
svn-id: r39409
2009-03-15 06:07:57 +00:00
Nicola Mettifogo
6398e56d09 Added midi support to BRA. So far music starts, but related script commands haven't been implemented yet.
svn-id: r39397
2009-03-14 17:02:28 +00:00