Commit Graph

755 Commits

Author SHA1 Message Date
Torbjörn Andersson
13dc149ded Applied patch #1175374 ("FluidSynth MIDI driver"), with a few documentation
changes. There are a few things that could use a bit more work, and I've
only tested it on my Linux box. I have verified that ScummVM still compiles
when it's disabled, though, so it shouldn't break anything too badly.

svn-id: r17512
2005-04-10 14:33:44 +00:00
Jonathan Gray
24c92d0091 Remove usage of vsprintf in favour of vsnprintf and make
more use of STRINGBUFLEN.  Some ports may need a new stub for
this, discussed with Chrilith.

svn-id: r17463
2005-04-09 01:52:44 +00:00
Max Horn
9e2e00881f Renamed getActiveChannelSoundID to getSoundID and fixed its semantics to avoid race conditions
svn-id: r17377
2005-04-04 17:43:00 +00:00
Travis Howell
f230fe65e8 Add 8 sound channel support for HE games
-Allows sound looping to work

Added support for WAVE format musuc used in later HE100 games.

svn-id: r17372
2005-04-04 11:43:25 +00:00
Jerome Fisher
eda317924e Committed patch #1168149 (Shared GM/MT-32 mapping) by eriktorbjorn as-is. This does the following:
- Replaces multiple identical MT-32-to-General MIDI mapping tables with a common one in MidiDriver.
- Changes Sky's GmChannel class to allow NULL instrument and velocity mapping tables, giving a 1-to-1 mapping without creating a dummy table.

