aboutsummaryrefslogtreecommitdiff
path: root/audio/softsynth
AgeCommit message (Collapse)Author
2014-07-13MT32: Sync with the latest changes in muntFilippos Karapetis
This syncs the code with munt commit fa8b4f899d, avoiding usage of a global constructor
2014-07-11MT32: Comment out default showLCDMessage/printDebug implementations.Johannes Schickel
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.
2014-07-11Revert "MT32: Avoid runtime abort due to non-POD object pass in MT32 Emulator."Johannes Schickel
This reverts commit 6731eb21e3e4c1fa2470ed03a3547d45b3dff6e3.
2014-07-10MT32: Avoid runtime abort due to non-POD object pass in MT32 Emulator.D G Turner
2014-07-08MT32: Update to munt 1.4.0Filippos Karapetis
This syncs with munt commit 175446af43
2014-07-08MT32: Copyright year bumpFilippos Karapetis
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 EAS sound driver as plain sound type.Johannes Schickel
MIDI code will control volume via MIDI events thus the generated audio should not be affected by mixer sound volumes. The initial commit 0e6cdfd67580f75e912c5e92abb26821d032f74b added it as music sound type. Might be copied from the (also) incorrect FluidSynth code.
2014-01-16AUDIO: Register FluidSynth driver as plain sound type.Johannes Schickel
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 d4d045b1174b4a48659f39f026ade42684b679bf / 13dc149ded691e718905049990dd0220230c500e added it as music sound type. So, this seems to be a long standing issue.
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-09-24MT-32: Update to munt 1.3.0Filippos Karapetis
2013-08-21MT-32: Sync with the latest changes in muntFilippos Karapetis
2013-07-14JANITORIAL: Remove trailing whitespaceSven Hesse
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-07-02MT-32: Sync with the latest changes in muntFilippos Karapetis
This syncs our code with munt commits 258cd89 and 17b40a6
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-03-27MT-32: Sync with the latest changes in muntFilippos Karapetis
This syncs our code with munt commit 15e9f65
2013-03-03MT-32: Sync with the latest changes in muntFilippos Karapetis
2013-03-03MT-32: Also replace cosf() (C99) with cos()Filippos Karapetis
2013-03-03MT-32: Avoid using sinf() (which is C99) in favor of sin()Filippos Karapetis
2013-03-02MT32: Sync with the latest changes in muntFilippos Karapetis
The major change is the addition of a refined wave generator based on logarithmic fixed-point computations and LUTs
2013-03-02MT32: Update copyright yearFilippos 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-02-04MT32: Sync with the latest changes in muntFilippos Karapetis
This syncs our code with munt commit ee380de
2013-01-26Merge pull request #301 from lordhoto/c++11-playgroundJohannes Schickel
RFC: Allow use of override and nullptr. Also allow C++11 compilation.
2013-01-26Merge branch 'eriktorbjorn-fluidsynth-settings'Johannes Schickel
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
2013-01-26GUI: Make the FluidSynth settings dialog a bit more like QsynthTorbjörn Andersson
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.
2013-01-26FLUIDSYNTH: Add separate dialog for FluidSynth settingsTorbjörn Andersson
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.
2013-01-24JANITORIAL: Fix ){ -> ) {Einar Johan Trøan Sømåen
2013-01-19MT32: Sync with the latest changes in muntFilippos Karapetis
This syncs our code with munt commits 535bf96, 934c116, 1643d07 and 2eac585
2013-01-09AUDIO: Silence C++11 narrowing warnings.Johannes Schickel
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
2013-01-02COPYRIGHT: After a discussion it with KingGuppy, revert copyright ↵Strangerke
modification in some Munt files (thanks LordHoto for pointing it)
2013-01-02JANITORIAL: Update copyright yearStrangerke
2013-01-02MT-32: Sync with the latest changes in muntFilippos Karapetis
This syncs our code with munt commits 3f0db2d and 2c5f314
2012-12-27MT32: Add missing initialization codeFilippos Karapetis
This code wasn't added when syncing with the official munt codebase
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-12-25MT32: Update the MT32 emulator to a newer munt commitFilippos Karapetis
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.
2012-12-01AUDIO: Fix AdLib volume when ENABLE_OPL3 is not definedTorbjörn Andersson
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.
2012-12-01AUDIO: Fix AdLib volume regression in pre-iMUSE SCUMM gamesTorbjörn Andersson
This assumes that _scummSmallHeader = 1 means we don't care about what _opl3Mode is when calculating the volume in mcKeyOn(). I hope this is correct.
2012-11-23AUDIO: Fix spurious compiler warnings about use-before-set variable.D G Turner
2012-11-22Merge pull request #283 from lordhoto/scumm-opl3Johannes Schickel
SCUMM: Support OPL3 in Sam&Max
2012-11-22AUDIO: Remove two extra commas.Johannes Schickel
2012-11-22AUDIO: Disallow custom percussion instruments in MIDI->AdLib code.Johannes Schickel