aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound/music.h
AgeCommit message (Collapse)Author
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-04-14JANITORIAL: Reduce audio header dependenciesOri Avtalion
2015-02-15SCI: Allow channel remapping from audio thread tooWillem Jan Palenstijn
2015-02-15SCI: Use sound resource priority by default for songsWillem Jan Palenstijn
SCI1 sound resources can have an embedded priority. We now use that by default, unless an explicit DoSound/SetPriority call overrides it. Thanks waltervn. This fixes relative priority of songs in at least PQ3 room 29. Also increase savegame version to 33.
2015-02-15SCI: Give songs that start playing later higher priorityWillem Jan Palenstijn
2015-02-14SCI: Register and save playBed option to PlaySoundWillem Jan Palenstijn
The playBed option is not handled yet, only stored. This increases the savegame format version.
2014-10-28SCI: Remove trailing whitespaceFilippos Karapetis
2014-05-29SCI: kDoSound: only one sample at once - thx wjpMartin Kiewitz
Calling kDoSound(play) on a sample will stop currently playing sample Fixes Space Quest 5 air-lock sound issue (bug #6464) Thanks to wjp for tracking the issue down
2014-02-18SCI: Make GPL headers consistent in themselves.Johannes Schickel
2013-12-31SCI: Rewrite MIDI channel remappingWillem Jan Palenstijn
This adds MIDI state tracking to allow channels to be temporarily unmapped and later re-mapped when there are free device channels available again.
2013-09-21Merge branch 'master' into sci_midiparserWillem Jan Palenstijn
Conflicts: engines/sci/sound/midiparser_sci.cpp
2013-09-21SCI: sfx/music priority int16 fixes bug #3615038m-kiewitz
it seems that sound system up till SCI0_LATE uses int16, afterwards it seems they changed to byte main music object (conMusic) in Laura Bow 1 uses -1 as priority. This was truncated to 255 till now, which resulted in many sound effects not getting played, because those used priority 0
2013-09-21AUDIO: Simplify SCI inFastForward flag by moving it to MidiParserWillem Jan Palenstijn
2013-09-15SCI: fix tabs in last commitm-kiewitz
2013-09-15SCI: disable signals when resuming music, so that debugger will work ↵m-kiewitz
properly for longbow intro
2011-12-28SCI: Rename _bMultiMidi to _useDigitalSFX and only initialize it inside ↵Filippos Karapetis
SoundCommandParser
2011-11-01SCI: (KQ5 FM-Towns) - fix voice mappingathrxx
(Driver channels would get reserved via the 0x4b control, but they would never get released)
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-02-09AUDIO: Rename sound/ dir to audio/Max Horn
svn-id: r55850
2010-11-25SCI: implemented reverb handling and related functionalityFilippos Karapetis
svn-id: r54478
2010-11-24SCI: Some renaming and added several TODOs concerning reverbFilippos Karapetis
svn-id: r54461
2010-11-24SCI: Added a getReverb() accessor to the SciMusic classFilippos Karapetis
svn-id: r54456
2010-09-09SCI: Fix last MIDI channel number for adlib driverWalter van Niftrik
svn-id: r52662
2010-09-06SCI: fix regression of r52569Martin Kiewitz
fade in/out of samples svn-id: r52604
2010-09-02SCI: Show a warning window regarding GM in some games.Filippos Karapetis
Sierra has released a patch adding after market General MIDI support for 8 SCI1 games (LSL1, LSL5, Hoyle 3, SQ1, SQ4, Eco1 floppy, Longbow and Fairy Tales). If the user has selected the General MIDI music driver in one of these games and no associated MIDI patch is found, show an informational dialog on game startup in order to inform the user to download Sierra's MIDI patch, together with some short instructions. svn-id: r52500
2010-09-01SCI: set master volume correctlyMartin Kiewitz
and merge it together with global volume, fixes bug #3053104) svn-id: r52484
2010-08-18SCI: Only perform queuing of song signals for SCI0, where we handle the ↵Filippos Karapetis
updating of song queues ourselves. Newer games handle signaling on their own, thus we shouldn't interfere with this. Fixes bug #3045913 - "PHARKAS CD: Crash at the start menu" (a regression from rev #52043) svn-id: r52195
2010-08-12SCI: queuing signal, if signal not passed to scriptsMartin Kiewitz
fixes laura bow 1 when knocking at the door in the attic, scripts wait for 0xb in that case, sound resource sets 0xb and then immediately ends. This resulted in the scripts only getting the termination signal, so they waited endlessly. (bug #3042981) svn-id: r52043
2010-07-29SCI: midi hold behaviour fixedMartin Kiewitz
we shouldnt react on hold midi data when no actual hold was called, fixes eq2/amulet problem (bug #3035392) svn-id: r51482
2010-07-09SCI: added currently commented-out pauseSound implementation for some sci0 ↵Martin Kiewitz
games, allowing integer for that subfunction svn-id: r50759
2010-06-30SCI: Removed the FreeSCI music codeFilippos Karapetis
svn-id: r50532
2010-06-26SCI: reverting r50315 - had the deadlock just again...Martin Kiewitz
svn-id: r50316
2010-06-26SCI: fixing deadlock possiblity on samples (sq3 deadlocked on door ↵Martin Kiewitz
opening/where am i on me) svn-id: r50315
2010-06-22SCI: removing unneeded capacity uint from r50143Martin Kiewitz
svn-id: r50147
2010-06-22SCI: change midi queue to Common::Array and make it resize itself if needed ↵Martin Kiewitz
instead of error() svn-id: r50143
2010-06-21SCI: instead of queueing inside midiparser, we are queueing now globally in ↵Martin Kiewitz
SciMusic, also some little cleanup svn-id: r50130
2010-06-19SCI: make channel remapping stop using channel 0 for mt32 - fixes playback ↵Martin Kiewitz
accordingly (like lsl1 at the start) svn-id: r50056
2010-06-19SCI: free channels for channel remapping on stop and pause, instead of ↵Martin Kiewitz
dispose - fixes qfg3 demo going out of channels svn-id: r50054
2010-06-17SCI: implemented channel muting for sci1, finally fixes lsl5 paino scene ↵Martin Kiewitz
with patti svn-id: r49926
2010-06-16SCI: implement channel remapping for SCI1Martin Kiewitz
svn-id: r49905
2010-06-03- Made some methods constJohannes Schickel
- Prefer const_iterator over iterator in SciMusic::findUsedChannels svn-id: r49417
2010-06-03A first attempt at channel remapping (currently disabled)Filippos Karapetis
svn-id: r49416
2010-05-19SCI: sound code now queues up music in sci0, wip-code: not reacting on ↵Martin Kiewitz
priority yet - fixes iceman room 14 svn-id: r49109
2010-05-19SCI: cleanup soundcode - number renamed to resourceId, prio renamed to priorityMartin Kiewitz
svn-id: r49098
2010-03-16SCI: fix assert in sound code when fadeout is done (lsl1 bug #2970301)Martin Kiewitz
svn-id: r48271
2010-02-17SCI: Reduce header interdependenciesMax Horn
svn-id: r48086
2010-01-26SCI: Add driver for Yamaha FB-01. Cleanup.Walter van Niftrik
svn-id: r47571
2010-01-25Strip trailing spaces/tabs.Johannes Schickel
svn-id: r47541
2010-01-23Added song manipulation debug commands: songinfo, startsound, togglesound ↵Filippos Karapetis
and stopallsounds. is_sample now works with the new sound code svn-id: r47475
2010-01-22- The reverb value is now obtained from the music driverFilippos Karapetis
- Implemented kSetReverb (0x50) and kResetOnPause (0x4C) svn-id: r47433