Commit Graph
159 Commits
Author SHA1 Message Date
Robert Göffringmann 7f7b0af613 added SoundMixer::pauseChannels for pausing SFX and keeping adlib music running (needed by BASS when menu bar drops down)
svn-id: r9607
2003-08-09 19:19:27 +00:00
Max Horn 69ee268e7f some cleanup
svn-id: r9575
2003-08-06 17:13:04 +00:00
Max Horn 48d1739e0a some cleanup; added Channel::getVolume, once somebody tells me what exactly is needed, I can add per-channel volume, and also per-channel panning
svn-id: r9525
2003-08-05 23:03:42 +00:00
Max Horn d618ace0c0 begone, old mixer code
svn-id: r9521
2003-08-05 21:46:56 +00:00
Max Horn 7ff88ea392 more cleanup
svn-id: r9513
2003-08-05 18:17:26 +00:00
Max Horn 1eaf41eda4 more cleanup (like the previous two, I just moved around code, to clearly separate the old and the new mixer code)
svn-id: r9479
2003-08-05 02:05:37 +00:00
Max Horn 2bc604081e some more cleanup
svn-id: r9478
2003-08-05 01:47:47 +00:00
Max Horn ded1df35f9 cleanup; removed some code duplication
svn-id: r9477
2003-08-05 01:41:29 +00:00
Max Horn d280258e09 renamed eof -> eos (end of stream); hid MP3/Vorbis stream classes completly (by providing factory methods); new readBuffer method for AudioInputStream for improved speed of the mixer; new MusicStream class (subclassed for MP3/Vorbis sound) which offers a getRate method; some other tweaks
svn-id: r9467
2003-08-04 22:15:16 +00:00
Max Horn 7ec38f5f02 some more tweaks
svn-id: r9424
2003-08-02 19:09:52 +00:00
Max Horn e3b64fa757 added FLAG_REVERSE_STEREO support
svn-id: r9416
2003-08-02 16:11:12 +00:00
Max Horn ca0cc3b5ab obsolete
svn-id: r9410
2003-08-02 11:44:57 +00:00
Max Horn 326379b95e oops
svn-id: r9396
2003-08-02 02:54:56 +00:00
Max Horn 1f58fea232 converted ChannelMP3 to use new rate conversion scheme, too. Only thing missing now is FLAG_REVERSE_STEREO support (and of course fixing regressions, and the long term goal is to make resample.cpp usable, too)
svn-id: r9395
2003-08-02 02:41:31 +00:00
Max Horn 02d061598c fix ChannelMP3CDMusic volume, too :-)
svn-id: r9393
2003-08-02 02:12:26 +00:00
Max Horn 6da96e17c0 fix Vorbis music volume
svn-id: r9392
2003-08-02 02:11:15 +00:00
Max Horn 208a3925e9 disable debug output
svn-id: r9390
2003-08-02 00:29:53 +00:00
Max Horn 1cfa9d9029 let the input stream handle the looping (by pretending to be of infinite size -> this fixes a problem which cause 'gaps' at loop turn-over points)
svn-id: r9379
2003-08-01 16:32:11 +00:00
Max Horn d9bd77032a implemented raw sound looping; some debug output enabled temporarily
svn-id: r9360
2003-08-01 12:49:24 +00:00
Max Horn 643e88b04c get rid of BUGGY_NEW_MP3_PLAYER
svn-id: r9347
2003-07-31 20:28:11 +00:00
Max Horn 0b4e48b59e revamped MP3/Vorbis CD 'emulation' code to use a PlayingSoundHandle -> this allows to finally get rid of the hackish isChannelActive/isChannelUsed methods in SoundMixer
svn-id: r9346
2003-07-31 20:24:10 +00:00
Max Horn f74197ce8b make use of the new MP3InputStream in ChannelMP3CDMusic - but disabled by default, because it is still quite buggy (e.g. crashes at end of stream etc)
svn-id: r9314
2003-07-31 01:36:24 +00:00
Max Horn 5225597d85 cleanup
svn-id: r9312
2003-07-31 01:06:01 +00:00
Torbjörn Andersson 15378172cd Partial fix for bug #780167 ("SIMON1/2: Sound problems"). It seems to fix
the crash, but the sounds play at the wrong rate, I believe.

