aboutsummaryrefslogtreecommitdiff
path: root/audio/softsynth/mt32.cpp
AgeCommit message (Collapse)Author
2016-12-18MT32: Really add the virtual destructorColin Snover
2016-12-18MT32: Fix virtual dtor warning, incorrect delete, unnecessary allocationColin Snover
2016-12-17MT32: Prevent Munt from including <fstream>Eugene Sandulenko
2016-12-16MT32: Fix driver to be thread-safeColin Snover
2016-12-16MT32: Update Munt to 2.0.1-preColin Snover
This update uses upstream commit f88ef828a600ce66d1f730c8fb2a7f580f6f6165. This update switches to use the new Munt C++ interface, which will allow ScummVM to link to an external Munt library instead of requiring it to be built-in in the future. For the moment, the emulator is still built-in, since it is not available from most package repositories. The Munt driver in ScummVM now uses writeSysex instead of the (now-private) playSysexWithoutFraming, per recommendation from the Munt team <https://github.com/munt/munt/pull/30>. This changeset also removes direct modifications that used to be made to Munt code, to ease future updates. To update Munt code in the future: 1. Replace all source files in the `softsynth/mt32` directory with new files from the upstream `mt32emu/src` directory; 2. Update `config.h` with the correct version number for the new version of Munt; 3. Update `module.mk` to add any new source files that need to be built.
2016-11-25Revert "MT32: Update Munt to 2.0.0"Colin Snover
This reverts commit b4dbd6d3c275097b4be964b7da4478ff930cbaa7.
2016-11-25MT32: Update Munt to 2.0.0Colin Snover
This changeset also removes unnecessary direct modifications to Munt code to ease future updates. To update Munt in the future: 1. Replace all source files in the `softsynth/mt32` directory with new files from the upstream `mt32emu/src` directory; 2. Update `config.h` with the correct version number for the new version of Munt; 3. Update `module.mk` to match the list of sources given in `mt32emu/CMakeLists.txt libmt32emu_SOURCES`.
2016-10-29MT32: Use OSDMessageQueue to post OSD messages from the MT32 threadThierry Crozat
2016-03-18AUDIO: Use MUNT's sample rate for MT-32 emulation.Johannes Schickel
2016-03-18AUDIO: Make MT-32 emulator play MIDI events immediately.Johannes Schickel
This fixes the Indiana Jones and the Fate of Atlantis specific issue reported in bug #6242 "AUDIO: Built-In MT-32 MUNT Produces Wrong Sounds". Delaying MIDI events has been introduced with Munt 1.3.0. Regression from 00992c1e68444a8123ffc89a971751cecf7287ed.
2015-12-28MT32: Check for CM32-L ROMs before checking for MT-32 onesFilippos Karapetis
This ensures that the CM32-L ROMs will be preferred, if both sets are located in the same folder
2014-02-18AUDIO: Make GPL headers consistent in themselves.Johannes Schickel
2014-01-16AUDIO: Cleanup MT-32 code a bit.Johannes Schickel
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.
2014-01-16AUDIO: Register MT-32 emulator as plain sound type.Johannes Schickel
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 67b311713d8f4cfcd460a9649e0075f24278a048 introduced this very long ago. This should fix unintended coupling of sfx volume and music volume in BASS.
2013-11-03AUDIO: Do not add extrapath to SearchMan in MT-32 emu code.Johannes Schickel
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 805b21181ab7138da6960ade703b25716120fc29. The comment about it being a HACK has been removed in bbad3f333a9227ccb1de633a0fe92d9e01ad7bb3 but it's not clear to my why... At any rate, this should not be here.
2013-07-06AUDIO: Further fix to ReportHandlerScummVM::printDebug in MT32 code.D G Turner
2013-07-04AUDIO: Fix ReportHandlerScummVM::printDebug in MT32 code.Johannes Schickel
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
2013-05-17AUDIO: Reduce callback frequency of the MT-32 emulator.Johannes Schickel
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.
2013-05-01MT32: Fix some non-initialized fields in MidiDriver_MT32 - CID 1002949Filippos Karapetis
2013-02-04MT32: Also attempt to load roms named CM32L_CONTROL.ROM / CM32L_PCM.ROMFilippos Karapetis
This was accidentally removed in commit 5711d23
2013-01-06MT32: Remove the screen drawing code of the MUNT debug messages (bug #3599702)Filippos Karapetis
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
2013-01-06MT-32: Only show MUNT debug messages for debug level 4 and above (bug #3599702)Filippos Karapetis
This avoids showing warnings in the intro of FOTAQ when using the MT-32 emulator
2012-12-27MT32: Move the ROM file deletion code to the ScummVM MT32 driverFilippos Karapetis
This removes the custom ScummVM file deletion code in the munt code
2012-12-26MT32: Update the MT32 emulator and adapt to its new APIFilippos Karapetis
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
2012-02-09MT32: Hooked up ScummVM MIDI gainEugene Sandulenko
2012-02-09MT32: Update MT-32 emulator to latest Munt codeEugene Sandulenko
Several changes against original code were made. They were intentionally kept to the minimum
2011-08-06OSYSTEM: extended installTimerProc() with timer ID parameterEugene Sandulenko
2011-06-20ALL: Remove trailing whitespacesMax Horn
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]*$//'
2011-06-06GRAPHICS: Get rid of kSODFont (ScummFont)Thierry Crozat
OSD is now using the kGUIFont instead. The main advantage is that the kGUIFont can be used for translated text while only ASCII characters were present in ScummFont.
2011-06-06AUDIO: some more text tweaksathrxx
2011-06-06AUDIO: Tweak warning textWillem Jan Palenstijn
2011-06-05AUDIO: fix device detection (missing rom files for MT-32 emu)athrxx
This is an attempt to fix the problem Max described in his devel mail. The presence of the rom files will now be checked in detectDevice(). In case of failure there will be fallback attempts. The user will get notified of the detection failure if he has expressly selected the device that failed. Please test with your platform / engine (with or without rom files).
2011-05-25ALL: initialise -> initializeMatthew Hoops
2011-05-12GIT: Clean up: Suppress SVN tags, now uselessstrangerke
2011-05-02ALL: Mark printf and various other symbols as forbiddenMax Horn
Right now, a few places in the frontend code still use printf and consorts. We mark the affected files with a FIXME for now, and add a dedicated exception for each. To be fixed! Also tweak FORBIDDEN_SYMBOL_REPLACEMENT to hopefully really always enforce a compiler error
2011-04-28JANITORIAL: Reduce header dependencies in shared codeOri Avtalion
Some backends may break as I only compiled SDL
2011-03-22AUDIO: Cleanupdhewg
Is it just me or is overwriting-but-not-marking-as-virtual irritating?
2011-02-14MT32: Adapt to setPalette RGBA->RGB change.Johannes Schickel
2011-02-09AUDIO: Rename sound/ dir to audio/Max Horn
svn-id: r55850