Commit Graph

157 Commits

Author SHA1 Message Date
Filippos Karapetis
e34b5be8e3 MT32: Update to munt 1.5.0
This syncs with munt commit 4041a16a5d
2014-12-21 22:19:28 +02:00
Filippos Karapetis
f953e3a435 MT32: Sync with the latest changes in munt
This syncs the code with munt commit fa8b4f899d, avoiding usage of a
global constructor
2014-07-13 17:12:04 +03:00
Johannes Schickel
32df9f7759 MT32: Comment out default showLCDMessage/printDebug implementations.
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-11 00:56:10 +02:00
Johannes Schickel
f8d0a48dcd Revert "MT32: Avoid runtime abort due to non-POD object pass in MT32 Emulator."
This reverts commit 6731eb21e3.
2014-07-11 00:38:31 +02:00
D G Turner
6731eb21e3 MT32: Avoid runtime abort due to non-POD object pass in MT32 Emulator. 2014-07-10 23:11:20 +01:00
Filippos Karapetis
8c5f67568f MT32: Update to munt 1.4.0
This syncs with munt commit 175446af43
2014-07-08 00:02:18 +03:00
Filippos Karapetis
10c7986a36 MT32: Copyright year bump 2014-07-08 00:02:17 +03:00
Johannes Schickel
452cec49d9 AUDIO: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Johannes Schickel
e00ae0918a AUDIO: Cleanup MT-32 code a bit.
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-16 22:46:21 +01:00
Johannes Schickel
1eb10b1a46 AUDIO: Register EAS sound driver as plain sound type.
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.
2014-01-16 22:21:39 +01:00
Johannes Schickel
d99f23fb10 AUDIO: Register FluidSynth driver as plain sound type.
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.
2014-01-16 22:20:23 +01:00
Johannes Schickel
5ea87462e4 AUDIO: Register MT-32 emulator as plain sound type.
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.
2014-01-16 22:18:47 +01:00
Johannes Schickel
b22aeafcc8 AUDIO: Do not add extrapath to SearchMan in MT-32 emu code.
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.
2013-11-03 19:36:04 +01:00
Filippos Karapetis
eb84b9fc02 MT-32: Update to munt 1.3.0 2013-09-24 11:30:46 +03:00
Filippos Karapetis
00992c1e68 MT-32: Sync with the latest changes in munt 2013-08-21 03:41:30 +03:00
Sven Hesse
989ea7cb56 JANITORIAL: Remove trailing whitespace 2013-07-14 19:01:47 +02:00
D G Turner
9fb96a9256 AUDIO: Further fix to ReportHandlerScummVM::printDebug in MT32 code. 2013-07-06 04:05:22 +01:00
Johannes Schickel
d7ff665737 AUDIO: Fix ReportHandlerScummVM::printDebug in MT32 code.
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-04 14:44:41 +02:00
Filippos Karapetis
5f3ddae421 MT-32: Sync with the latest changes in munt
This syncs our code with munt commits 258cd89 and 17b40a6
2013-07-02 03:53:09 +03:00
Johannes Schickel
a1cfe235e4 AUDIO: Reduce callback frequency of the MT-32 emulator.
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-17 00:40:34 +02:00
Filippos Karapetis
635847b979 MT32: Fix some non-initialized fields in MidiDriver_MT32 - CID 1002949 2013-05-01 15:46:23 +03:00
Filippos Karapetis
3f01f34b1f MT-32: Sync with the latest changes in munt
This syncs our code with munt commit 15e9f65
2013-03-27 23:01:47 +02:00
Filippos Karapetis
8a62471b21 MT-32: Sync with the latest changes in munt 2013-03-03 23:01:12 +02:00
Filippos Karapetis
7880323590 MT-32: Also replace cosf() (C99) with cos() 2013-03-03 22:59:33 +02:00
Filippos Karapetis
bb7930cf9c MT-32: Avoid using sinf() (which is C99) in favor of sin() 2013-03-03 16:10:02 +02:00
Filippos Karapetis
f4cc45d367 MT32: Sync with the latest changes in munt
The major change is the addition of a refined wave generator based on
logarithmic fixed-point computations and LUTs
2013-03-02 14:09:39 +02:00
Filippos Karapetis
8884c240fc MT32: Update copyright year 2013-03-02 13:46:11 +02:00
Filippos Karapetis
059f5ee138 MT32: Also attempt to load roms named CM32L_CONTROL.ROM / CM32L_PCM.ROM
This was accidentally removed in commit 5711d23
2013-02-04 23:13:53 +02:00
Filippos Karapetis
e2a8c8ea86 MT32: Sync with the latest changes in munt
This syncs our code with munt commit ee380de
2013-02-04 23:13:53 +02:00
Johannes Schickel
59dde54519 Merge pull request #301 from lordhoto/c++11-playground
RFC: Allow use of override and nullptr. Also allow C++11 compilation.
2013-01-26 05:25:14 -08:00
Johannes Schickel
94edb3409f Merge branch 'eriktorbjorn-fluidsynth-settings'
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-26 14:00:04 +01:00
Torbjörn Andersson
a188a43da6 GUI: Make the FluidSynth settings dialog a bit more like Qsynth
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-26 13:36:39 +01:00
Torbjörn Andersson
681f81211f FLUIDSYNTH: Add separate dialog for FluidSynth settings
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-26 13:36:37 +01:00
Einar Johan Trøan Sømåen
5d4d65d6d9 JANITORIAL: Fix ){ -> ) { 2013-01-24 20:15:13 +01:00
Filippos Karapetis
a81ff52088 MT32: Sync with the latest changes in munt
This syncs our code with munt commits 535bf96, 934c116, 1643d07 and 2eac585
2013-01-19 15:53:54 +02:00
Johannes Schickel
cc0b8594ce AUDIO: Silence C++11 narrowing warnings. 2013-01-09 07:24:37 +01:00
Filippos Karapetis
7058daaed1 MT32: Remove the screen drawing code of the MUNT debug messages (bug #3599702)
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-06 22:24:27 +02:00
Filippos Karapetis
05bf234b26 MT-32: Only show MUNT debug messages for debug level 4 and above (bug #3599702)
This avoids showing warnings in the intro of FOTAQ when using the MT-32 emulator
2013-01-06 21:54:40 +02:00
Strangerke
3cacade68d COPYRIGHT: After a discussion it with KingGuppy, revert copyright modification in some Munt files (thanks LordHoto for pointing it) 2013-01-02 18:48:22 +01:00
Strangerke
88add32e3b JANITORIAL: Update copyright year 2013-01-02 18:32:15 +01:00
Filippos Karapetis
98ec267543 MT-32: Sync with the latest changes in munt
This syncs our code with munt commits 3f0db2d and 2c5f314
2013-01-02 12:42:54 +02:00
Filippos Karapetis
f3ccc38e8d MT32: Add missing initialization code
This code wasn't added when syncing with the official munt codebase
2012-12-27 17:12:27 +02:00
Filippos Karapetis
bf62205c73 MT32: Move the ROM file deletion code to the ScummVM MT32 driver
This removes the custom ScummVM file deletion code in the munt code
2012-12-27 17:12:26 +02:00
Filippos Karapetis
5711d23231 MT32: Update the MT32 emulator and adapt to its new API
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-26 21:28:34 +02:00
Filippos Karapetis
d9e555afd5 MT32: Update the MT32 emulator to a newer munt commit
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-25 23:48:25 +02:00
Torbjörn Andersson
8881f71ac5 AUDIO: Fix AdLib volume when ENABLE_OPL3 is not defined
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-01 11:48:51 +01:00
Torbjörn Andersson
5cd7e5d777 AUDIO: Fix AdLib volume regression in pre-iMUSE SCUMM games
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-12-01 11:43:51 +01:00
D G Turner
d654057a98 AUDIO: Fix spurious compiler warnings about use-before-set variable. 2012-11-23 19:01:38 +00:00
Johannes Schickel
7c2f5e2d0e Merge pull request #283 from lordhoto/scumm-opl3
SCUMM: Support OPL3 in Sam&Max
2012-11-22 17:28:31 -08:00
Johannes Schickel
1f69192f7d AUDIO: Remove two extra commas. 2012-11-22 02:29:57 +01:00