Commit Graph
909 Commits
Author SHA1 Message Date
Zvika Haramaty 3b4810aab4 AUDIO: Added dump-midi mechanism
This mechanism is enabled by '--dump-midi' command line parameter.
The midi events are printed to screen, and dumped to 'dump.mid' file.
2020-02-28 08:27:12 +02:00
NMIError b2468d9442 SCI/MIDI: GS drumkits - comments and re-usability
- Move the GS drumkit fallback map to generic audio code for re-use
- Added comments and debug message
2020-02-16 13:33:45 +02:00
Paul Gilbert 1e2caf872b AUDIO: Ignore optional RBRN chunks in XMIDI files 2020-02-01 13:13:51 -08:00
athrxx 8014f12df3 AUDIO: (FLUIDSYNTH) - limit config.h include to builds that need it
makes life a bit more convenient for some MSVC users (or at least for me)
2019-12-20 15:30:48 +01:00
athrxx 6193b6ce22 AUDIO: fix AmigaOS build 2019-12-18 21:40:03 +01:00
athrxx 21b5f9262c AUDIO: (FM-TOWNS/PC-98) - fix regression from 0e734722
My commit 0e734722 causes lockups in SCUMM (sometimes) and SCI (very often). I didn't like the way I had fixed this before, but in the end I now had to do it in a similar way.
2019-12-18 20:50:39 +01:00
athrxx 1083b94cbf AUDIO: (FM-TOWNS/PC-98) - set enum members to fixed values 2019-12-18 20:50:39 +01:00
athrxx 900dcc4de5 AUDIO: (FM-TOWNS/PC-98) - improve timer flags handling
Timers should be reset only the first time the enable flag is sent. This also requires some updates to drivers which didn't send these flags accurately.
2019-12-18 20:50:39 +01:00
athrxx 711034b74d AUDIO: (FM-TOWNS/PC-98) - improve sound quality
- Increase internal sample rate to dividers of the actual chip clocks and fix other related things. This seems to improve certain sfx/noise generator like sounds. The performance still seems to be okay.
- Fix feedback glitch that caused some noise with certain instrument patches when playing short notes.
- Fix squarewave sound glitch (mute channels when volume is zero; this could also cause unnecessary noise).
- Some cleanup.
2019-12-18 20:50:39 +01:00
D G Turner 68758a879e AUDIO: Really Fix Compilation Against Fluidsynth v2.1+
The previous fix did not work as the forbidden exception had no effect
since scummsys.h and thus forbidden.h had already been included prior
to the fluidsynth header being included. This also meant that undefining
the exception define after the header would have had no effect anyway.

This new solution was suggest by eriktorbjorn on bug #11278 and should
avoid the need to add an exception which would persist over the entire
source file.
2019-12-17 04:21:04 +00:00
D G Turner 8593a9e1e4 AUDIO: Fix Compilation Against Fluidsynth v2.1+
This is as reported by eriktorbjorn.
2019-12-15 22:22:20 +00:00
Bastien Bouclet feaf9dc365 ALL: Sync with ScummVM rev. 55dba55056 2019-12-08 17:06:42 +01:00
Cameron Cawley 2048c9cc78 AUDIO: Remove unused parameter from the MixerImpl constructor 2019-11-30 17:47:34 +02:00
D G Turner 3959797b85 AUDIO: Fix Remaining Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-11-28 14:38:43 +00:00
Cameron Cawley f2b9f7bb76 BACKENDS: Remove the Windows CE port 2019-11-17 22:33:56 +01:00
D G Turner 28287d70b6 AUDIO: Fix Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-11-17 08:20:01 +00:00
D G Turner 4d911012e2 MT32: Add Missing Default Switch Cases
These are flagged by GCC if -Wswitch-default is enabled.
2019-10-04 03:51:40 +01:00
athrxx d097768e1f AUDIO: (FM-Towns/PC-98) - deconstructor/race condition fix
(move mixer calls before mutex lock, since the mixer has a mutex of its own)
2019-08-25 11:58:19 +02:00
James Ye 8170166d36 AUDIO: (opl2lpt) add OPL3LPT support
The OPL3LPT is like the OPL2LPT with an OPL3 chip.  Add OPL3 support to
the existing OPL2LPT driver.

