aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound/audio.cpp
AgeCommit message (Collapse)Author
2017-05-10SCI: Remove unused Robot code from SCI16 audio codeColin Snover
2017-03-30SCI32: Fix audio, wave, VMD, Duck, CLUT, TGA, ZZZ, Etc patchesColin Snover
Specifically, audio patches are used in at least PQ:SWAT (40103.AUD), Lighthouse (9103.AUD), and the GK2 demo (300.AUD).
2017-03-27SCI: Implement bounds-checked reads of game resourcesColin Snover
2016-06-20SCI32: Rewrite digital audio engineColin Snover
This provides a complete implementation of kDoAudio through SCI2.1mid, plus partial implementation of SCI3 features. Digital audio calls shunted through kDoSound have also been updated to go through the SCI32 audio mixer, though these shunts are a bit hacky because the ScummVM implementation of kDoSound does not currently match how SSCI kDoSound is designed. It is probably possible in the future to just replace the SCI1.1 audio code (audio.cpp) with the new SCI32 code, since the major differences seem to be that (1) SCI1.1 only supported one digital audio playback channel (this is configurable already), (2) it had extra commands for CD audio playback and queued sample playback.
2016-06-19SCI: Split audio sync to its own classColin Snover
SCI32 has its own audio handling code, but audio sync code is the same as SCI16.
2016-03-13BACKENDS: Only expose one set of functions for AudioCDManagerMatthew Hoops
Engines should only have to call one set of functions and not decide between the two. In fact, the 'emulation' API was documented to just call the 'real CD' API.
2016-03-13SCI: Ensure openCD() is calledMatthew Hoops
2016-01-03SCI: sciAudio support for .wav + .aiff filesMartin Kiewitz
2016-01-03SCI: sciSound: check compression typeMartin Kiewitz
2016-01-02SCI: fix sciAudio not doing loops correctlyMartin Kiewitz
2015-12-29SCI32: split up SCI2.1 into EARLY/MIDDLE/LATEMartin Kiewitz
- Detection works via signatures (couldn't find a better way) - new kString subcalls were introduced SCI2.1 LATE - kString now has signatures and is split via subcall table - kString fix, so that KQ7 doesn't crash, when starting a chapter - Sci2StringFunctionType removed, because no longer needed
2015-06-06AUDIO: Make makeAIFFStream return a RewindableAudioStreamMatthew Hoops
All callers requiring SeekableAudioStream have been adapted by using dynamic_cast
2015-06-04SCI: Only use makeAIFFStream instead of loading the sound twiceMatthew Hoops
2014-03-28SCI: Add missing USE_MAD check for commit 6a519f7fFilippos Karapetis
This fixes compilation for platforms where libmad isn't present
2014-03-28SCI: Initial implementation of the fanmade sciAudio libraryFilippos Karapetis
This is used in the fanmade games "LockerGnome Quest Redux" and "Betrayed Alliance"
2014-02-18SCI: Make GPL headers consistent in themselves.Johannes Schickel
2013-04-20SCI: Report sound stream loading errorsWillem Jan Palenstijn
2012-08-20SCI: Set the correct audio type for SCI1.1 sound effects, fixing bug #3554709Filippos Karapetis
Now, sound effects in SCI1.1 games will no longer be incorrectly using the speech sound volume. This avoids them being silenced in floppy games that are flagged as not having speech. Fixes bug #3554709 - "SCI: Digital SFX don't play when Override Global Audio set"
2011-06-20ALL: Remove trailing whitespacesMax Horn
This tries to make our code a bit more compliant with our code formatting conventions. For future use, this is the command I used: git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-04-12COMMON: Replace MKID_BE by MKTAGMax Horn
MKID_BE relied on unspecified behavior of the C++ compiler, and as such was always a bit unsafe. The new MKTAG macro is slightly less elegant, but does no longer depend on the behavior of the compiler. Inspired by FFmpeg, which has an almost identical macro.
2011-02-09AUDIO: Rename sound/ dir to audio/Max Horn
svn-id: r55850
2011-02-06SCI: Several changes related to robot filesFilippos Karapetis
- Added WIP robot sound support (which has pops between each frame for some reason) - Now handling a lot of previously ignored fields - Now handling the chunk before the palette chunk properly. Fixes some v6 videos - Added known robot related TODOs svn-id: r55793
2011-02-04SCI: Rewrote the robot playing code in a way similar to other video decodersFilippos Karapetis
- The code now streams videos instead of loading them in memory, without utilizing seeking - Removed the sound-related robot code from the graphics classes - Started implementing the code for the sound in robot videos (still not finished) svn-id: r55772
2011-02-02SCI: Fix Mac sync resource supportMatthew Hoops
svn-id: r55716
2010-12-23SCI: Some initial work on the sound of robot videos (doesn't work yet, seems ↵Filippos Karapetis
to be a problem with the encoding of the customized SOL audio files in robot videos) svn-id: r55023
2010-11-19COMMON: Split common/stream.h into several headersMax Horn
svn-id: r54385
2010-11-08COMMON: Push #include audiocd.h in system.h out to .cpp filesMax Horn
svn-id: r54148
2010-07-30Merged from trunk, from Rev 50841 to HEADAlejandro Marzini
svn-id: r51495
2010-07-26SOUND: Move the Mac snd decoder from SCI to /soundMatthew Hoops
For use with Kyra1 Mac instrument samples. T7G Mac and Loom Mac also use this format for their custom instrument samples. svn-id: r51327
2010-07-13Merged from trunk, from Rev 49499 to HEADAlejandro Marzini
svn-id: r50840
2010-07-01SCI: Removed duplicate warning for missing audio samplesFilippos Karapetis
svn-id: r50560
2010-06-29SCI: Rewrap yet more commentsMax Horn
svn-id: r50505
2010-06-22Add support for the QFG3 demo audio map and audio resources. Based on a ↵Matthew Hoops
patch by Walter. svn-id: r50144
2010-06-17Fixed wPlayAudio, and added some documentation on the 3 new kDoAudio subops. ↵Filippos Karapetis
Digital sounds in Pharkas work again svn-id: r49928
2010-06-15SCI: Saner and simpler conversion from msecs to ticksMax Horn
svn-id: r49846
2010-06-15Modify makeAIFFStream to match the other sound decoder factoriesMax Horn
svn-id: r49844
2010-06-15Renamed getAudioCD to getAudioCDManager.Alejandro Marzini
svn-id: r49678
2010-06-12Added debug output to kDoAudio and some music commands. Also added a warning ↵Filippos Karapetis
when an audio stream can't be created. Finally, the debug level of the MIDI parser debug output has been raised to 4, as it's too verbose svn-id: r49605
2010-06-10kSciAudioWPlay should not actually play the song, but 'pre-load' it. We fake ↵Matthew Hoops
the pre-loading with a flag that will return 0 if the song has been called with kSciAudioWPlay. Fixes the dream sequence sound in MUMG. svn-id: r49583
2010-06-10Add support for AIFF sound in SCI32 Mac games and add support for AIFF/WAVE ↵Matthew Hoops
audio36 patches; minor cleanup. svn-id: r49576
2010-06-09- Revised abstract AudioCDManager.Alejandro Marzini
- Removed AudioCDManager Singleton, and changed code for using AudioCDManager in OSystem. - Added initialization code for new AudioCDManager in BaseBackend and OSystem_SDL. svn-id: r49548
2010-05-31SCI: Silenced warning when no audio decoder is compiled inFilippos Karapetis
svn-id: r49351
2010-05-29Mass renaming of selector-related functions, and removed some defines which ↵Filippos Karapetis
were just cloaking functions with a different name - GET_SEL32 -> readSelector - GET_SEL32V -> readSelectorValue - PUT_SEL32 -> writeSelector - PUT_SEL32V -> writeSelectorValue Also, changed some selector-related function names and variables to CamelCase svn-id: r49317
2010-05-18Add initial support for KQ6 Mac. Wrapper functions for read/writing to ↵Matthew Hoops
pointers are now used (found in util.*) for code that has different endianness in SCI1.1+ Mac games. Add support for Mac 'snd ' and 'CURS' resources. QFG1 Mac is not yet playable due to script compression. svn-id: r49070
2010-05-03SCI: copying over compressed audio (mp3/ogg/flac) buffers, because ↵Martin Kiewitz
resourcemanager may free the memory at any time - fixes pseudo-random crashes - also added several assert()s after multiple malloc()s svn-id: r48912
2010-05-03SCI: calculate sampleLen for WAVEs as wellMartin Kiewitz
svn-id: r48906
2010-05-03SCI: calculate sampleLen for compressed audio (mp3/ogg/flac) as wellMartin Kiewitz
svn-id: r48903
2010-05-01SCI: fix bugs in audio decompression (mp3, ogg, flac)Martin Kiewitz
svn-id: r48880
2010-04-29SCI: audio compression supportMartin Kiewitz
svn-id: r48856