svn-id: r17361
2005-04-03 22:01:38 +00:00
Max Horn
3084724d7d To prevent race conditions, SoundMixer::isSoundHandleActive must lock the mixer mutex. That change might however cause regressions (read: dead locks) if some code calls isSoundHandleActive from within a sound callback... if you encounter any, please tell me
svn-id: r17209
2005-03-23 16:41:44 +00:00
Max Horn
61d0e3f02c Make sure SoundHandle's are inited
svn-id: r17194
2005-03-22 18:29:02 +00:00
Jerome Fisher
7f83c47860 Merged with latest Munt CVS.
* Added support for most of the extended capabilities of the CM-32L/LAPC-I (more rhythm timbres, more rhythm key mappings, more PCM samples).
* The control ROM is now identified by searching for matching ID strings at various locations in the file. There are now a lot of safety checks to help ensure that a bad ROM will not crash the emulator.
* Three control ROM versions are now identified and mapped out - an original MT-32 control ROM, an original CM-32L ROM, and the Blue Ridge modified MT-32 ROM.
* Now supports the expression controller properly.
* Sustain is now turned off correctly again.
* "All Notes Off" no longer stops notes held by the sustain controller.
* Implemented "Reset all controllers".
* Stereo pan positions are no longer inverted.
* Volume, pitch, filter and envelopes are now more accurately calculated. Overall, the sound emulation is much more accurate.
* Waveforms are now slightly more accurate (in terms of pitch), necessitating a regeneration.
* Handling of unusual sysex messages has been improved (fixes sysex messages from Java's MIDI classes on Windows).
* Fixed a reverb bug during periods of silence.

svn-id: r17188
2005-03-20 16:24:55 +00:00
Max Horn
0e784d41d7 Simplified SoundHandle implementation
svn-id: r17107
2005-03-12 20:26:49 +00:00
Max Horn
7cd2cb2b17 PlayingSoundHandle -> SoundHandle; also, turned the handle activity check into a mixer method
svn-id: r17106
2005-03-12 18:56:09 +00:00
Chris Apers
a68d6ad671 PalmOS : ARM optimized OPL driver
svn-id: r17079
2005-03-11 11:01:52 +00:00
Max Horn
0ec193b4be changing AudioDataType -> SoundType, so now the constant names match the name of the data type / the SoundMixer method names
svn-id: r17052
2005-03-09 18:12:54 +00:00
Max Horn
b7c2926a0b Typo
svn-id: r17006
2005-03-06 13:23:39 +00:00
Max Horn
cda823ea63 It's kMaxMixerVolume, not 256 (we might change it to 255 eventually)
svn-id: r16747
2005-02-06 20:35:06 +00:00
Travis Howell
bebad400d6 Check sound queue for music in HE games.
Avoid extra sound channel.

svn-id: r16706
2005-01-30 11:03:49 +00:00
Max Horn
abd12dd1b6 Use class Mutex instead of MutexRef
svn-id: r16679
2005-01-28 22:05:51 +00:00
Nicolas Bacca
2f8f982f7d Add medium quality sound for FOTAQ
svn-id: r16676
2005-01-28 20:46:36 +00:00
Torbjörn Andersson
9eecc9406d 16-bit WAVs are little-endian.
svn-id: r16539
2005-01-11 08:30:28 +00:00
Torbjörn Andersson
13e2c224c8 This is probably not the optimal fix, but at least ScummVM compiles again.
svn-id: r16538
2005-01-11 08:06:19 +00:00
Max Horn
ec79a9a768 A little more moving around #include's (last one for today ;-)
svn-id: r16534
2005-01-10 22:51:42 +00:00
Max Horn
f030081647 eek, we put a static RandomSource instance into every file that included fmopl.h...
svn-id: r16532
2005-01-10 22:46:23 +00:00
Max Horn
5c48717dd2 Remove some more header dependencies
svn-id: r16530
2005-01-10 22:35:43 +00:00
Max Horn
cffd917165 system.h was being included in tons of places, without any good reason; reduced this (total dependencies on system.h went down from 193 to 85 files)
svn-id: r16527
2005-01-10 22:06:49 +00:00
Max Horn
51112e49b5 Fix legal header
svn-id: r16506
2005-01-09 16:14:56 +00:00
Max Horn
9cea3d393f Added shared code to load WAV(E) data from arbitrary seekable streams (files or memory)
svn-id: r16502
2005-01-09 15:49:43 +00:00
Max Horn
eeea238ef7 This function is currently not used...
svn-id: r16501
2005-01-09 15:48:47 +00:00
Max Horn
0fb2bd30f4 cleanup
svn-id: r16500
2005-01-09 15:48:27 +00:00
Max Horn
32f0dbdcb2 Moving AppendableAudioStream into SCUMM engine, as it is only used there
svn-id: r16494
2005-01-09 03:15:59 +00:00
Max Horn
c6e0d31e76 Added a font manager (work in progress)
svn-id: r16460
2005-01-06 21:15:52 +00:00
Max Horn
5d88c39549 Modify the singleton code once more to help overcome an issue with MSVC 7 (see also patch #1095133)
svn-id: r16454
2005-01-06 18:38:34 +00:00
Travis Howell
ab432327d8 Add missing control changes, patch #1094825.
svn-id: r16416
2005-01-03 11:33:12 +00:00
Max Horn
74bf578bda Changed the singleton code to allow for custom object factories; this allowed me to change OSystem to use the singleton base class, too
svn-id: r16404
2005-01-01 19:19:06 +00:00
Max Horn
f52be9df68 Changed OSystem::instance() to return a reference, not a pointer (it now matches the Singleton interface)
svn-id: r16402
2005-01-01 18:53:47 +00:00
Max Horn
2664ca7eb1 oops, correct copyright string
svn-id: r16399
2005-01-01 16:20:17 +00:00
Max Horn
47280d9433 Updated copyright
svn-id: r16398
2005-01-01 16:09:25 +00:00
Max Horn
b15d92e470 Fix running ScummVM in plugin-mode
svn-id: r16360
2004-12-28 20:29:42 +00:00
Max Horn
160a28e912 Fixing hasActiveChannelOfType
svn-id: r16354
2004-12-28 11:19:36 +00:00
Max Horn
48e70acbaa Use SoundMixer::kMaxMixerVolume
svn-id: r16351
2004-12-27 23:58:04 +00:00
Max Horn
bc882a1af4 Introduced two new constants SoundMixer::kMaxChannelVolume and SoundMixer::kMaxMixerVolume, for clarity
svn-id: r16348
2004-12-27 23:33:19 +00:00
Max Horn
357eb38b49 Allow premix channels to use a custom sound type
svn-id: r16332
2004-12-27 02:58:55 +00:00
Max Horn
f15f517bb4 Add 'speech' sound type to mixer; make use of that in iMuse Digital
svn-id: r16331
2004-12-27 01:32:40 +00:00
Max Horn
67b311713d Added 'sound types' to the mixer - for now, only plain (for the premixer), SFX and music; volume is now controlled based on the sound type
svn-id: r16330
2004-12-27 00:27:00 +00:00
Max Horn
fec3df2096 Moved the softsynth midi drivers into a sound/softsynth; amongst other things, this fixes bug #1083058
svn-id: r16316
2004-12-25 18:34:44 +00:00
Max Horn
433711be5e Removing this dead code for now, it only leads to confusion
svn-id: r16314
2004-12-25 18:22:55 +00:00
Max Horn
59b6a07826 Evil workaround for bug #1083058
svn-id: r16045
2004-12-14 01:02:55 +00:00
Max Horn
3891c0fa39 change loadVOCFromStream to take a reference instead of a pointer (to a stream)
svn-id: r16035
2004-12-11 23:34:34 +00:00
Max Horn
5d5a13eec7 Moved MidiDriver creation code into the MidiDriver class (as static methods), same for some other MIDI related stuff
svn-id: r15968
2004-12-02 00:33:42 +00:00
Max Horn
d6d3e5422b cleanup
svn-id: r15955
2004-11-28 23:24:32 +00:00
Max Horn
10dd548b85 Changed parameter order of SoundMixer::playInputStream to match that of playRaw
svn-id: r15950
2004-11-28 23:02:28 +00:00
Jerome Fisher
45d92a02f4 Added a "permanent" field to Channels, which simply prevents them from being deleted during stopAll().
I hope this doesn't step on anyone's toes; it was quite urgent, since loading a saved game stopped MT-32 emulation audio forever.

svn-id: r15946
2004-11-28 22:15:09 +00:00
Max Horn
f6b495c8bc Assume for now that the premixer is always used for music playback (as opposed to being used for SFX); this affects the volume (see bug #1049375)
svn-id: r15940
2004-11-28 13:57:49 +00:00
Max Horn
c51b1266c0 Removed the (highly SCUMM specific) 'appendable stream' API from SoundMixer; SCUMM now uses the appendable stream directly
svn-id: r15919
2004-11-27 17:09:05 +00:00
Max Horn
573e02bb4c Removed the old setupPremix version, it is not needed anymore. Also fixed some doxygen comments (they were being assigned to the wrong things)
svn-id: r15918
2004-11-27 16:26:54 +00:00
Max Horn
ba74a8e7f6 Added some more mixer doxygen docs; cleaned up Mixer API a bit, removing some very specialised methods
svn-id: r15914
2004-11-27 15:58:18 +00:00
Max Horn
1a7ca2dc2a AudioStream::read() has been removed quite some time ago, now making sure that change is reflected everywhere
svn-id: r15911
2004-11-27 13:54:09 +00:00
Max Horn
96804652a2 cleanup
svn-id: r15863
2004-11-22 22:52:48 +00:00
James Brown
4aa5649c1e Erm, this was never meant to be commited. I might as well leave the .h change for now, until kyra is investigated further.
svn-id: r15788
2004-11-11 14:19:38 +00:00
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
Eugene Sandulenko
805b21181a Major MT-32 emu overhaul based on KingGuppy's code.
o added configure option
 o mi2 intro doesn't freeze anymore and has no sound glitches
 o missing instruments in many titles are fixed
 o numerous memory overwrite bugs are fixed
 o code is cleaned a lot and splitted into many smaller files
 o mt32.cpp went to backends/midi
 o synced with upstream code
 o reverberation fixed

 * don't complain about File class wrapper :)
 * all custom types are back
 * #pragmas are to do
 * maybe some indentation is wrong too

I prefer smaller commits, but this thing came in one piece.

svn-id: r15715
2004-11-06 01:41:32 +00:00
Eugene Sandulenko
775bd838c7 Delegate channel functions to any MidiDriver. This is useful for the
MT-32 emulation and quite possibly other MidiDrivers in future.

svn-id: r15711
2004-11-04 21:34:17 +00:00
Max Horn
5f4575ccd0 Doxygen fixes
svn-id: r15699
2004-10-30 21:52:57 +00:00
Paweł Kołodziejski
c10cce6af1 fixed warnings
svn-id: r15665
2004-10-23 13:39:03 +00:00
Chris Apers
dc02e95cd7 Prepare true AdLib support on PalmOS
svn-id: r15649
2004-10-22 12:11:24 +00:00
Eugene Sandulenko
9d0b746aaa Patch #1048326 Better MT-32 support
svn-id: r15635
2004-10-21 22:37:37 +00:00
Max Horn
697da0eb9b Add comment
svn-id: r15595
2004-10-17 19:39:54 +00:00
Max Horn
9f4bf02c1e Fix playback of MP3 files till EOF in some cases
svn-id: r15587
2004-10-17 13:49:11 +00:00
Max Horn
1036e88aa6 Implement premix proc via an AudioStream / Channel (eventually we'll remove the setupPremix method which takes a proc pointer)
svn-id: r15522
2004-10-11 22:01:21 +00:00
Eugene Sandulenko
ae7421ae2b Make AppendableAudioStream endianness-aware.
svn-id: r15491
2004-10-09 22:51:00 +00:00
Max Horn
ce8c99bf62 Rename remaining OSystem methods to match our coding guidelines
svn-id: r15332
2004-09-28 20:19:37 +00:00
Max Horn
f66960c4b9 Remove obsolete path param
svn-id: r15278
2004-09-25 23:33:34 +00:00
Max Horn
61b7e2155a Fix doxygen warnings
svn-id: r15277
2004-09-25 23:26:46 +00:00
Max Horn
9ec7b57f9b Fix potential race condition
svn-id: r15191
2004-09-19 13:54:24 +00:00
Travis Howell
e22230e223 Actually check if a sound is active, if the sound is outside music engine.
Add some more HE differences

svn-id: r15188
2004-09-19 12:22:47 +00:00
Paweł Kołodziejski
0e9967afe1 smush tracks are not music channel, removed outdated dimuse comment
svn-id: r15167
2004-09-18 14:31:36 +00:00
Paweł Kołodziejski
3a19ca1be3 fixde bug IMUSE+DEBUG
svn-id: r14892
2004-09-04 13:13:23 +00:00
Max Horn
3511e688ab Fix for bug #1022265 (Memory leak in vorbis.cpp?)
svn-id: r14889
2004-09-04 10:12:22 +00:00
Max Horn
759cd67de5 cleanup of TimerProc mess
svn-id: r14683
2004-08-22 13:27:34 +00:00
Max Horn
cebd4a24cb Remove orphaned TODO
svn-id: r14517
2004-08-08 15:22:47 +00:00
Travis Howell
5e7d2494bb Update comment
svn-id: r14456
2004-08-03 10:11:54 +00:00
Travis Howell
2b1c98b6ea Add comment
svn-id: r14455
2004-08-03 09:46:38 +00:00
Travis Howell
fd2e14f33c Add invalid version used by French Simon2
svn-id: r14453
2004-08-03 03:18:51 +00:00
Max Horn
4b6dae31eb changed loadVOCFile to work on a generic ReadStream instead of a File, and renamed it to loadVOCFromStream; removed readVOCFromMemory as it isn't used anymore, and in the future, a MemoryReadstream plus loadVOCFromStream can achieve the same effect
svn-id: r14383
2004-07-31 11:46:58 +00:00
Torbjörn Andersson
70f8f689a1 Applied patch #957544 to make output sample rate configurable at runtime.
svn-id: r14225
2004-07-16 10:24:29 +00:00
James Brown
9756a420a3 Use extrapath in Sword1 engine (from 0.6.0 branch). More verbose errors to go with the forthcoming new manual. Sword1 CD swapping doesn't work as expected HERE, either :)
svn-id: r14188
2004-07-11 04:41:48 +00:00
Paweł Kołodziejski
c7133de879 getFreeSpace() is not longer used
svn-id: r14136
2004-07-01 04:43:32 +00:00
Max Horn
4f80e2f36b Fix for bug #981991 (VORBIS: Crash when using Ogg Vorbis CD tracks)
svn-id: r14128
2004-06-29 23:27:18 +00:00
Max Horn
e0eab01e63 Make use of new File refcount code; also fixed long standing bug in vorbis code (ov_clear was not being called, resulting in a file not being closed)
svn-id: r14107
2004-06-28 22:35:22 +00:00
Torbjörn Andersson
51b373eb6f Fixed a typo in a comment.
svn-id: r13948
2004-06-09 06:30:49 +00:00
Torbjörn Andersson
6dc0191e03 Make allNotesOff() also turn off all "hanging notes". Without this change,
I wasn't able to fully stop ITE's XMIDI music - there would always be a
couple of notes hanging even after unloading it. Apparently this music
doesn't use the "active notes" mechanism at all, and I guess the ALSA
driver doesn't support the "All Note Off" event.

I'm still not 100% sure this is the correct fix, but unless someone has any
better idea...

svn-id: r13910
2004-05-31 08:51:10 +00:00
Nicolas Bacca
ab9598e2f5 Config sample switch for WinCE
svn-id: r13815
2004-05-09 14:26:01 +00:00
Max Horn
90cced2a5b Remove odd sample rate hack (for DOTT demo); instead, be slightly less strict about VOC headers, since DOTT demo (and maybe others) use buggy VOC headers
svn-id: r13787
2004-05-05 10:58:07 +00:00
Max Horn
151d92e8cd Explain a bit what getSampleRateFromVOCRate() does; mark a hack in it more clearly; disable warning
svn-id: r13756
2004-05-02 22:33:28 +00:00
Torbjörn Andersson
3ebb895e9a Doubled the buffer size to prevent crashes with the Inherit the Earth
MIDIs. This is a temporary fix - Jamieson630 said something about making a
better fix later - but it will have to do for now.

svn-id: r13719
2004-05-01 16:42:58 +00:00
Jamieson Christian
72568a8b43 Fix for [945497] Possible bug in midiparser_smf.cpp
Corrected Type 0 SMF compression to properly account
for command lengths when Running Status is being used.
Also increased buffer size for Type 0 output since
Running Status can result in the Type 0 output being
larger than the source data. Needs some more work,
but at least the Wyrmkeep people can keep going in
the meantime.

svn-id: r13707
2004-05-01 13:16:45 +00:00
Torbjörn Andersson
182cbf7091 Changed printf() to warning()
svn-id: r13684
2004-04-30 17:48:20 +00:00
Torbjörn Andersson
a0623e6012 Changed printf() to warning(). (Even in the case where the message used to
say "ERROR".)

svn-id: r13677
2004-04-29 11:57:25 +00:00
Torbjörn Andersson
92407c56b3 Changed printf() to warning(), plus some formatting changes.
svn-id: r13676
2004-04-29 11:51:11 +00:00
Paweł Kołodziejski
d2fa7bbcc7 synced code free space with buffer changes
svn-id: r13646
2004-04-26 20:48:09 +00:00
Jamieson Christian
f7084c20e9 MIDI control change 18 is no longer transmitted.
It is not a valid MIDI control change message.
It is used internally in the SCUMM MIDI tracks
to indicate part priority.
The only MidiDriver that needs it is Adlib.
It should be noted that the priority values are
out of bounds for a regular MIDI message anyway.
Valid control change values are 0-127, but the
priority value ranges from 0-255.

This fixes a crash with a certain software MT-32
emulator running under Linux. Thanks to olki for
bringing up this issue.

svn-id: r13645
2004-04-26 20:34:59 +00:00
Jamieson Christian
4ee0365a23 Tweaked a few things to accommodate
MSVC6's idiosyncracies.

svn-id: r13644
2004-04-26 20:28:34 +00:00
Paweł Kołodziejski
43979c9012 delete CustomProcInputStream and add getFreeSpace for appendable audiostream
svn-id: r13629
2004-04-25 18:43:46 +00:00
Paweł Kołodziejski
6680c5368d added CustomProcInputStream
svn-id: r13570
2004-04-13 05:57:52 +00:00
Max Horn
6bf0cce89c Clean up VOC code, and fix potential out-of-bounds access
svn-id: r13535
2004-04-10 22:34:07 +00:00
Max Horn
56b5b9f7df Fix for bug #885490 (FT: Ben stops talking mid-scentence @ the gorge) -> this only works for monster.sou files; compressed audio is incomplete, and we have to fix the extract tool to correct that
svn-id: r13531
2004-04-10 01:46:38 +00:00
Torbjörn Andersson
86a5466526 Changed the UNIX line breaks.
Fixed the problem where the lookout music didn't play in the MI1CD intro.
At least, I *think* I fixed it. It worked at home, but I can't test it on
this particular computer.

svn-id: r13515
2004-04-09 07:24:08 +00:00
Max Horn
650dc2117c seems it is 'endianness' and not 'endianess'
svn-id: r13504
2004-04-08 22:46:46 +00:00
Torbjörn Andersson
0fb1d56589 Format string fix.
svn-id: r13408
2004-03-28 15:04:48 +00:00
Torbjörn Andersson
3f99723423 When I played an Ogg Vorbis-encoded FotAQ I noticed that whenever a sound
effect happened during a line of speech there was a chance - not a
certainty - that the speech would get cut off prematurely.

As far as I can tell, this is because the Vorbis decoder isn't the only one
who's accessing the same file. Now the Vorbis decoder will explicitly seek
to the position where it expects the file to be at before reading from it.
I hope this is the correct fix. It does fix the problem for me, at least.

I don't know if any of the other decoders needs a similar patch. I couldn't
reproduce the problem with my MP3-encoded FotAQ, but there are other
possible explanations for that, e.g. the bug gets harder to trigger the
more sound data that is decoded in each pass.

svn-id: r13353
2004-03-21 16:59:10 +00:00
Max Horn
1b537be8d4 Patch #902111: Change remaining random function calls to use RandomSource
svn-id: r13262
2004-03-13 18:44:10 +00:00
Max Horn
c6752cccf5 renamed more OSystem methods to follow our naming scheme; renamed NewGuiColor to OverlayColor; fixed some calls to error() in the SDL backend
svn-id: r13087
2004-02-28 12:58:13 +00:00
Max Horn
d158280425 the OSystem changes we discussed on the ML (note: renaming of the existing OSystem API is not yet finished); porters will have to fix their ports to get them to compile again
svn-id: r13036
2004-02-24 22:39:42 +00:00
Max Horn
aa6ec62e9d Patch #885904 (Flac Support) with some tweaks by me
svn-id: r12984
2004-02-22 14:11:16 +00:00
Paweł Kołodziejski
abdb4fbe87 fixed bug #892426 - improved FT sound loops
svn-id: r12886
2004-02-14 15:14:30 +00:00
Torbjörn Andersson
a8f8ceee0f Removed now obsolete getSamplesPlayed() function. It was only ever used for
the Broken Sword cutscenes, where it didn't work very well, and was never
fully implemented.

svn-id: r12832
2004-02-12 17:31:33 +00:00
Torbjörn Andersson
9003dbbcb3 With no comments from fingolfin, and a go-ahead from ender, I've committed
patch #892455 ("getElapsedTime() for sounds") despite its current
shortcomings. It should be good enough for the Broken Sword cutscenes
anyway, which is what I'll be looking at next.

svn-id: r12829
2004-02-12 16:25:28 +00:00
James Brown
9301f0b0ff Change AppendableMemoryStream overflows to debug messages, so people stop believing them to be the cause of errors in bug reports :P
svn-id: r12775
2004-02-08 17:19:09 +00:00
Torbjörn Andersson
7ae1cc0f96 Fixed "no newline at end of file" warning.
svn-id: r12746
2004-02-06 08:35:24 +00:00
Chris Apers
2420bf2900 Prepare Zodiac MIDI support
svn-id: r12734
2004-02-05 13:56:39 +00:00
Max Horn
f36710f8b4 Act more gracefully when failing to load a (VOC) sound (should help bug #889442)
svn-id: r12719
2004-02-03 08:53:13 +00:00
Max Horn
da76ac5890 Various changes to the build system which allow building ScummVM in an external directory (and as such, allow you to have a debug, a profiling, and a release build from the same set of source files in parallel). Work in progress
svn-id: r12680
2004-01-30 21:54:28 +00:00
Max Horn
176aa74827 Renamed the 'pan' effect of the mixer to 'balance', since that is what we actually do; applied patch #886786 which corrects a bug in the balance code
svn-id: r12665
2004-01-29 18:15:27 +00:00
Chris Apers
f05654662c No more needed
svn-id: r12559
2004-01-20 14:39:38 +00:00
Chris Apers
65d2e4e718 Enable those drivers (still no sound on PalmOS)
svn-id: r12558
2004-01-20 14:38:15 +00:00
Max Horn
aa0ad9b491 Patch #878883: Fix for Ogg Vorbis playback
svn-id: r12503
2004-01-18 20:57:45 +00:00
James Brown
04f2bc0276 Update BS2 cutscene player with changes from roever: overlay support (default, 8bit backends should define BACKEND_8BIT for fast colour remapping) and sound syncronisation.
svn-id: r12456
2004-01-17 14:20:32 +00:00
Max Horn
033ff78ae9 updated copyright notice
svn-id: r12176
2004-01-06 12:45:34 +00:00
Max Horn
e049e24a2c no need to specify game data path here: File::setDefaultDirectory() took care of that
svn-id: r12135
2004-01-04 14:06:06 +00:00
Max Horn
bfea71b0c4 renamed AudioInputStream -> AudioStream
svn-id: r12110
2004-01-03 14:10:13 +00:00
Max Horn
1805b07a48 simplification (possible since read() doesn't have to be efficient anymore)
svn-id: r12103
2004-01-03 02:30:34 +00:00
Max Horn
d212b2c2e1 replace read() by readBuffer() in CopyRateConverter
svn-id: r12102
2004-01-03 02:29:48 +00:00
Max Horn
81481ad6da more MAD MP3 / Ogg Vorbis cleanup: try not to expose anything about the libs used for MP3/Vorbis support -> this eases changing the implementations, and reduces header dependencies (and thus compile time) :-)
svn-id: r12097
2004-01-03 01:25:45 +00:00
Max Horn
96e2c239c4 removed SoundMixer::playMP3CDTrack; simplified makeMP3Stream (special variant with mad_timer_t was really only needed for MP3TrackInfo class)
svn-id: r12095
2004-01-03 00:55:28 +00:00
Max Horn
d335bce62d added makeVOCStream() (convenience function)
svn-id: r12094
2004-01-03 00:33:14 +00:00
Paweł Kołodziejski
7bf0cc2a98 FT sounds have loops in voc data: 65536, that could be max loops or unfinite loops
svn-id: r11992
2003-12-28 09:14:00 +00:00
Max Horn
d52280ab01 cleanup
svn-id: r11981
2003-12-27 21:31:49 +00:00
Max Horn
fabcb25a68 paranoia
svn-id: r11980
2003-12-27 21:31:41 +00:00
Paweł Kołodziejski
25a7b9ef33 fixed compilation
svn-id: r11976
2003-12-27 18:29:21 +00:00
Max Horn
0aa7993218 renamed VOC functions
svn-id: r11962
2003-12-27 14:10:45 +00:00
Paweł Kołodziejski
160b94fdaa added handing voc loops
svn-id: r11951
2003-12-26 22:53:30 +00:00
Max Horn
692fca88c2 fix warning, add TODO comment
svn-id: r11942
2003-12-26 13:14:03 +00:00
Paweł Kołodziejski
a45e92efed passthrought v7+ sound voices by imuse digital
svn-id: r11939
2003-12-26 12:15:23 +00:00
Max Horn
2755d9c00a add param to playInputStream which makes it possible to retain an input stream even after it has been given to the mixer for playback
svn-id: r11933
2003-12-26 02:19:31 +00:00
Max Horn
91f5f1687c logic fix: we must do wrap around *before* read, not after. otherwise eosIntern will in some border cases return wrong results; some cleanup
svn-id: r11932
2003-12-26 01:32:29 +00:00
Max Horn
859a9c0129 o Added SoundMixer::isReady()
o Removed SoundMixer::bindToSystem()
o In scumm, replaced _silentMixer, _silentDigitalImuse and _noDigitalSamples by SoundMixer::isReady()

svn-id: r11893
2003-12-24 17:42:22 +00:00
Max Horn
3472e93051 explicitly turn off all active sounds -> not all MIDI devices support the 'All note off' event, at least according to http://crystal.apana.org.au/ghansper/midi_introduction/midi_channel_mode.html ; and now, the quicktime MIDI code doesn't support it anymore, too ;-)
svn-id: r11885
2003-12-24 12:54:33 +00:00
Max Horn
e9269257f3 turned PlayingSoundHandle into an 'opaque' (well not really :-) data type, mainly because people kept (accidentally and sometimes on purpose :-) misusing them
svn-id: r11881
2003-12-24 00:25:18 +00:00
Max Horn
43875b42fc Allow sound ID for MP3/Vorbis sounds, too; cleaned up Vorbis playback code a bit
svn-id: r11879
2003-12-23 19:14:57 +00:00
Torbjörn Andersson
cb782764b4 Fix warning generated by the incomprehensibly picky MinGW GCC compiler.
svn-id: r11858
2003-12-22 19:19:04 +00:00
Max Horn
e01c3e1b1d o Got rid of Channel::destroy() method (no more evil 'delete this', plus
slightly more efficient)
o Fixed potential memory leak in SoundMixer::playRaw
o Channel not anymore friend class of SoundMixer
o misc cleanup

svn-id: r11857
2003-12-22 19:08:19 +00:00
Max Horn
21ab8e496e include stdafx.h
svn-id: r11829
2003-12-21 17:35:44 +00:00