aboutsummaryrefslogtreecommitdiff
path: root/audio
AgeCommit message (Collapse)Author
2019-06-20AUDIO: Implement low-pass filtering for PaulaSven Hesse
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-05-09AUDIO: Fix MSVC warningsSupSuper
Fixes warning C4245: signed/unsigned mismatch (seems in line with other decoders)
2019-05-09AUDIO: Fix MSVC warningsSupSuper
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-07AUDIO: Fix GCC Compiler Warning in FM-TOWNS PC-98 Soft SynthD G Turner
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-07MT32: Fix GCC Compiler Warning regarding memset usageD G Turner
2019-03-22AUDIO: (FM-TOWNS/PC-98) - silence some compiler warningsathrxx
2019-03-22AUDIO: (FM-TOWNS) - turn warning into debug messageathrxx
(no need to bother users with something that is actually intended behavior)
2019-03-08AUDIO: (FM-TOWNS/PC-98) - really fix NDS port buildathrxx
2019-03-08AUDIO: (FM-TOWNS/PC-98) - hopefully fix NDS portathrxx
2019-03-07AUDIO: (FM-TOWNS) - cleanupathrxx
2019-03-07AUDIO: (FM-TOWNS/PC-98) - initialize some uninitialized varsathrxx
(just to remove some analysis warnings)
2019-03-07AUDIO: (FM-TOWNS/PC-98) - allow individual operator frequenciesathrxx
(also add some sanity checks and make some more adjustments for SCI audio driver)
2019-03-07AUDIO: (FM-TOWNS/PC-98) - fix valgrind warningathrxx
(This didn't come up with the targets supported until now, but it does come up with SCI PC-98 music)
2019-03-07AUDIO: (FM-TOWNS/PC-98) - more cleanupathrxx
sort and rename some methods and vars and move as much as possible from public to private section
2019-03-07AUDIO: (FM-TOWNS/PC-98) - cleanupathrxx
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-02-14AUDIO: Fix compilation with ClangTorbjörn Andersson
Reported by angstsmurf.
2019-02-10AUDIO: Simplify _audioGain calculationTorbjörn Andersson
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-10ZVISION: Boost volume for MPEG cutscenesTorbjörn Andersson
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-01-27AUDIO: (Paula) - fix typoathrxx
2018-12-08GLK: Add support for secondary Blorb files separate from the gamefilePaul Gilbert
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-08GLK: FROTZ: Further sound handlingPaul Gilbert
2018-11-14AUDIO: (FM-TOWNS) - remove wave memory limitathrxx
(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-14AUDIO: (FM-TOWNS) - add error codesathrxx
2018-11-04BACKENDS: Remove references to the GP32 backendCameron Cawley
2018-11-04AUDIO: Add a separate AC-3 decoderTorbjörn Andersson
This code comes from clone2727's now defunct (?) ac3 branch.
2018-08-27AUDIO: Free strings with delete[] instead of free()Torbjörn Andersson
Because scumm_strdup(), unlike strdup(), allocates strings with new, not malloc(). (CID 1395228, 1395233, 1395235, 1395236)
2018-08-20AUDIO: Fix Compilation with Fluidsynth v1.1.6 or earlier.D G Turner
The function signature for these functions was changed from (char *) to (const char *) in the v1.1.7 release, so compiling against Fluidsynth v1.1.6 or earlier requires the copying of the strings to prevent compilation errors such as "error: invalid conversion from 'const char*' to 'char*'". Normally, we would break compatibility with older versions as platforms should be using the latest Fluidsynth v1.X release of v1.1.11. However, since this is trivial to fix and prevents breakage for legacy platforms, am restoring the string duplication with scumm_strdup(). Apart from this, we should look at the Fluidsynth v2.X releases currently in RC testing as the API is now changed for this.
2018-08-18AUDIO: Remove unnecessary string duplications in FluidSynth driverColin Snover
2018-08-17JANITORIAL: Removing trailing spaces after int castsPaul Gilbert
2018-07-30AUDIO: Fix Compiler Shadowing Warnings.D G Turner
2018-07-22GUI: Use consistent capitalization for optionsThierry Crozat
As discussed on the mailing list we should use title capitalization only for push buttons and tabs and use sentence capitalization for everything else.
2018-05-24JANITORIAL: Fix trailing whitespaceAdrian Frühwirth
2018-05-05ALL: Use CLIP to clip volumesAdrian Frühwirth
2018-04-21AUDIO: Silence compiler warning in Nuked OPL emulatorAdrian Frühwirth
2018-04-19JANITORIAL: Fix whitespaceAdrian Frühwirth
2018-04-08AUDIO: add support for OPL2LPTVincent Bernat
The OPL2LPT is an OPL2 chip plugged on a parallel port. It is write-only but otherwise acts as a classic AdLib. This commit adds support for this device. User is expected to have the right permissions on the parallel port. By default, the first suitable parallel port is used. It is possible to override that with the hidden configuration setting "opl2lpt_parport". It depends on the presence of the libieee1284 library which abstracts a bit parallel port handling. An alternative would be to access directly /dev/parportX on Linux. This would amount of code but it would be Linux-only. Tested with Indy 3 and SOMI.
2018-04-07AUDIO: Really fix constant type in Nuked OPL emulatorAdrian Frühwirth
2018-04-07AUDIO: Specify constant type in Nuked OPL emulatorEugene Sandulenko
2018-04-07CONFIGURE: Do not even try to build Nuked OPL when disabledEugene Sandulenko
2018-04-07JANITORIAL: Add missing endlineEugene Sandulenko
2018-04-07AUDIO: Add Nuked OPL3 corenukeykt
2018-04-07DS: Fix compilation with devkitARM r47Cameron Cawley
2018-02-04SCUMM HE: Use Miles AdLib drivernukeykt
2018-01-21AUDIO: Fixes Protracker Portamento effectJoseph-Eugene Winzer
.period overflowed if .portaToNoteSpeed > .period in the else if case
2018-01-03MT32: Update to munt 2.3.0Tarek Soliman
This uses upstream commit 939cc986d9ffd044f8c6149361127ad5d94e430f Closes gh-1091
2017-12-20MT32: Remove executable flag from source filesTarek Soliman
2017-12-03ALL: Remove obsolete register keywordColin Snover
The register keyword was deprecated from the C++11 standard, <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4193.html#809>, and removed from the C++17 standard, <http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4340>, so cannot exist in a well-formed C++17 program. It has never done anything in GCC <https://gcc.gnu.org/ml/gcc/2010-05/msg00113.html> and because of the way it is specified in the standard, it is “as meaningful as whitespace” <http://www.drdobbs.com/keywords-that-arent-or-comments-by-anoth/184403859>. The one remaining use of the register keyword is in the DS backend, where it is used to create a local register variable using the non-standard GCC Extended Asm feature. Closes gh-1079.
2017-12-03BASE: Remove bad casts between incompatible Plugin typesColin Snover
Previously, a C-style cast was used to convert a Common::Array<Plugin *>, populated with pointers to StaticPlugin and DynamicPlugin instances, to a Common::Array<PluginSubclass<T> *>, but PluginSubclass<T> is a *sibling* class to StaticPlugin/DynamicPlugin, so this cast was invalid and the results undefined. The methods for retrieving subclasses of plugins can't be easily changed to just generate an array of temporary wrapper objects that expose an identical API which dereferences to the preferred PluginObject subclass because pointers to these objects are retained by other parts of ScummVM, so the wrappers would needed to be persisted or they would need to just re-expose the underlying Plugin object again. This indicated that a way to solve this problem is to have the callers receive Plugin objects and get the PluginObject from the Plugin by explicitly stating their desired type, in a similar manner to std::get(std::variant), so that the pattern used by this patch to solve the problem. Closes gh-1051.
2017-12-01AUDIO: Fix UB shift of negative integer in AdLib driverColin Snover
2017-11-19AUDIO: Fix uninitialized data structures in PacketizedMP3StreamColin Snover
If the audio thread called to readBuffer before any packet had been added to the stream, the state of the stream would be changed from INIT to EOS. Later, when a packet was received, the state would go directly from EOS to READY, skipping decoder init, leaving garbage memory in the decoder structs and causing a crash of the decoder. Fixes Trac#9653.