Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
This also should fix some regressions from the previous
commits, related to MidiParser's either being leaked,
or being deleted and then used again (i.e., crashing).
I tested as many games as I had available, but further
testing of all affected engines is called for anyway.
|
|
|
|
|
|
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.
|
|
re-release of DW1 (bug #2827022)
|
|
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
|
|
Use of global vars is what prevents RTL from working in Tinsel (and
probably in other engines). More specifically, the fact that many
global vars are not explicitly inited when the engine is (re)launched.
svn-id: r54262
|
|
svn-id: r54148
|
|
This commit contains the AudioCDManager changes from the gsoc2010-opengl
branch. The other changes in that branch are restricted to the backends
directory only (plus configure).
The Nintendo DS and Dreamcast ports still need to be ported over to
the new Audio CD system, but that should be fairly easy to do.
svn-id: r54147
|
|
svn-id: r54011
|
|
This includes an rather hacky attempt to merge all the recent gp2x backend
changes into the branch. I suppose the gp2x backend and probably all new
backends, i.e. gph, dingux etc., might not compile anymore.
Since I have no way of testing those it would be nice if porters could look
into getting those up to speed in this branch.
svn-id: r53399
|
|
svn-id: r52674
|
|
svn-id: r52338
|
|
the lookup tables
svn-id: r52333
|
|
MIDI offsets for the enhanced music soundtrack
are now calculated on the fly
svn-id: r52331
|
|
For some reason it referred to non-existent 3141. Changed it to
correct 3142.
svn-id: r52324
|
|
Bug #2827022: "DW: Enhanced music doesn't work". This release
has completely different MIDI.DAT file. So far offsets and detection
for this version were added. The mapping has to be confirmed with
James Woodcock.
svn-id: r52323
|
|
svn-id: r49678
|
|
- Removed AudioCDManager Singleton, and changed code for using AudioCDManager in OSystem.
- Added initialization code for new AudioCDManager in BaseBackend and OSystem_SDL.
svn-id: r49548
|
|
svn-id: r48817
|
|
svn-id: r48637
|
|
svn-id: r47736
|
|
sound/decoders/
svn-id: r47579
|
|
svn-id: r47182
|
|
header common/types.h
svn-id: r47180
|
|
svn-id: r46379
|
|
SetMidiVolume to reduce its scope
svn-id: r45784
|
|
svn-id: r45617
|
|
svn-id: r45616
|
|
svn-id: r45233
|
|
svn-id: r43123
|
|
svn-id: r43122
|
|
which actually happened on all systems, when using the multilanguage version.
svn-id: r43119
|
|
svn-id: r43066
|
|
svn-id: r42377
|
|
proprietary (and unsupported) PlayStation SEQ format
svn-id: r40860
|
|
svn-id: r39532
|
|
svn-id: r39203
|
|
svn-id: r36200
|
|
svn-id: r36199
|
|
like 'while(cond);' by inserting newlines
svn-id: r36127
|