aboutsummaryrefslogtreecommitdiff
path: root/sound/mixer.cpp
AgeCommit message (Collapse)Author
2003-07-29cleanupMax Horn
svn-id: r9266
2003-07-28experimental new rate conversion code (use SOX_HACK to en-/disable it); note ↵Max Horn
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-28fix for bug #776169Max Horn
svn-id: r9259
2003-07-26oops accidentally broke the 'old' 8bit resampling code :-(Max Horn
svn-id: r9192
2003-07-25lots of mixer changes: replaced _volumeTable by _globalVolume (applying ↵Max Horn
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-23Fixed regression in clamped_add_16() that kept it from clamping. This wasTorbjörn Andersson
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-17simplified codeMax Horn
svn-id: r9061
2003-07-14oopsMax Horn
svn-id: r9023
2003-07-14removed whitespaces at line ends; added stopHandleMax Horn
svn-id: r9022
2003-07-12Fixed RTTI warnings with PalmOS portChris Apers
svn-id: r8951
2003-07-12verify chan != 0 even on WinCEMax Horn
svn-id: r8940
2003-07-12Give sample rate to channel classes (WinCE downsampling) / Do not use ↵Nicolas Bacca
dynamic cast with EVC 3 / Fix Tremor Ogg support svn-id: r8937
2003-07-06mix() is really a private method, only to be called by the audio thread; ↵Max Horn
cover setupPremix by the mutex, too (that helps preventing race conditions upon exit) svn-id: r8809
2003-07-06now that we mutex-protect everything properly, we can get rid of ↵Max Horn
_toBeDestroyed; also, instead of keeping a global _handles array in the mixer, let each Channel manage its own handle svn-id: r8808
2003-07-06the mutex must be locked by everything which might access _channels while ↵Max Horn
the mixer thread is running, because the mixer thread may modify _channels svn-id: r8805
2003-07-06More fixes from HibernatusTravis Howell
svn-id: r8792
2003-07-06cleanup to the mixer helper proc interface and to ChannelStreamMax Horn
svn-id: r8785
2003-07-05protect calls to insertChannel with mutex, too (and switch to using StackLock)Max Horn
svn-id: r8782
2003-07-04make SoundMixer::playRaw only check sound IDs if you actually pass oneRobert Göffringmann
svn-id: r8746
2003-07-04Prevent apparantly possible race condition. I don't get this stuff, and I ↵James Brown
don't see why the next call to insertChannel is immune to the same theoretical problem :) svn-id: r8742
2003-07-04Insert preliminary Zak256 sound looping support. It's not perfect, as some ↵James Brown
Zak256 sounds only loop a part of the sample - which our mixer API doesn't yet support. svn-id: r8741
2003-07-03cleanup for -WundefMax Horn
svn-id: r8726
2003-07-02cleanup (code easier to read; slightly less rounding errors for the volume; ↵Max Horn
and on BE systems, READ_BE_UINT16 is actually faster ;-) svn-id: r8706
2003-06-27fixed warningPaweł Kołodziejski
svn-id: r8664
2003-06-24cleanupMax Horn
svn-id: r8645
2003-06-22fixed warningsPaweł Kołodziejski
svn-id: r8613
2003-06-22d'ohMax Horn
svn-id: r8611
2003-06-22fixed Vorbis CD track codeMax Horn
svn-id: r8610
2003-06-22don't memset the output buffer to 0 if _eof_flag is set; rather, we should ↵Max Horn
'add 0' to every byte in the output buffer, i.e.: do nothing svn-id: r8609
2003-06-22properly init member vars instead of using memsetMax Horn
svn-id: r8608
2003-06-22Change names of the stream API in the mixer; added endStream method (stop() ↵Max Horn
halts stream immediately; endStream() lets it first finish playing) svn-id: r8603
2003-06-22fix compile when vorbis is enabled, loomcd is now broken with vorbis after ↵Jonathan Gray
recent changes :/ svn-id: r8598
2003-06-22renamed SoundMixer::hasActiveChannel->hasActiveSFXChannel, and fixed the ↵Max Horn
regression in it caused by removing _beginSlots (I hope); added isActiveChannel method used by scumm/sound.cpp (this allowed me to move the Channel class from mixer.h into mixer.cpp); replaced Channel::soundFinished method by isActive svn-id: r8597
2003-06-22remove the realDestroy methods and instead use destructors; renamed insertAt ↵Max Horn
to insertChannel and simplified/unified its usage; delete the mutex when exiting; cleanup svn-id: r8596
2003-06-21lots of mixer cleanup / refactoring / reengineeringMax Horn
svn-id: r8594
2003-06-21modified & cleaned up the playStream/append code a bit; but this API really ↵Max Horn
could stand some refinement svn-id: r8592
2003-06-21cleanupMax Horn
svn-id: r8584
2003-06-15more cleanupMax Horn
svn-id: r8497
2003-06-09use clear_sound_proc to properly deinit the mixer (this fixes a crash-on-exit)Max Horn
svn-id: r8410
2003-05-29more OSystem docs & cleanupMax Horn
svn-id: r8118
2003-05-23fixed nasty deadlock I recently introducedMax Horn
svn-id: r7867
2003-05-22make sure that the mutex protects everything that affects the bufferMax Horn
svn-id: r7835
2003-05-21pedantic warning fixMax Horn
svn-id: r7792
2003-04-30PalmOS changesMax Horn
svn-id: r7222
2003-03-30changed messages from warning to debugPaweł Kołodziejski
svn-id: r6888
2003-03-18cleanup; add stopID method to stop a currently playing sound via its IDMax Horn
svn-id: r6835
2003-03-06updated copyrights headersPaweł Kołodziejski
svn-id: r6726
2003-03-06and more cleanup ....Paweł Kołodziejski
svn-id: r6719
2002-12-08Patch #641607: Louder MP3 sound effectsMax Horn
svn-id: r5882
2002-11-21Adapt MAD sampling rate to the real sampling rate for WinCENicolas Bacca
svn-id: r5657