aboutsummaryrefslogtreecommitdiff
path: root/audio
AgeCommit message (Collapse)Author
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.
2017-11-19AUDIO: Fix data race in PacketizedMP3StreamColin Snover
2017-11-08AUDIO: Switch to BitStreamMemoryStream in the QDM2 decoderBastien Bouclet
2017-11-08AUDIO: Add some padding to the QDM2 decoder input bufferBastien Bouclet
Fixes out of bounds reads in the Myst ME intro videos. OOB reads may happen because: - The bitstream implementation reads 4 bytes at a time, and the buffer size is not guaranteed to be a multiple of 4. - The huffman parsing code reads a fixed amount of bits when it sometimes needs not all of them. Also fixed bits vs bytes mismatch for the size parameter of the calls to the bitstream constructor, and removed a few unnecessary heap allocations. Fixes #10220.
2017-09-30AUDIO: QDM2: Use the shared int64 type instead of a custom oneBastien Bouclet
2017-09-22ALL: Specify the DisposeAfterUse constructor argument for dynamic memory ↵Bastien Bouclet
write streams