aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sfx/soundcmd.h
AgeCommit message (Collapse)Author
2010-01-04Code optimization: removed unneeded string comparisons when executing a ↵Filippos Karapetis
sound command (including cmdUpdateCues, which is executed very often) svn-id: r46983
2010-01-03SCI/newmusic: support for SCI0 fading, doesnt work yet because channels[] is ↵Martin Kiewitz
currently not correctly filled out inside SoundResource class - because it wasnt previously needed svn-id: r46963
2010-01-02Changed wording from "handle" to "sound", as we're dealing with sound ↵Filippos Karapetis
objects, not handles. Also, made the warnings thrown when a slot couldn't be found more verbose. Finally, changed the logic of when warnings should be thrown in cmdSetSoundLoop svn-id: r46871
2010-01-01SCI/new music code: The MIDI driver is now reset whenever the game's VM ↵Filippos Karapetis
respawns, like what the old music code does. Fixes the MIDI music in KQ5CD, Lonbgow and perhaps others svn-id: r46843
2010-01-01SCI/new music code: Moved processing of digital sound effects outside the ↵Filippos Karapetis
MIDI worker thread. Some cleanup svn-id: r46834
2010-01-01SCI/new music code:Filippos Karapetis
- Resolved a deadlock with the mixer, and added appropriate mutexes (a result of the fact that SCI mixes MIDI and digital audio in the same list) - Fixed sound playing when loading games, by properly resetting the MIDI driver - Reverted savegame version to 14 - the changes in versions 15 and 16 don't have any effect on the currently enabled old music code, and the new music code is disabled by default, and is still prone to changes - Now saving/loading signal, loop and hold for each sound, as well as reverb - Added stub code for setting reverb and channel hold - The signal, loop and hold values of each song are cached, like in SSCI and like what happens in Greg's SCI implementation. This allows a clear separation of the engine code from the rest of the engine. Reverted commits 46792 and 46797 - Removed duplicate song list accessing code - Song cues are now updated in kAnimate for SCI0, like the old music code does, to compensate for the fact that SCI0 didn't poll for music changes via cmdUpdateCues, like what SCI01 and newer do - Cleanup svn-id: r46812
2009-12-28SCI/new music code: Implemented cmdSendMidi, and removed access to _argc ↵Filippos Karapetis
from sound commands svn-id: r46692
2009-12-28SCI/new sound code:Filippos Karapetis
- Made the SciMusic class private, and added wrapper functions for invoking specific methods of SciMusic from outside the SoundCommandParser class - Many SCI games keep creating and destroying sound effects constantly (i.e. many times per second). Therefore, another scheme has been devised, which replaces the mutex that was in place. Whenever a sound command is run which operates on a specific object in the play list, we disallow onTimer() from kicking in. This isn't ideal, but it does stop random deadlocks because of locked mutexes without any noticeable side effects svn-id: r46681
2009-12-27SCI/new music code:Filippos Karapetis
- Switched to Common::StackLock for mutexes - Renamed Music::stopAll() -> Music::clearPlayList() - Implemented a better Music::stopAll method, which stops all sounds with proper signals, instead of destroying them - Renamed the SCI0 command cmdGetPlayNext -> cmdStopAllSounds and implemented it svn-id: r46665
2009-12-27Removed _hasNodePtrFilippos Karapetis
svn-id: r46650
2009-12-25SCI/new music code: Some initial code for saving/loading the sound stateFilippos Karapetis
svn-id: r46549
2009-12-25SCI/newmusic: ignore vol selector for games prior sci1late, fixes amiga ↵Martin Kiewitz
music in sq3 svn-id: r46547
2009-12-22SCI/new music code:Filippos Karapetis
- Reverted the code to use local copies of certain sound object selectors, like what was done before - Simplified and fixed the SCI1.1 digital sound effect playing code - Removed some duplicate code - Renamed some sound commands svn-id: r46487
2009-12-20Started integrating the new sound code in the SoundCommandParser class. Some ↵Filippos Karapetis
cleanup svn-id: r46432
2009-12-20Moved all of the sound iterator code in its own directory, and added a ↵Filippos Karapetis
slight hack to the SoundCommandParser constructor svn-id: r46430
2009-12-08Attempt to fix MSVC warning C4121.Johannes Schickel
svn-id: r46300
2009-11-29Properly update the sound state in the sound command parser when loading a gameFilippos Karapetis
svn-id: r46196
2009-11-20Fixed a regression in the LSL1 and LSL5 demos, which should work correctly ↵Filippos Karapetis
now. Some cleanup svn-id: r46020
2009-11-20TypoFilippos Karapetis
svn-id: r45999
2009-11-17Some more work on the sound command parserFilippos Karapetis
svn-id: r45944
2009-11-15Some more work on music codeFilippos Karapetis
svn-id: r45934
2009-11-15- Started importing the music code from Greg's SCI engineFilippos Karapetis
- Simplified some sound version checks svn-id: r45923
2009-11-12Started objectifying kDoSound()Filippos Karapetis
svn-id: r45862