aboutsummaryrefslogtreecommitdiff
path: root/sound/mixer.h
AgeCommit message (Collapse)Author
2004-02-12With no comments from fingolfin, and a go-ahead from ender, I've committedTorbjörn Andersson
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-01-29Renamed the 'pan' effect of the mixer to 'balance', since that is what we ↵Max Horn
actually do; applied patch #886786 which corrects a bug in the balance code svn-id: r12665
2004-01-06updated copyright noticeMax Horn
svn-id: r12176
2004-01-03renamed AudioInputStream -> AudioStreamMax Horn
svn-id: r12110
2004-01-03more MAD MP3 / Ogg Vorbis cleanup: try not to expose anything about the libs ↵Max Horn
used for MP3/Vorbis support -> this eases changing the implementations, and reduces header dependencies (and thus compile time) :-) svn-id: r12097
2004-01-03removed SoundMixer::playMP3CDTrack; simplified makeMP3Stream (special ↵Max Horn
variant with mad_timer_t was really only needed for MP3TrackInfo class) svn-id: r12095
2003-12-26add param to playInputStream which makes it possible to retain an input ↵Max Horn
stream even after it has been given to the mixer for playback svn-id: r11933
2003-12-24o Added SoundMixer::isReady()Max Horn
o Removed SoundMixer::bindToSystem() o In scumm, replaced _silentMixer, _silentDigitalImuse and _noDigitalSamples by SoundMixer::isReady() svn-id: r11893
2003-12-24turned PlayingSoundHandle into an 'opaque' (well not really :-) data type, ↵Max Horn
mainly because people kept (accidentally and sometimes on purpose :-) misusing them svn-id: r11881
2003-12-23Allow sound ID for MP3/Vorbis sounds, too; cleaned up Vorbis playback code a bitMax Horn
svn-id: r11879
2003-12-22o Got rid of Channel::destroy() method (no more evil 'delete this', plusMax Horn
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-21added convenience SoundMixer::playVorbis variant which calls through to ↵Max Horn
playSfxSound_Vorbis; made scumm/queen engines use it svn-id: r11812
2003-12-21Cleaned up SoundMixer::newStream() a bit (I plan to replace all usages of ↵Max Horn
this by playInputStream(), this cleanup eases this a bit) svn-id: r11803
2003-12-21o Make use of the new LinearMemoryStream feature which allows auto-disposing ↵Max Horn
the sound data o This allows us to get rid of the ChannelRaw class o Removed the sound index return value from several methods o Removed all methods dealing with sound indices (i.e. stopChannel and pauseChannel) svn-id: r11801
2003-12-19o Moved MP3 and Vorbis input streams to mp3.* resp. vorbis.*Max Horn
o Added SoundMixer::playInputStream and made some of the other play* methods use it o Added ProcInputStream stub (not working yet) which one day may allow us to replace the premix code, and allow other fancy stuff o Remove AudioInputStream::readBuffer default implementation (subclasses should always provide it for max. performance) o Some minor cleanup svn-id: r11754
2003-12-16cleanupMax Horn
svn-id: r11686
2003-12-16added mixer flag for little endian samplesRobert Göffringmann
svn-id: r11665
2003-11-08cleanup whitespacesPaweł Kołodziejski
svn-id: r11221
2003-10-25whateverJoost Peters
svn-id: r10959
2003-10-24added extra flag to mixer so we don't use free() on new'd pointersJoost Peters
svn-id: r10958
2003-10-05clarification: premixer must use native endianessMax Horn
svn-id: r10621
2003-09-18changed & documented the premixer semanticsMax Horn
svn-id: r10294
2003-09-07new header file for VOC specific stuffMax Horn
svn-id: r10072
2003-09-06removed pauseMixer method from mixer, and renamed stop to stopChannelMax Horn
svn-id: r10042
2003-09-05moved the sound ID param in playRaw before volume/panMax Horn
svn-id: r10023
2003-09-05added default volume/pan valuesMax Horn
svn-id: r10019
2003-09-05cleaned up sound/mixer.h a bit; renamed some mixer methods for consistencyMax Horn
svn-id: r10018
2003-09-05fixes for uninitialized pan and volumePaweł Kołodziejski
svn-id: r9998
2003-09-02Added per-channel pausing. Maybe I should have named the pauseChannel()Torbjörn Andersson
function simply pause() to be consistent with stop(), but there already is a pause() function and I don't want to have two functions with the same name doing different things. (The current pause() function pauses all channels.) svn-id: r9968
2003-09-01forgot thisPaweł Kołodziejski
svn-id: r9957
2003-08-31added comments:Paweł Kołodziejski
volume: 0 - 127 pan: (-127 <-> 0 <-> 127) (left <-> center <-> right) svn-id: r9945
2003-08-31added mixer features: volume and pan control per channelPaweł Kołodziejski
svn-id: r9944
2003-08-30Made PlayingSoundHandle unsigned again, since the mixer change wasTorbjörn Andersson
reverted. svn-id: r9930
2003-08-30If -1 is going to be a valid value for a PlayingSoundHandle, the data typeTorbjörn Andersson
had better be signed... svn-id: r9925
2003-08-30added func isChannelActive for mixer, and fixed handling numbers of channel 0Paweł Kołodziejski
svn-id: r9924
2003-08-09added SoundMixer::pauseChannels for pausing SFX and keeping adlib music ↵Robert Göffringmann
running (needed by BASS when menu bar drops down) svn-id: r9607
2003-08-05some cleanup; added Channel::getVolume, once somebody tells me what exactly ↵Max Horn
is needed, I can add per-channel volume, and also per-channel panning svn-id: r9525
2003-08-01implemented raw sound looping; some debug output enabled temporarilyMax Horn
svn-id: r9360
2003-08-01#include cleanup (explicityl specify the location for headers from common/, ↵Max Horn
so that we at some point can get rid of -Icommon; exception is made for stdafx.h, since a) we might want to rename it and b) might want to move it to the top level) svn-id: r9359
2003-07-31revamped MP3/Vorbis CD 'emulation' code to use a PlayingSoundHandle -> this ↵Max Horn
allows to finally get rid of the hackish isChannelActive/isChannelUsed methods in SoundMixer svn-id: r9346
2003-07-29cleanupMax Horn
svn-id: r9281
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-24whitespaceMax Horn
svn-id: r9181
2003-07-14removed whitespaces at line ends; added stopHandleMax Horn
svn-id: r9022
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-06cleanup to the mixer helper proc interface and to ChannelStreamMax Horn
svn-id: r8785
2003-07-05updated code to use type MutexRef; added class StackLock (from sdl backend, ↵Max Horn
now in util.*) svn-id: r8777
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-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