There is no auto-detection of OPL3 capability. The user is required to
explicitly select OPL3LPT as their OPL device.

Tested with Sam & Max Hit the Road.
2019-08-23 14:34:44 +03:00
athrxx 0e73472207 AUDIO: (FM-Towns/PC98) - cleanup mutex handling 2019-08-07 16:43:06 +02:00
D G Turner a769bace7f AUDIO: (FM-TOWNS) Fix GCC Compiler Warning with Copy Assignment 2019-08-03 16:09:17 +01:00
athrxx 01f99f1a0a SCUMM: imuse driver directory cleanup
- move mac, pc speaker and fm-towns ims sound drivers into separate directory

(AdLib and MT32/GM drivers are still too entangled with common code to be moved so easily, especially MT32/GM. It would require lots of changes to the common code and possibly to all engines using the MidiDriver class. So I leave that for now.)
2019-07-14 21:45:43 +02:00
athrxx 9afdde2601 SCUMM: add Amiga iMuse sound driver
(applies to MI2 and INDY4)
2019-07-14 20:56:27 +02:00
Bastien Bouclet d474e3f94f ALL: Sync with ScummVM - rev. ea3f8f2e33 2019-06-29 19:08:44 +02:00
Sven Hesse b49c7fa644 AUDIO: Implement low-pass filtering for Paula
Paula low-pass filtering, as implemented by UAE.

The Amiga has two filtering circuits: a static RC filter
(only) on the A500, and an LED filter that can be enabled
or disabled dynamically.

By default, the Paula now doesn't apply the static RC
filter, but allows for enabling the LED filter (with
setAudioFilter()).

