Age | Commit message (Collapse) | Author |
|
|
|
My commit 0e734722 causes lockups in SCUMM (sometimes) and SCI (very often). I didn't like the way I had fixed this before, but in the end I now had to do it in a similar way.
|
|
|
|
Timers should be reset only the first time the enable flag is sent. This also requires some updates to drivers which didn't send these flags accurately.
|
|
- Increase internal sample rate to dividers of the actual chip clocks and fix other related things. This seems to improve certain sfx/noise generator like sounds. The performance still seems to be okay.
- Fix feedback glitch that caused some noise with certain instrument patches when playing short notes.
- Fix squarewave sound glitch (mute channels when volume is zero; this could also cause unnecessary noise).
- Some cleanup.
|
|
These are flagged by GCC if -Wswitch-default is enabled.
|
|
(move mixer calls before mutex lock, since the mixer has a mutex of its own)
|
|
|
|
|
|
- move mac, pc speaker and fm-towns ims sound drivers into separate directory
(AdLib and MT32/GM drivers are still too entangled with common code to be moved so easily, especially MT32/GM. It would require lots of changes to the common code and possibly to all engines using the MidiDriver class. So I leave that for now.)
|
|
This is another warning of the use of memset to clear a non-trivial
structure / class. This can be removed since the structure is cleared by
the constructor which will be called by the "new" so clearing this again
is redundant.
|
|
|
|
(no need to bother users with something that is actually intended behavior)
|
|
|
|
|
|
|
|
(just to remove some analysis warnings)
|
|
(also add some sanity checks and make some more adjustments for SCI audio driver)
|
|
(This didn't come up with the targets supported until now, but it does come up with SCI PC-98 music)
|
|
sort and rename some methods and vars and move as much as possible from public to private section
|
|
Apart from some basic cleanup this commit reverts a somewhat unfortunate design decision I made. The Kyra/Hof/Lol PC-98 sound drivers shouldn't inherit from the emulator. This commit separates the driver from the emulator putting some common interface in between. This should allow easier implementation of other PC-98 sound drivers.
|
|
(This is basically an unnecessary emulation of a hardware limitation. EOB II will try to load approximately 70 KByte of samples for the outro sequence, which would lead to some missing sounds with the 64 Kbyte limit).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
(This works around issues with some Indy 3 sound tracks. These tracks seem to be broken, since they have way too long duration values for some notes which would fill up the event buffer rather quickly. I tested with the UNZ emulator to be sure that this is an issue which also occurs with the original driver.)
|
|
|
|
|
|
(rework parts of the code + improve naming of variables/functions)
|
|
|
|
|
|
|
|
|
|
|
|
- handle some invalid sound resources that come up when starting LOOM
- fix typo in midi driver code (causing invalid mem reads)
|
|
|
|
|
|
This tries to make our code a bit more compliant with our code formatting
conventions. For future use, this is the command I used:
git ls-files "*.cpp" "*.h" | xargs sed -i -e 's/[ \t]*$//'
|
|
|
|
|
|
(move some stuff from TownsAudioInterfaceInternal to TownsAudio_PcmChannel)
|
|
|
|
|
|
|
|
|
|
- fixed lockup situation in imuse destructor (only concerning the fm-towns driver)
- fixed lockup situation when AudioCDManager functions get called
(in both cases both the main thread and the mixer thread would get locked in different mutex belonging to the other thread)
|