aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sfx/music.h
AgeCommit message (Collapse)Author
2010-01-04SCI/new music code: Fixed the code that handles mixed Adlib/MIDI mode, and ↵Filippos Karapetis
added better comments on what it actually does svn-id: r46981
2010-01-03SCI/new music code:Filippos Karapetis
- sounds are no longer stopped in cmdUpdateCues if their signal is set - cmdSetSoundVolume no longer throws a warning if it can't find the associated sound (in some games, it's called before the actual sound is loaded) - removed unused parameters to the SciMusic() class and to MusicEntry::onTimer() - removed a hack to get the sound loop selector svn-id: r46923
2010-01-02SCI/newmusic: fading signal handling changed... fixes lsl1demo and gk1demoMartin Kiewitz
svn-id: r46891
2010-01-02SCI/new music code: don't stop a music track if the fading effect has just ↵Filippos Karapetis
finished. Fixes the music in GK1 (demo and full) svn-id: r46887
2010-01-02SCI/new music code: Properly implemented cmdSetSoundHold, with the help of ↵Filippos Karapetis
wjp and waltervn svn-id: r46886
2010-01-02SCI/new music code: Implemented cmdSetSoundHold. Larry now exits the limo ↵Filippos Karapetis
normally in LSL5 svn-id: r46880
2010-01-02SCI/newmusic: set default volume on MusicEntry creation, use volume selector ↵Martin Kiewitz
sci1late (soundversion) only svn-id: r46875
2010-01-01SCI/newmusic: changed setting volume from fade logic, implemented updating ↵Martin Kiewitz
loop selector for sound fx svn-id: r46856
2010-01-01SCI/newmusic: now clips volume against MUSIC_VOLUME_MAX (127) instead of the ↵Martin Kiewitz
mixer max volume (which would be wrong of course), adjusts volume when setting sample channel volume svn-id: r46850
2010-01-01SCI: volume for sci0 now set to 127, now using constant instead of valueMartin Kiewitz
svn-id: r46849
2010-01-01SCI/newmusic: set speech soundtype for audio resources played by kDoSound, ↵Martin Kiewitz
cmdVolume is supposed to set music and sfx volume only - this whole fixes volume issues in lb2cd and others svn-id: r46842
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/newmusic: better solution for volume - using int16 during fade, volume ↵Martin Kiewitz
is now byte again svn-id: r46829
2010-01-01SCI: changing volume to int16 again, fixes fadeOut of music and samplesMartin Kiewitz
svn-id: r46828
2010-01-01SCI/newmusic: added fade and loop capability to samples (looping doesnt work ↵Martin Kiewitz
yet), fixes lsl1 doll inflation endless loop svn-id: r46820
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-31SCI/new music code: removed some hacksFilippos Karapetis
svn-id: r46793
2009-12-31SCI/new music code: The loop selector for each music score is no longer ↵Filippos Karapetis
cached, but read directly from the sound object svn-id: r46792
2009-12-30SCI/newmusic: fix loop logicMartin Kiewitz
svn-id: r46774
2009-12-29SCI/new music code: Fixed loading of saved games. Also, stopped sounds are ↵Filippos Karapetis
no longer paused svn-id: r46700
2009-12-28SCI/newmusic: Added pausecounter cause sierra sci also does thisMartin Kiewitz
svn-id: r46693
2009-12-28SCI/new music code: Implemented cmdSendMidi, and removed access to _argc ↵Filippos Karapetis
from sound commands svn-id: r46692
2009-12-28SCI/newmusic: Accept object 0:0 in cmdPauseHandle, pause the whole playlist ↵Martin Kiewitz
then (fixes castle of dr. brain during intro) svn-id: r46690
2009-12-28SCI: Further objectify MusicEntryMax Horn
svn-id: r46689
2009-12-28SCI: Start objectifying MusicEntryMax Horn
svn-id: r46687
2009-12-28cleanupMax Horn
svn-id: r46686
2009-12-28SCI: Make some code comply to our naming conventionsMax Horn
svn-id: r46685
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-28SCI/new music code: Implemented the "songlib" debug commandFilippos Karapetis
svn-id: r46670
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-27SCI/newmusic: Fixed fading (fixes intro of castle of brain)Martin Kiewitz
svn-id: r46651
2009-12-27SCI/new music code:Filippos Karapetis
- Implemented sound muting - Now saving/loading the master music volume svn-id: r46643
2009-12-27Really fixed compilationFilippos Karapetis
svn-id: r46630
2009-12-27SCI/new music code: Filippos Karapetis
- Removed a lot of accessors to the music list, and protected the 2 which are used now with mutexes - Rewrote the music list save/load code to be methods of the SciMusic class svn-id: r46623
2009-12-27SCI/new music code: split the MidiParser class into a separate fileFilippos Karapetis
svn-id: r46611
2009-12-26Hopefully fixed the freezes/deadlocks in the new music code (e.g. in LSL5 ↵Filippos Karapetis
and Castle of Dr. Brain) svn-id: r46579
2009-12-26- Made the music playlist privateFilippos Karapetis
- Removed some leaks - Fixed the destruction of the music playlist - Made mutexes more sane - Removed some dead code - Cleanup svn-id: r46578
2009-12-25Fixed variable capitalizationFilippos Karapetis
svn-id: r46552
2009-12-25Another readability changeFilippos Karapetis
svn-id: r46546
2009-12-24SCI/newmusic: Set signal after waiting for delta and not immediately (fixes ↵Martin Kiewitz
iceman intro) svn-id: r46539
2009-12-24SCI: new music code / signals now almost correctly triggeredMartin Kiewitz
svn-id: r46532
2009-12-24Obtain channel mask from music drivers. Also, added a warning in cmdReverb() ↵Filippos Karapetis
to indicate that it's a stub function svn-id: r46531
2009-12-24SCI: channels are now filtered for sci0 (fixes garbled music)Martin Kiewitz
svn-id: r46525
2009-12-23SCI/new music code: Some fixes for SCI0 music, and removed a duplicate enumFilippos Karapetis
svn-id: r46510
2009-12-23SCI: new music code / variable-names changed to make it more verboseMartin Kiewitz
svn-id: r46502
2009-12-23SCI/new music code: Do not cache the signal selector, as it needs to be ↵Filippos Karapetis
always updated, so that animations can be synced properly by the game scripts. Fixes KQ6 svn-id: r46496
2009-12-22Disabled some currently unused codeFilippos Karapetis
svn-id: r46488
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-20Directly modify the sound objects, instead of modifying a local copy. Remove ↵Filippos Karapetis
duplicate code (which now resides in resource.*) svn-id: r46427
2009-12-09Changed MidiDriver::createMidi to take a MidiDriverType instead of an intMax Horn
svn-id: r46316