svn-id: r9298
2003-07-30 18:20:45 +00:00
Jamieson Christian 20d06e2c3d Fixed MSVC errors
svn-id: r9288
2003-07-30 09:26:54 +00:00
Max Horn aa6c99b5da removed some debug output
svn-id: r9282
2003-07-29 13:36:06 +00:00
Max Horn 6b470390f7 cleanup
svn-id: r9281
2003-07-29 12:39:41 +00:00
Max Horn fb7deafaef after looking at SAM and DOTT, it seems the actor-voice sync actually is *worse* with a non-zero _silenceCut value - setting it to 0 gives perfect sync for me... odd, when did this change? Anyway, removing _silenceCut. If you notice sync problems, tell me
svn-id: r9275
2003-07-29 02:48:38 +00:00
Max Horn 04843469eb some cleanup; moved around some stuff, preparing to unify more code of ChannelMP3CDMusic and ChannelMP3
svn-id: r9274
2003-07-29 02:21:07 +00:00
Max Horn bb35528f43 return immediately after commiting suicide; enable new rate conversion code
svn-id: r9273
2003-07-29 01:43:35 +00:00
Max Horn 021a701827 hooked up ChannelVorbis to the new rate converter system, using VorbisInputStream
svn-id: r9272
2003-07-29 01:37:50 +00:00
Max Horn 4e7c115681 cleanup
svn-id: r9266
2003-07-29 00:05:36 +00:00
Max Horn 57a413f028 experimental new rate conversion code (use SOX_HACK to en-/disable it); note that right now only the linear filter works, the high quality resample in resample.cpp is in flux; right now the top priority for me is to get MP3/Vorbis resampling working
svn-id: r9261
2003-07-28 20:42:54 +00:00
Max Horn ed6521f332 fix for bug #776169
svn-id: r9259
2003-07-28 20:25:09 +00:00
Max Horn 226ee61f71 oops accidentally broke the 'old' 8bit resampling code :-(
svn-id: r9192
2003-07-26 01:44:37 +00:00
Max Horn 791efd853a lots of mixer changes: replaced _volumeTable by _globalVolume (applying volume after resampling is more accurate); made more member vars of SoundMixer protected (and thus added some new getter methods); added (untested) support for a second (stereo) channel when playing MP3
svn-id: r9184
2003-07-25 01:19:14 +00:00
Torbjörn Andersson a327f805ac Fixed regression in clamped_add_16() that kept it from clamping. This was
quite noticeable in the BASS floppy intro.

Of course, if it turns out that 'int' is also only 16 bits it still won't
work, but in that case we run into problems even before this function is
called.

svn-id: r9145
2003-07-23 13:16:58 +00:00
Max Horn 0c47e125af simplified code
svn-id: r9061
2003-07-17 20:44:36 +00:00
Max Horn d31942c898 oops
svn-id: r9023
2003-07-14 20:45:33 +00:00
Max Horn 33e6989944 removed whitespaces at line ends; added stopHandle
svn-id: r9022
2003-07-14 20:09:14 +00:00
Chris Apers 8b27f60434 Fixed RTTI warnings with PalmOS port
svn-id: r8951
2003-07-12 17:43:39 +00:00
Max Horn 1e0b7aaa16 verify chan != 0 even on WinCE
svn-id: r8940
2003-07-12 11:33:13 +00:00
Nicolas Bacca 72c8e0d96b Give sample rate to channel classes (WinCE downsampling) / Do not use dynamic cast with EVC 3 / Fix Tremor Ogg support
svn-id: r8937
2003-07-12 10:12:41 +00:00
Max Horn 7e4fa4a1da mix() is really a private method, only to be called by the audio thread; cover setupPremix by the mutex, too (that helps preventing race conditions upon exit)
svn-id: r8809
2003-07-06 17:00:09 +00:00
Max Horn b6c3d440b5 now that we mutex-protect everything properly, we can get rid of _toBeDestroyed; also, instead of keeping a global _handles array in the mixer, let each Channel manage its own handle
svn-id: r8808
2003-07-06 16:52:09 +00:00
Max Horn 77b9a4f61e the mutex must be locked by everything which might access _channels while the mixer thread is running, because the mixer thread may modify _channels
svn-id: r8805
2003-07-06 15:57:33 +00:00
Travis Howell 817d600d8e More fixes from Hibernatus
svn-id: r8792
2003-07-06 06:36:26 +00:00
Max Horn 5c17c0f7a7 cleanup to the mixer helper proc interface and to ChannelStream
svn-id: r8785
2003-07-06 01:43:40 +00:00
Max Horn e993f1d231 protect calls to insertChannel with mutex, too (and switch to using StackLock)
svn-id: r8782
2003-07-05 16:01:55 +00:00
Robert Göffringmann 3aa048d710 make SoundMixer::playRaw only check sound IDs if you actually pass one
svn-id: r8746
2003-07-04 20:08:02 +00:00