Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
svn-id: r55850
|
|
* Do not restart character theme is already playing.
* Play the correct tune in the night club.
* Do not play muisc in the location meant to be silent.
svn-id: r55147
|
|
svn-id: r55146
|
|
svn-id: r48637
|
|
svn-id: r47716
|
|
sound/decoders/
svn-id: r47579
|
|
svn-id: r47492
|
|
makeRawMemoryStream variant to makeRawMemoryStream_OLD; adapt some code to this change
svn-id: r47472
|
|
Also fix several recently introduced new/delete vs. malloc/free mismatches.
svn-id: r47369
|
|
svn-id: r47368
|
|
svn-id: r47367
|
|
svn-id: r47182
|
|
svn-id: r47124
|
|
2879793 that is actually a bug.
svn-id: r45147
|
|
svn-id: r41461
|
|
in trunk/sound/.
* Refactored sound code in Parallaction to use the new Audio::make8SVXStream.
svn-id: r41460
|
|
svn-id: r39716
|
|
svn-id: r39608
|
|
svn-id: r39395
|
|
allows accessing them through a simplified command/parameter interface.
* Updated client code to use the new manager.
* Moved Nippon Safes sound code from sound.cpp to sound_ns.cpp.
svn-id: r39394
|