Commit Graph
220 Commits
Author SHA1 Message Date
Matthew Hoops fde8abf8cc AUDIO: Move the common AdLib MidiDriver out of softsynth 2015-07-07 20:19:49 -04:00
Walter van Niftrik f0606aa8f1 AUDIO: Reset OPL registers in ALSA driver 2015-07-07 20:19:48 -04:00
Walter van Niftrik 1287a56429 AUDIO: Fix ALSA AdLib OPL2 waveform mask 2015-07-07 20:19:48 -04:00
Walter van Niftrik 1bdcf6e836 AUDIO: Reset ALSA AdLib on exit 2015-07-07 20:19:48 -04:00
Walter van Niftrik be345083a0 AUDIO: Update 2nd operator panning for AdLib register 0xc0 2015-07-07 20:19:48 -04:00
Walter van Niftrik b630eca437 AUDIO: Fix bug in ALSA AdLib driver
Thanks clone2727
2015-07-07 20:19:47 -04:00
Walter van Niftrik 40820eebf5 AUDIO: Add experimental hardware OPL support using ALSA 2015-07-07 20:19:47 -04:00
Matthew Hoops bed9da8b9d AUDIO: Remove all AudioStream access to OPL 2015-07-07 20:19:47 -04:00
Matthew Hoops dce05c520b AUDIO: Be consistent with calling stop() in OPL destructors 2015-07-07 20:19:46 -04:00
Matthew Hoops cc6e304af1 AUDIO: Limit the DOSBox start(0) hack to only being called once 2015-07-07 20:19:44 -04:00
Matthew Hoops ed8830fcc8 AUDIO: Use the built-in OPL timer for MidiDriver_ADLIB 2015-07-07 20:19:43 -04:00
Matthew Hoops b9307ef1a4 AUDIO: Introduce a callback to the OPL code
Currently unused, but ready to be hooked up to various classes using it.
2015-07-07 20:19:42 -04:00
Matthew Hoops 2e8f9dcec9 AUDIO: Remove the sample rate configuration from the OPL code 2015-07-07 20:19:42 -04:00
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