aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/sound_midi.cpp
AgeCommit message (Collapse)Author
2013-04-21KYRA: Fix MIDI fade-out behaviourTorbjörn Andersson
There are two ways that the music volume may be set: The setSourceVolume() specifies the current music volume, as ScummVM sees it. This is stored in _sources[].volume. The MIDI data itself can trigger volume events. These are handled by send(), which stores the volume - usually (always?) 100 - in _sources[_curSource].controllers[]. The volume is then adjusted by _sources[].volume. When music is faded out, setSourceVolume() is called repeatedly with progressively smaller values for the volume. What it should do, then, is to make sure that the volume is set to what was previously set to in send(), adjusted to the fading volume. At least, that's how I understand it.
2013-04-07KYRA: Don't restore music volume right after it has faded downTorbjörn Andersson
Since the music volume is set in playTrack(), it shouldn't be necessary to set it back to the default level when a fade out has been completed. This change prevents the volume from spiking right before quitting the game. I hope it doesn't cause regressions.
2012-11-23KYRA: Make Sound::hasSoundFile const again.Johannes Schickel
2012-11-11KYRA: clean up audio resource handlingathrxx
(this was really ugly, now it's somewhat less ugly)
2012-07-04KYRA: Improve wording about possibly incorrect MT32->GM mapping.Johannes Schickel
2011-12-26KYRA: (AdLib Driver) - implement sound effects volumeathrxx
(also make internal driver version more flexible)
2011-08-07JANITORIAL: Remove trailing empty lines.Christoph Mallon
2011-07-04KYRA: cleanup last commitathrxx
2011-06-13I18N: Make many more GUI MessageDialog strings translatableThierry Crozat
2011-05-29KYRA: pause midi sounds while gmm is runningathrxx
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-03-23AUDIO: Change several fake MidiDrivers to MidiDriver_BASE subclassesMax Horn
Many engines follow the advice in audio/midiparser.h and create a "pseudo-MidiDriver" subclass. But MidiParser really only needs a tiny subset of the MidiDriver capabilities, namely those found in MidiDriver_BASE. So we try to subclass from that whenever possible; this allows us to remove many stub methods, and enables further future simplifications.
2011-03-22AUDIO: Add pure virtual MidiDriver::isOpen() methodMax Horn
This in turn enables modifying MidiDriver_MPU401::close() to allow it to be called on a midi driver that has not yet been opened. The specific issue that triggered me to make these changes was a crash-upon-quit in HUGO, caused by it instantiating a midi driver, then encountering an error (missing hugo.dat) *before* having opened the new midi driver; the general cleanup code then tries to close the (not yet opened) midi driver -> kaboom Also fixed some engines which were leaking MidiDriver instances.
2010-12-01ALL: Fix a few typosJordi Vilalta Prat
svn-id: r54716
2010-10-28KYRA: Fix some code errors reported by ICC (i.e. subclasses not overwriting ↵Johannes Schickel
methods by missing a const.) svn-id: r53911
2010-09-15KYRA: Send GM reset on startup.Johannes Schickel
svn-id: r52737
2010-08-24KYRA: Cleanup.Johannes Schickel
svn-id: r52340
2010-07-21KYRA: Fix mute setting with MIDI and FM-Towns/PC98 output.Johannes Schickel
svn-id: r51105
2010-01-25Remove HACK, which is obsolete because of r47336.Johannes Schickel
svn-id: r47548
2010-01-17Delay the time a sysEx takes to send instead of the old (incorrect) way of ↵Johannes Schickel
delaying only 45ms between two sysEx calls. (Code thankfully borrowed from waltervn). svn-id: r47336
2010-01-01Fix out of bounds access reported by syke.Johannes Schickel
svn-id: r46844
2009-11-28LOL: completed support for floppy installer filesFlorian Kagerer
svn-id: r46174
2009-11-02Changed foo(void) to foo() in almost all non-backend source filesMax Horn
svn-id: r45616
2009-10-04Change a couple places from 'end of namespace' to 'End of namespace', for ↵Max Horn
consistency svn-id: r44634
2009-08-12Properly respect users sfx/music config settings for MIDI output.Johannes Schickel
svn-id: r43332
2009-06-29Removed more obsolete TODO messages.Johannes Schickel
svn-id: r41956
2009-05-29Output a warning to the user, when he tries to play back MT32 MIDI tracks ↵Johannes Schickel
with a General MIDI device. svn-id: r41012
2009-05-27- Moved Sound implementation declarations to the newly added file sound_intern.hJohannes Schickel
- Added support for PC Speaker sound in all Kyra1, Kyra2 and Lands of Lore - Slight cleanup svn-id: r40939
2009-05-22Add hack so LoL intro demo will init MT-32 properly.Johannes Schickel
svn-id: r40784
2009-05-22Use correct file for MT-32 initialization for Kyra2 SEQ player based Lands ↵Johannes Schickel
of Lore demo. svn-id: r40783
2009-05-22Oops typo.Johannes Schickel
svn-id: r40782
2009-05-22Properly initialize MT-32 for LoL demos.Johannes Schickel
svn-id: r40781
2009-01-01Whoa! Removing trailing spaces.Eugene Sandulenko
svn-id: r35648
2008-12-19KYRA: fix mt-32 sysex loading for LOL floppyFlorian Kagerer
svn-id: r35434
2008-12-14Added code to initialize MT-32 properly for Lands of Lore.Johannes Schickel
svn-id: r35347
2008-12-11Whoops changed integer size of variables storing volume information, now ↵Johannes Schickel
volume of 256 should work as expected. svn-id: r35303
2008-12-11Midi code now allows volume values to be [0, 256] instead of [0, 255] like ↵Johannes Schickel
before, thus removed the clipping the old code used. svn-id: r35302
2008-12-07Cleanup.Johannes Schickel
svn-id: r35273
2008-12-07Prevent MIDI files from being load, when they are already loaded.Johannes Schickel
svn-id: r35272
2008-11-30Fixed some looping MIDI sound effects.Johannes Schickel
svn-id: r35193
2008-11-30Added MIDI SFX Map, fixes SFX in HoF.Johannes Schickel
svn-id: r35181
2008-11-30- Extended MidiDriver::sysEx to allow 264 byte sysEx messagesJohannes Schickel
- Updated all drivers to allow 264+2 byte sysEx messages - Implemented sysEx processing for MT-32 for Kyra1 and HoF. MT-32 should now be working properly. svn-id: r35180
2008-11-30Cleanup.Johannes Schickel
svn-id: r35179
2008-11-30- Fix some valgrind warningsJohannes Schickel
- Added MIDI SFX support for Kyra2 svn-id: r35178
2008-11-30Implement fade out support for MIDI.Johannes Schickel
svn-id: r35177
2008-11-30Cleanup.Johannes Schickel
svn-id: r35175
2008-11-30Initial version of proper MIDI support for KYRA.Johannes Schickel
svn-id: r35174