NOTE: At the moment, this code still uses floating point
arithmetics! It also calls tan() three times per
instantiation.
2019-06-20 16:00:59 +02:00
Bastien Bouclet 68bd697180 AUDIO: Removed most of the MIDI infrastructure
It's not needed in ResidualVM
2019-06-08 06:36:55 +02:00
Bastien Bouclet 0c001d236d AUDIO: Removed the OPL code
It's not needed in ResidualVM
2019-06-08 06:23:32 +02:00
SupSuper 8d17b6c48a AUDIO: Fix MSVC warnings
Fixes warning C4245: signed/unsigned mismatch
(seems in line with other decoders)
2019-05-09 18:13:10 +10:00
SupSuper 369ba0c4b7 AUDIO: Fix MSVC warnings
Fixes warning C4530: C++ exception handler used, but unwind semantics are not enabled
by disabling exceptions in the STL since ScummVM doesn't support them
2019-05-09 18:13:10 +10:00
D G Turner 3de51cefd7 AUDIO: Fix GCC Compiler Warning in FM-TOWNS PC-98 Soft Synth
This is another warning of the use of memset to clear a non-trivial
structure / class. This can be removed since the structure is cleared by
the constructor which will be called by the "new" so clearing this again
is redundant.
2019-05-07 22:41:42 +01:00
D G Turner 21450facee MT32: Fix GCC Compiler Warning regarding memset usage 2019-05-07 01:39:12 +01:00
Bastien Bouclet 148655f5c2 COMMON: Use a prefix table to speed up the Huffman decoder
Symbols for codes shorter than the prefix table index width are stored
in the table. All the entries in the table with an index starting with
the code are set to the symbol value. That way, when decoding it is
possible to get the number of bits corresponding to the table width from
the bitstream and directly find the symbol value. Longer code still need
to be searched for in the codes list.
2019-04-14 20:24:26 +02:00
athrxx 1cfa6c087a AUDIO: (FM-TOWNS/PC-98) - silence some compiler warnings 2019-03-22 21:03:54 +01:00
athrxx 73678257b9 AUDIO: (FM-TOWNS) - turn warning into debug message
(no need to bother users with something that is actually intended behavior)
2019-03-22 21:03:53 +01:00
athrxx b388f6d454 AUDIO: (FM-TOWNS/PC-98) - really fix NDS port build 2019-03-08 00:33:36 +01:00
athrxx 5e04dbcc6b AUDIO: (FM-TOWNS/PC-98) - hopefully fix NDS port 2019-03-08 00:18:14 +01:00
athrxx 8d4418fa36 AUDIO: (FM-TOWNS) - cleanup 2019-03-07 21:28:49 +01:00
athrxx 1237eb496b AUDIO: (FM-TOWNS/PC-98) - initialize some uninitialized vars
(just to remove some analysis warnings)
2019-03-07 21:28:45 +01:00
athrxx 49e85f64cf AUDIO: (FM-TOWNS/PC-98) - allow individual operator frequencies
(also add some sanity checks and make some more adjustments for SCI audio driver)
2019-03-07 21:28:41 +01:00
athrxx b789d50a55 AUDIO: (FM-TOWNS/PC-98) - fix valgrind warning
(This didn't come up with the targets supported until now, but it does come up with SCI PC-98 music)
2019-03-07 21:28:35 +01:00
athrxx 4a226aa835 AUDIO: (FM-TOWNS/PC-98) - more cleanup
sort and rename some methods and vars and move as much as possible from public to private section
2019-03-07 19:43:55 +01:00
athrxx 20b378a41a AUDIO: (FM-TOWNS/PC-98) - cleanup
Apart from some basic cleanup this commit reverts a somewhat unfortunate design decision I made. The Kyra/Hof/Lol PC-98 sound drivers shouldn't inherit from the emulator. This commit separates the driver from the emulator putting some common interface in between. This should allow easier implementation of other PC-98 sound drivers.
2019-03-07 19:43:44 +01:00
Torbjörn Andersson 9d94970c0f AUDIO: Fix compilation with Clang
Reported by angstsmurf.
2019-02-14 17:45:16 +01:00
Torbjörn Andersson cc958f70ef AUDIO: Simplify _audioGain calculation
No need to explicitly set it to 1.0. (There may have been in an
earlier version, to avoid any possible rounding error. But if so,
that reason is long gone.)
2019-02-10 16:32:02 +02:00
Torbjörn Andersson 9785d5007a ZVISION: Boost volume for MPEG cutscenes
The high-resolution videos play back at much lower volume than the
original ones. This adds hard-coded values for how much to amplify
each cutscene. It's all done by ear, and it does introduce some
clipping, but I think it should be acceptable.

Of course, it could also be a problem with the audio decoder, so
this may be the wrong approach entirely.
2019-02-10 16:32:02 +02:00
athrxx ccb2dab9d0 AUDIO: (Paula) - fix typo 2019-01-27 14:46:09 +01:00
Bastien Bouclet 66654cb376 ALL: Sync with ScummVM - rev. cd37d510f9 2019-01-26 20:47:55 +01:00
Paul Gilbert 08db684864 GLK: Add support for secondary Blorb files separate from the gamefile
It also hads further support for playing AIFF files. However, the
Blorb files for Lurking Horror & Sherlock on the if-archive website
don't seem to be valid AIFF files, so sound doesn't play using them
2018-12-08 19:05:59 -08:00
Paul Gilbert 0cbd51641b GLK: FROTZ: Further sound handling 2018-12-08 19:05:59 -08:00
athrxx f67ca1ba47 AUDIO: (FM-TOWNS) - remove wave memory limit
(This is basically an unnecessary emulation of a hardware limitation. EOB II will try to load approximately 70 KByte of samples for the outro sequence, which would lead to some missing sounds with the 64 Kbyte limit).
2018-11-14 17:22:19 +01:00