Max Horn
1a615346ab
Moved class SoundMixer to Audio::Mixer (didn't call the namespace 'Sound' because we already have many classes with that name)
...
svn-id: r18039
2005-05-10 23:48:48 +00:00
Max Horn
cca744f69a
Comply to our coding conventions
...
svn-id: r17975
2005-05-08 21:49:52 +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
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
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
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
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
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
47280d9433
Updated copyright
...
svn-id: r16398
2005-01-01 16:09:25 +00:00
Max Horn
160a28e912
Fixing hasActiveChannelOfType
...
svn-id: r16354
2004-12-28 11:19:36 +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
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
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
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
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
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
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
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
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
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
Max Horn
033ff78ae9
updated copyright notice
...
svn-id: r12176
2004-01-06 12:45:34 +00:00
Max Horn
bfea71b0c4
renamed AudioInputStream -> AudioStream
...
svn-id: r12110
2004-01-03 14:10:13 +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
fabcb25a68
paranoia
...
svn-id: r11980
2003-12-27 21:31:41 +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
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