This keeps the original MUNT code in showLCDMessage/printDebug and simply
comments it out. This *silences* a warning about debug use in our former
default replacement code. Since we already implement a ReportHandler there
is no need to adapt the default implementation.
This is not the cleanest way but the solution which requires the least changes
to MUNT code.
This removes overwrites in ReportHandlerScummVM which are simply the default
implementation anyway. A side effect is that this silences/fixes a warning
about the former onProgramChanged to hide an virtual method due to parameter
differences.
MIDI code will control volume via MIDI events thus the generated audio should
not be affected by mixer sound volumes.
The initial commit 0e6cdfd675 added it as music
sound type. Might be copied from the (also) incorrect FluidSynth code.
MIDI code will control volume via MIDI events thus the generated audio should
not be affected by mixer sound volumes.
The initial commit(s) in d4d045b117 /
13dc149ded added it as music sound type.
So, this seems to be a long standing issue.
Formerly the audio stream was registered as sfx. This is incorrect behavior
since the client code will control music volume with MIDI events on its own.
It seems 67b311713d introduced this very long
ago.
This should fix unintended coupling of sfx volume and music volume in BASS.
At the point where the emulator is created extrapath should already been
added to extrapath. If not, the check in checkDevice already failed and thus
adding it would be too late anyway.
It seems this was added in 805b21181a. The
comment about it being a HACK has been removed in bbad3f333a
but it's not clear to my why... At any rate, this should not be here.
Formerly it tried to pass 'va_list' as '...' to debug. Now it's first creating
a String containing the output via String::vformat and then passing it
to debug.
Found by buildbot (master-dc). The warning message was:
audio/softsynth/mt32.cpp:65: warning: cannot pass objects of non-POD type
`struct va_list' through `...'; call will abort at runtime
Formerly the frequency was at 10000Hz. This resulted in 3,4 or even only 1
sample to be generated between callbacks on my system. All the other MIDI
drivers use a much lower frequency here. The MidiDriver_Emulated subclasses
use a frequency of 250Hz (by default) and the MidiDriver_MPU401 subclasses
(which are for example the ALSA output) use 100Hz. With the new frequency
of 250Hz 128 samples are generated between callbacks. This will hopefully
reduce the overhead of the MT-32 emulator (the engine's code was run 10000
times a second too) a bit.
I talked with KingGuppy and it seems the value was increased in the past
(still with the very old MT-32 emulator code) because there were accuracy
issues. However, I gave the lower frequency a quick test with the MI1, MI2
and ITE intro and didn't spot any obvious differences. As a result, KingGuppy
and I agreed to lower it back to 250Hz. If there are any problems coming up
we can still slightly increase the frequency to 1000Hz for example.
Thanks to waltervn for noticing this. Thanks to KingGuppy for discussion.
This is a manual merge of a slightly adapted pull request #296.
The changes made are:
- Each time the theme format changes, the version was increased
- default.inc has been regenerated in the same commit as the theme changes
To help people familiar with Qsynth (I'm not, but it seems to be
one of the more polished FluidSynth front ends), use the same
presentation and terminology for the FluidSynth settings.
More to follow.
I don't really understand what these parameters do, or what the
sensible values are, so for now the sliders are limited only by
the allowed (or, in one case, "safe") values.
The MUNT debug messages are called from an audio callback, which is not allowed to
update the screen, as per the OSystem documentation in common/system.h:401
Previous munt commit was 84b2819 (Dec 22, 2012)
Current munt commit is 6afddaf (Dec 23, 2012)
This commit also updates the MT32 driver code to the latest munt API
Previous munt commit was f969d20 (Nov 15, 2012)
Current munt commit is 84b2819 (Dec 22, 2012)
We are still missing the changes from commit 788f7b1 onwards (Dec 22,
2012). There are bigger ROM access-related changes from that point,
which we'll have to integrate as well.
This should ensure that when ENABLE_OPL3 is not defined, the old
code (using a lookup table) is used for calculating vol1 and vol2
(unless, of course, _scummSmallHeader is true). I hope I got it
right this time.