aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/sound/midiparser_sci.cpp
AgeCommit message (Collapse)Author
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-08-03SCI: not error()ing out on no free channelsMartin Kiewitz
instead we just ignore such channels. I'm not sure how sierra sci behaved in that case, they ignored channels as well, but maybe they removed them from earlier music svn-id: r51715
2010-07-20SCI: fix regression of r50463Martin Kiewitz
also check delta, because _play_tick does not include delta at that point - fixing sq1 ship takeoff svn-id: r51067
2010-07-14SCI: adding sound version 2.1, to properly add sci2.1 signature for ↵Martin Kiewitz
kDoSound(play) svn-id: r50878
2010-07-13SCI: erroring out on unsupported soundversion in midiparserMartin Kiewitz
svn-id: r50849
2010-06-28SCI: removing ignoring of channel volume change code from r50463, the lsl5 ↵Martin Kiewitz
issue was actually caused by the old volume adjust code that was also causing the issues in gk1 svn-id: r50466
2010-06-28SCI: its lsl5 sound resource 294, not 274 (changed comment only)Martin Kiewitz
svn-id: r50465
2010-06-28SCI: ignoring set signal on tick 0 directly in parseNextEvent instead of ↵Martin Kiewitz
filtering, also now ignoring channel volume changes on tick 0 (fixes lsl5 fading of sound 274, almost at the end), fixing also fading in gk1 and enabling fading in sci32 again svn-id: r50463
2010-06-28SCI: remove clipping of volume inside SciMidiParser::setvolumeMartin Kiewitz
svn-id: r50456
2010-06-28SCI: set volume all the time, fixes volume being 0 after fading in sci0Martin Kiewitz
svn-id: r50418
2010-06-28SCI: changed the way setVolume works for sci0 back to the way it was from ↵Martin Kiewitz
r50414, because adlib driver doesn't support channel volume changes for sci0 games, fixes fading in those games svn-id: r50417
2010-06-28SCI: reordering and cleanup, removing debug code from sci0 mix-codeMartin Kiewitz
svn-id: r50415
2010-06-28SCI: implementing real setVolume() support, fixing some fading in sci1 games ↵Martin Kiewitz
(like pq3 intro) svn-id: r50414
2010-06-28SCI: regression from implementing channel remapping and r50405 - center ↵Martin Kiewitz
pitch wheels and hold pedal on init instead of unloadMusic(), fixes lsl5 piano scene svn-id: r50413
2010-06-28SCI: fix regression of r50405 - sq1vga right at the beginning - scripts are ↵Martin Kiewitz
pausing sound and then sending manually commands afterwards svn-id: r50411
2010-06-27SCI: tell midiparser that he lost ownership of channels in case we take them ↵Martin Kiewitz
away svn-id: r50405
2010-06-27SCI: resetting curPos as well when mixing sound resourcesMartin Kiewitz
svn-id: r50401
2010-06-27SCI: filter out set signal commands from midi streams, if they happen at ↵Martin Kiewitz
ticker 0. fixes castle daventry getting removed immediately in kq5 french/mac svn-id: r50385
2010-06-26SCI: fix warningMartin Kiewitz
svn-id: r50341
2010-06-26SCI: do boundary checking when loading sci1 sounds and mixing them together. ↵Martin Kiewitz
The final end credits song (resource 699) in kq5 has some channels with invalid offsets, crashing ScummVM before svn-id: r50339
2010-06-26SCI: set _driver to 0 in MidiParser_SCI destructor to stop the MidiParser ↵Martin Kiewitz
destructor call allNotesOff() which would affect all channels all the time - fixes sq1 ship flying away sound getting stopped when ladder falls down svn-id: r50313
2010-06-26SCI: removing fixme (issue got already solved)Martin Kiewitz
svn-id: r50311
2010-06-25SCI: only send new volume to currently mapped channels, fixes assert in sq1 ↵Martin Kiewitz
because setVolume is called on an object that's currently not playing. added fixme svn-id: r50274
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-21SCI: added fixme about r50110/r50073Martin Kiewitz
svn-id: r50115
2010-06-21SCI: fix regression of r50073, allNotesOff() now directly sends to driver ↵Martin Kiewitz
again. If we send to queue, queue will never actually get processed and even if it was, the channels wouldnt be mapped anymore anyway svn-id: r50110
2010-06-20SCI: storing all manual midi commands now and actually sending them to ↵Martin Kiewitz
driver during onTimer() - fixes mt32 emulation crashing during lsl5 piano scene svn-id: r50073
2010-06-19SCI: fixing last uninitialized variable issue in MidiParser_SCI (hopefully)Martin Kiewitz
svn-id: r50063
2010-06-19SCI: fixing another uninitialized variable usage issue - also limiting reset ↵Martin Kiewitz
velocity to used channels only, same is true for setting voice count svn-id: r50062
2010-06-19SCI: stopping scripts from sending to unused channels manually (fixes sq1vga)Martin Kiewitz
svn-id: r50060
2010-06-19SCI: reverting r50058 - we can't actually send to the channels at that time, ↵Martin Kiewitz
because we do not own the channels at that point svn-id: r50059
2010-06-19SCI: move setVolume down inside loadMusic so that it actually affects the ↵Martin Kiewitz
used channels svn-id: r50058
2010-06-19SCI: fixing uninitialized usage in MidiParser_SCIMartin Kiewitz
svn-id: r50057
2010-06-18SCI: implementing fading for sci1 only for used channels of the object, ↵Martin Kiewitz
fixes lsl1 music issues when going right at the start svn-id: r50018
2010-06-18Added information regarding a FIXMEFilippos Karapetis
svn-id: r50002
2010-06-18Changed an assert into a warning with a FIXME (happens in SQ1)Filippos Karapetis
svn-id: r49994
2010-06-17SCI: implemented channel muting for sci1, finally fixes lsl5 paino scene ↵Martin Kiewitz
with patti svn-id: r49926
2010-06-17SCI: fixes regressions of r49905 (thx to digitall) - first we now find out ↵Martin Kiewitz
what channels are used in sci0 as well, we are doing straight mapping for sci0 though - this fixes music in sci0 games, also fixing crash in sq1vga because of using null pMidiParser svn-id: r49922
2010-06-17Fix another valgrind warning, thanks to digitall for spotting.Matthew Hoops
svn-id: r49918
2010-06-16SCI: fix debug command "show_instruments", got broken by r49905 on purposeMartin Kiewitz
svn-id: r49906
2010-06-16SCI: implement channel remapping for SCI1Martin Kiewitz
svn-id: r49905
2010-06-14SCI: Added a version of allNotesOff() which sends messages only to the ↵Filippos Karapetis
channels used by the associated song instead of all channels svn-id: r49673
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-11- Added a new debug command, verify_midi, which can be used to check all the ↵Filippos Karapetis
songs of a game for unmapped instruments (still WIP and disabled) - Fixed a bug in the verify_scripts command (it was loading the script resource twice) svn-id: r49597
2010-06-10SCI: adding current delta to tick position when getting the setsignalloop ↵Martin Kiewitz
command - fixes sq3 music slight delay before actual looping svn-id: r49585
2010-06-04Some more work on channel remapping: Moved the remapping code to the music ↵Filippos Karapetis
loading code (still disabled) svn-id: r49430
2010-06-03Added channel remapping to MidiParser_SCI (currently unused)Filippos Karapetis
svn-id: r49414
2010-01-29Don't cripple setVolume(), but throw a warning when receiving invalid ↵Filippos Karapetis
volumes and correct them for now - fixes the music in GK1 svn-id: r47690