Age | Commit message (Collapse) | Author |
|
Note that this breaks the IHNM demo, as provided on the ScummVM web
page, since it doesn't have the sample.ad and sample.opl files
needed, but I have a feeling that this is a packaging error on
our part.
I don't have the original release of ITE, so I can't test that.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
It already paused the music, but any notes that were playing were
just left hanging. At least with the ALSA MIDI driver. This was
quite annoying when using the debug console.
|
|
- The logo screens of all ITE versions are shown correctly now
- Wyrmkeep versions, demo versions with scene substitutes, demos with
mono music and demo versions with LE VOX encoded voices are all found
automatically now
|
|
|
|
|
|
|
|
|
|
The regression affected AGOS and maybe some others; specifically,
the real MidiDriver would have been deleted twice -- I previously
missed that the Engine instances takes care of freeing the real
MidiDriver, not the MidiPlayer wrapping it.
This commit should clarify the ownership of the real MidiDriver for
most pseudo MidiDrivers.
|
|
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.
|
|
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.
|
|
And respect global mute settings
|
|
svn-id: r55850
|
|
This is a regression from r55256. Apparently, SCUMM has issues when sending a sustain
off on a notes off event. Thus, this has been turned into a feature, which is disabled
by default. Since MADE, SAGA and tinsel all share the same music code and play regular
MIDI files, and this feature fixes hanging notes for them, it has been enabled for them.
Also, applied a patch for a bug regarding the notes off event in MADE and tinsel,
which has been applied in SAGA already
svn-id: r55746
|
|
svn-id: r54385
|
|
svn-id: r53779
|
|
Music::_songTable, ObjectMap::*, PalAnim::*, Scene::sceneLut, SndRes::_fxTable* malloc based arrays with Common::Array implementation
add ByteArray type
fix debug Tile Hittest frame drawing
debug 0x%x => 0x%X
svn-id: r53719
|
|
svn-id: r52922
|
|
This is currently done in the engine code. I adapted AGI, AGOS, DRACI,
GROOVIE, LURE, MADE, QUEEN, SAGA, SKY, TINSEL and TOUCHE to send a reset
device on startup. The sound output still works fine (started up a game
from every engine), so this should hopefully not introduce any regressions.
As far as I can tell it seems that SCUMM does send a proper device reset, so
I did not touch it. KYRA only sends a proper reset for MT-32 currently. I am
not sure about SCI though.
This fixes bug #3066826 "SIMON: MIDI notes off when using RTL after SCI".
svn-id: r52736
|
|
General MIDI, not MT-32. (I hope this doesn't break anything else.)
svn-id: r50927
|
|
may crash. (The ALSA one did, until a few minutes ago.)
svn-id: r50871
|
|
select MDT_PREFER_MT32 or MDT_PREFER_GM
svn-id: r50288
|
|
svn-id: r50128
|
|
Second parameter to intallTimerCallback is in _micro_seconds.
Correct calls which assumed milliseconds.
svn-id: r49771
|
|
MusicPlayer class, instead of the SagaEngine class. Split the functionality that the music parser should handle from the functionality that the music driver should handle. Also, fixed a bug in MusicDriver::send() (the notes off signal was sent to unallocated channels, not allocated ones)
svn-id: r49607
|
|
svn-id: r49047
|
|
svn-id: r48637
|
|
for the original DOS demo of ITE
svn-id: r48139
|
|
- Rename makeFlacStream to makeFLACStream.
svn-id: r47846
|
|
- Introduce two new makeRawStream factories, one is using RawStreamBlockList instead of an RawDiskStreamAudioBlock array.
svn-id: r47713
|
|
sound/decoders/
svn-id: r47579
|
|
svn-id: r47541
|
|
format, used in the Mac version of IHNM
svn-id: r47474
|
|
svn-id: r47395
|
|
Also fix several recently introduced new/delete vs. malloc/free mismatches.
svn-id: r47369
|
|
svn-id: r47368
|
|
svn-id: r47367
|
|
svn-id: r47334
|
|
/ company.
Check this for reference:
http://en.wikipedia.org/wiki/Ad_Lib,_Inc.
http://www.crossfire-designs.de/images/articles/soundcards/adlib.jpg (note the upper left of the card)
This commit does not touch "adlib" and "ADLIB" uses!
Also it does not update all the SCUMM detection entries, which still use "Adlib".
svn-id: r47279
|
|
svn-id: r47227
|
|
thus features the same looping capabilites as LinearMemoryStream and LinearDiskStream.
- Remove custom looping code from LinearMemoryStream and LinearDiskStream.
- Adapt various client code to the changes.
svn-id: r47226
|
|
Mixer::playAudioStreamLooping. (There's Audio::makeLoopingAudioStream).
svn-id: r47160
|
|
- Fix documentation of openStreamFile.
svn-id: r47080
|