Max Horn
26d05c0190
the VC warning for unknown pragmas is now gloabally disabled, no need to work around it locally
...
svn-id: r9300
2003-07-30 18:40:28 +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
45ebcdbde1
account for the data in the _buffer, too
...
svn-id: r9276
2003-07-29 03:02:25 +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
77eb284062
added VorbisInputStream
...
svn-id: r9271
2003-07-29 01:37:03 +00:00
Max Horn
1be944755f
added makeRateConverter factory function
...
svn-id: r9270
2003-07-29 01:36:10 +00:00
Travis Howell
3f99e8d1d4
Fix mingw compile
...
svn-id: r9269
2003-07-29 01:35:37 +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
c6a4a1d37d
make wrapped stream work (I can hear some music in CoMI now before it segfaults :-)
...
svn-id: r9258
2003-07-28 18:01:56 +00:00
Max Horn
475bc72277
moved st_gcd to resample.cpp
...
svn-id: r9257
2003-07-28 18:01:00 +00:00
Max Horn
13eee4b06f
rewrote the input streams, this should be more straightforward and inline slightly better (the fact that the main AudioInputStream methods are virtual still means that no inlining can take place there; but of course, if we did change that, all the rate converters would have to exist in 8, instead of currently 2, compiled versions)
...
svn-id: r9256
2003-07-28 17:28:29 +00:00
Max Horn
7ea67048c1
more work on WrappedMemoryStream (not yet tested)
...
svn-id: r9253
2003-07-28 16:55:43 +00:00
Max Horn
9e051fa507
instead of 'int channels', use 'bool stereo' (less extensible, but then I don't think we'll ever support 5.1 sound :-)); fixed a bug in st_rate_flow where it sometimes would overflow the output buffer; made CopyRateConverter a template, too, increasing efficency
...
svn-id: r9239
2003-07-28 11:13:01 +00:00
Max Horn
81baae7ddc
added CopyRateConverter (used if inrate == outrate)
...
svn-id: r9214
2003-07-28 01:50:46 +00:00
Max Horn
e87bc6d89e
use a single converter for both channels (if input data is stereo), for improved efficency; renamed MemoryAudioInputStream -> LinearMemoryStream and use some template voodoo to make the baseclass of Input8bitSignedStream etc. variable; added (commented out) draf of WrappedMemoryStream
...
svn-id: r9209
2003-07-28 01:13:31 +00:00
Jamieson Christian
be898b414f
For for Bug [775654] DOTT: Hanging notes
...
Corrected active notes tracking when switching
between Type 2 SMF tracks. Although Note Off
events from the previous track are properly
simulated, those sustaining notes are cleared
from the active notes list so that jumps
within the new track will not attempt to
sustain them again.
svn-id: r9194
2003-07-26 19:37:54 +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
c520d2d423
move AudioInputStream implementations & makeInputStream into separate .cpp file
...
svn-id: r9190
2003-07-25 13:42:05 +00:00
Max Horn
2ae3e45aea
reduced source code duplication
...
svn-id: r9189
2003-07-25 13:34:25 +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
Max Horn
95bb74e2b8
round to nearest
...
svn-id: r9183
2003-07-25 01:05:08 +00:00
Max Horn
f086ab5a05
whitespace
...
svn-id: r9181
2003-07-24 21:26:46 +00:00
Max Horn
09263a1feb
added volume support; some cleanup; provided exactly as many samples as were requested in the 'resample' algorithm (if possible)
...
svn-id: r9180
2003-07-24 21:26:00 +00:00
Max Horn
1622ac31da
added RateConverter classes as thin wrappers around st_* functions; renamed InputStream -> AudioInputStream and cleaned up the hierarchy of its subclasses; added makeInputStream() auxillary function
...
svn-id: r9179
2003-07-24 18:20:12 +00:00
Max Horn
b9d380bba4
new files, based on SoX ( http://sox.sf.net ): better resampling code. Note that my mixer.cpp changes are on purpose not yet in CVS since they are not complete. Only reasons I checkin these files is that it's much more comfortable to have CVS, since I need to rewrite parts of resample.cpp now (I already have lots of modifications in). Also expect more OO in the future
...
svn-id: r9176
2003-07-24 17:46:38 +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
Jamieson Christian
8b8b964aad
Reverted to "old" YM3812 (FMOPL) emulator code.
...
Until specific information regarding the benefits
of migrating to the new emulator can be made
available, the "old" code will remain in effect
for the benefit of slower hardware platforms such
as some WinCE-based devices.
svn-id: r8903
2003-07-11 07:14:21 +00:00
Jamieson Christian
4ac4d76718
Fix for Bug [766426]: V5 Games: Adlib SFX not looped
...
Modified Smart Jump logic to deal with active notes
whose Note On and Note Off events BOTH occur OUTSIDE
the range of the jump. While this is not a thorough
way to deal with Note On events that occur outside
jump points, it at least deals with the issue of
long, unchanging Adlib SFX used by some earlier
SCUMM games.
svn-id: r8892
2003-07-10 04:34:44 +00:00
Max Horn
d25041859d
#include scummsys.h so that our custome free() gets used
...
svn-id: r8849
2003-07-07 23:11:09 +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
Max Horn
d098334fe6
updated code to use type MutexRef; added class StackLock (from sdl backend, now in util.*)
...
svn-id: r8777
2003-07-05 15:19:11 +00:00