Commit Graph
48 Commits
Author SHA1 Message Date
Johannes Schickel b79c2156d0 KYRA: Make GPL headers consistent in themselves. 2014-02-18 02:39:35 +01:00
Torbjörn Andersson 8d25c55891 KYRA: Fix MIDI fade-out behaviour
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-21 12:54:19 +02:00
Torbjörn Andersson e08ddf70b2 KYRA: Don't restore music volume right after it has faded down
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.
2013-04-07 22:10:48 +02:00
Johannes Schickel f361a7d624 KYRA: Make Sound::hasSoundFile const again. 2012-11-23 02:50:20 +01:00
athrxx 93e69aa4da KYRA: clean up audio resource handling
(this was really ugly, now it's somewhat less ugly)
2012-11-11 19:14:31 +01:00
Johannes Schickel 7e2cf139a9 KYRA: Improve wording about possibly incorrect MT32->GM mapping. 2012-07-04 02:02:58 +02:00
athrxx 77a81a80b4 KYRA: (AdLib Driver) - implement sound effects volume
(also make internal driver version more flexible)
2011-12-26 16:18:09 +01:00
Christoph Mallon 23a0f5318c JANITORIAL: Remove trailing empty lines. 2011-08-07 13:53:33 +02:00
athrxx f80b2383e7 KYRA: cleanup last commit 2011-07-04 20:22:16 +02:00
Thierry Crozat 06bbb57ad7 I18N: Make many more GUI MessageDialog strings translatable 2011-06-13 22:19:18 +01:00
athrxx d7f877b3ab KYRA: pause midi sounds while gmm is running 2011-05-29 01:04:08 +02:00
strangerke 69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Max Horn 29847ea42d AUDIO: Change several fake MidiDrivers to MidiDriver_BASE subclasses
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-23 15:25:47 +01:00
Max Horn 8982fff1b7 AUDIO: Add pure virtual MidiDriver::isOpen() method
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.
2011-03-22 23:51:47 +01:00
Jordi Vilalta Prat d5a4f554af ALL: Fix a few typos
svn-id: r54716
2010-12-01 20:03:05 +00:00
Johannes Schickel 607920c869 KYRA: Fix some code errors reported by ICC (i.e. subclasses not overwriting methods by missing a const.)
svn-id: r53911
2010-10-28 23:56:36 +00:00
Johannes Schickel b9a74a7915 KYRA: Send GM reset on startup.
svn-id: r52737
2010-09-15 22:00:43 +00:00
Johannes Schickel feff6fecdf KYRA: Cleanup.
svn-id: r52340
2010-08-24 13:41:24 +00:00
Johannes Schickel 44aab95eb9 KYRA: Fix mute setting with MIDI and FM-Towns/PC98 output.
svn-id: r51105
2010-07-21 20:26:40 +00:00
Johannes Schickel 2eb16caade Remove HACK, which is obsolete because of r47336.
svn-id: r47548
2010-01-25 03:05:39 +00:00
Johannes Schickel e11e9338d1 Delay the time a sysEx takes to send instead of the old (incorrect) way of delaying only 45ms between two sysEx calls. (Code thankfully borrowed from waltervn).
svn-id: r47336
2010-01-17 02:42:31 +00:00
Johannes Schickel e757e7a60a Fix out of bounds access reported by syke.
svn-id: r46844
2010-01-01 19:45:49 +00:00
Florian Kagerer 5905b9e479 LOL: completed support for floppy installer files
svn-id: r46174
2009-11-28 18:40:37 +00:00
Max Horn 51933629d1 Changed foo(void) to foo() in almost all non-backend source files
svn-id: r45616
2009-11-02 21:54:57 +00:00
Max Horn f242266f6d Change a couple places from 'end of namespace' to 'End of namespace', for consistency
svn-id: r44634
2009-10-04 21:26:33 +00:00
Johannes Schickel 57566ad337 Properly respect users sfx/music config settings for MIDI output.
svn-id: r43332
2009-08-12 23:16:35 +00:00
Johannes Schickel fbefe917f2 Removed more obsolete TODO messages.
svn-id: r41956
2009-06-29 17:06:17 +00:00
Johannes Schickel 874e340d25 Output a warning to the user, when he tries to play back MT32 MIDI tracks with a General MIDI device.
svn-id: r41012
2009-05-29 17:38:22 +00:00
Johannes Schickel 2bcf5c0552 - Moved Sound implementation declarations to the newly added file sound_intern.h
- Added support for PC Speaker sound in all Kyra1, Kyra2 and Lands of Lore
- Slight cleanup

svn-id: r40939
2009-05-27 14:40:37 +00:00
Johannes Schickel cc35c15f39 Add hack so LoL intro demo will init MT-32 properly.
svn-id: r40784
2009-05-22 14:09:51 +00:00
Johannes Schickel 240cef8aa6 Use correct file for MT-32 initialization for Kyra2 SEQ player based Lands of Lore demo.
svn-id: r40783
2009-05-22 13:39:57 +00:00
Johannes Schickel 274bb7b0dd Oops typo.
svn-id: r40782
2009-05-22 01:03:14 +00:00
Johannes Schickel 32c2e93ecc Properly initialize MT-32 for LoL demos.
svn-id: r40781
2009-05-22 00:58:09 +00:00
Eugene Sandulenko 696897b058 Whoa! Removing trailing spaces.
svn-id: r35648
2009-01-01 15:06:43 +00:00
Florian Kagerer 83194b2188 KYRA: fix mt-32 sysex loading for LOL floppy
svn-id: r35434
2008-12-19 07:32:08 +00:00
Johannes Schickel c75c681175 Added code to initialize MT-32 properly for Lands of Lore.
svn-id: r35347
2008-12-14 00:23:46 +00:00
Johannes Schickel 2f1babd370 Whoops changed integer size of variables storing volume information, now volume of 256 should work as expected.
svn-id: r35303
2008-12-11 13:54:18 +00:00
Johannes Schickel 30507498b0 Midi code now allows volume values to be [0, 256] instead of [0, 255] like before, thus removed the clipping the old code used.
svn-id: r35302
2008-12-11 13:44:58 +00:00
Johannes Schickel 62d2955d9b Cleanup.
svn-id: r35273
2008-12-07 13:41:00 +00:00
Johannes Schickel c7c074895a Prevent MIDI files from being load, when they are already loaded.
svn-id: r35272
2008-12-07 13:12:09 +00:00
Johannes Schickel c517045349 Fixed some looping MIDI sound effects.
svn-id: r35193
2008-11-30 15:15:14 +00:00
Johannes Schickel 6fd1d462cf Added MIDI SFX Map, fixes SFX in HoF.
svn-id: r35181
2008-11-30 05:11:40 +00:00
Johannes Schickel 2ebe04ac3e - Extended MidiDriver::sysEx to allow 264 byte sysEx messages
- 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-30 04:42:30 +00:00
Johannes Schickel 17a699a438 Cleanup.
svn-id: r35179
2008-11-30 02:54:39 +00:00
Johannes Schickel 1fc33dbae5 - Fix some valgrind warnings
- Added MIDI SFX support for Kyra2

svn-id: r35178
2008-11-30 02:47:20 +00:00
Johannes Schickel 8142873c6a Implement fade out support for MIDI.
svn-id: r35177
2008-11-30 02:38:08 +00:00
Johannes Schickel 25172da444 Cleanup.
svn-id: r35175
2008-11-30 01:59:21 +00:00
Johannes Schickel 893a79b01d Initial version of proper MIDI support for KYRA.
svn-id: r35174
2008-11-30 01:53:32 +00:00