class, so they are handled the same way as the compressed clusters.
The next step will be to migrate the music playback to use the same class,
which means the fade-in/out logic needs to be separated from the decoding.
Once this is done, adding support for compressed music should be a piece of
cake.
svn-id: r14740
speech. (Apparently it was just an accident that MP3 worked.)
Unfortunately I had to change the file format of the compressed files to
include both the compressed and uncompressed size, but since the tool to
create these files has only lived as an item in the patch tracker, no one
should have exptected it to be the final, working version, right? Right.
svn-id: r14698
by accident, and could cause bad noises during music cross-fades.
This wasn't a problem in 0.6.0 since all music is sampled at 22050 Hz,
which is the most likely output sample rate for ScummVM, so the converter
didn't actually have to do anything. Now, however, the output sample rate
could be anything.
I've given the music streams one converter each. In BS1, which uses similar
music code, it was already necessary to do this since some of its music is
sampled at 11025 Hz.
svn-id: r14237
to keep its own copy of the sound data. It could be even further simplified
(I don't really see any reason for having two different sound queues), but
I seem to have reached a point of stability here and I don't want to jinx
it by making further changes yet.
svn-id: r13705
an in-memory WAV file. At the moment it's only used in one place, which is
a bit silly, but I hope to use it for the cutscene player to figure out
when to start the lead-out music.
(To do that I'll need to know how long the cutscene is, though. I haven't
looked into how to find that out yet.)
svn-id: r12424
fading-up music to distort and eventually deteriorate into white noise.
This was because I allowed _fade to be set on channels that weren't playing
and because I only checked _fade for equality when deciding when to stop
the fading. It should work much better now, I think.
svn-id: r12392
grows larger, both when fading up or down. This fixes the problem where the
volume would "jump" when changing the fading "direction" of a stream.
Also changed the logic for deciding which music stream to stop if both
streams are playing and a third stream is started. Before it always tried
to pick the one that was fading down. Now it will pick the one with the
lowest volume, assuming that the more faded a stream is the lower its
volume.
Together, this should fix some abrupt music changes at the watchman's hut,
where it would sometimes start two music streams in rapid succession.
svn-id: r12372
and it now fades both up and down.
Plenty of cleanups, simplifications and just moving code around to group it
in what I hope is a more logical fashion.
Fixed a long-standing bug where spot effects would eventually use up all
available sound effect handles. (I may have introduced this when I removed
the expiration of sound effects from FxServer().)
svn-id: r12108
open so that it can be re-opened afterwards. It's not so much that it may
have changed, but it may have been closed.
This should fix a crash when escaping the credits.
svn-id: r12055
over the past few weeks, except for g_sword2. (Of course, this doesn't
necessarily make the code any prettier, but we can work on that later.)
svn-id: r11309
function that creates the panning table. The difference is that you now
have to tell whether you want one for normal or reverse stereo, so you are
not dependent on the previous state of the table.
(I still think it may be possible to get rid of the panning table
completely, but that's for later cleanups.)
svn-id: r11027
file, plus some other cleanup. I don't know how the config manager decides
if/when to save the settings to file, but we can worry about that later.
svn-id: r11001
touches a lot of the code, of course, and adds yet another global variable
(temporarily, I hope), but everything still seems to work.
Knock on wood.
svn-id: r10806