Commit Graph
943 Commits
Author SHA1 Message Date
Walter Agazzi 641374b5ed AUDIO: Detect and skip BFW chunks in WAV files
Modern WAV files may contain extra chunks before the FMT header,
as specified in the Broadcast Wave Format extension.
These chunks must be skipped to properly read the header.
2023-10-21 16:13:20 +03:00
Eugene Sandulenko 359c027b01 AUDIO: Initialize class variables. CID 1519100 2023-09-19 19:48:56 +02:00
Eugene Sandulenko 8b01125399 AUDIO: Fix incorrect null check. CID 1519099 2023-09-19 19:48:56 +02:00
elasota 8bb2afd217 AUDIO: Change default GM device to "auto" 2023-08-28 22:06:19 +02:00
Orgad Shaneh 406960afeb AUDIO: Use inline member initialization in SoundHandle 2023-08-24 21:02:22 +03:00
Kaloyan Chehlarski 0263447aa1 AUDIO: Drain leftover RateConverter buffer data
This commit fixes an issue where RateConverter would
sometimes chop off the very end of an audio stream. This
happened when the RateConverter would have some
data left in its internal buffer, but the source stream was
already fully read. The base RateConverter class now has
a needsDraining() function which indicates leftover data,
and relevant code now uses it when needed.
2023-08-16 20:41:58 +03:00
Le Philousophe 2e68867e98 AUDIO: Remove dynamic load of EAS for Android and fix DLS loading
Android 7 prevents loading of private libraries like AES.
DLS support was also broken because of a change in API.
2023-08-06 14:10:50 +02:00
Cameron Cawley 37764d86fc AUDIO: Support building the EAS MIDI driver on non-Android platforms 2023-08-06 14:10:50 +02:00
Misty De Meo ea8ee0291c AUDIO: remove unused variable assignment in dbopl 2023-06-17 10:12:30 -07:00
Walter Agazzi 9f802a181e AUDIO: Skip JUNK padding in WAV files
Some wave files may contain a JUNK chunk before the
'fmt ' chunk, used for padding. This should be skipped when reading the header.
2023-05-28 13:56:59 +03:00
Donovan Watteau 6c14baa394 AUDIO: Fix -Wformat warning in QDM2 2023-05-14 22:57:11 +02:00
Kaloyan Chehlarski 0f045a4ce4 AUDIO: Add rate adjustment functionality to Mixer
Extended the Mixer class to support manually setting the
sample rate of a channel.
2023-05-14 22:04:56 +02:00
Kaloyan Chehlarski 5ca776639f AUDIO: Allow adjusting of rate in RateConverter
The RateConverter class has been modified to allow for
variable input and output rates. The optimized code paths
for copy/simple conversions are retained, but have been moved
inside separate functions instead of subclasses. The templatization
of the stereo parameters has been maintained, and is implemented
via the newly-added RateConverter_Impl template class.
Internal variables have been renamed to be more readable. The
flow() function has been renamed to convert(). The drain()
function has been removed, since it was never implemented
or used anywhere.
2023-05-14 22:04:56 +02:00
Le Philousophe 40ac45cf1f AUDIO: Add more symbol exception for Windows needed for mingw 2023-05-05 23:30:52 +02:00
Coen Rampen ca111f3170 AUDIO: Enable dual OPL2 for hardware OPL3
This adds emulation for the dual OPL2 FM synthesis chip configuration to the
supported hardware OPL3 options: RetroWave OPL3 and OPL3LPT. This enables
stereo AdLib playback for SCI (and possibly other engines) on these devices.

This was already implemented for the OPL3 emulators (Dosbox and Nuked) and
ALSA. Generic code has been added to the OPL class to add similar emulation
for the other OPL3 options; this can also be easily added to any future OPL3
hardware or emulators which do not already have dual OPL2 support.
2023-04-27 18:14:24 +02:00
Thierry Crozat a0e32ee370 IOS7: Remove support for non-sandboxed mode 2023-04-26 22:31:31 +01:00
sluicebox 8db3779f7d AUDIO: Fix crash when OPL driver isn't loaded
Fixes segfault when logging that an OPL driver doesn't support the
emulation type requested by a game.

The code used driver id as an array index, but this is incorrect
because array indexes depends on which drivers are compiled in.

This issue was identified and fixed in 2015, but this line was missed:
6f01600e12

Fixes the crash in bug #14413
2023-04-15 15:42:57 -07:00
Donovan Watteau f7990d0d15 AUDIO: Fix mikmod.h longjmp usage on Windows arm64 2023-04-10 22:39:44 +02:00
Donovan Watteau 791547f10d AUDIO: Fix mikmod.h build on Windows
setjmp() and unlink() symbols may be triggered on Windows.
2023-04-10 20:14:22 +02:00
Eugene Sandulenko 5f77af4cbe AUDIO: Added probe method to MOD/XM/S3M player 2023-03-25 01:55:23 +01:00
Eugene Sandulenko ab1ad5fd8a AUDIO: Add missing override keyword 2023-03-25 01:55:23 +01:00
Eugene Sandulenko 8881e7cb20 JANITORIAL: Remove trailing spaces 2023-03-25 01:55:23 +01:00
Eugene Sandulenko af18380ac3 AUDIO: Added probe method to ImpulseTracker 2023-03-25 01:55:23 +01:00
Harishankar Kumar afa9ccbf62 AUDIO: Add support for Impulse Tracker using libmikmod 2023-03-24 23:59:53 +01:00
Eugene Sandulenko 7e7683db44 AUDIO: MT32: sprintf -> snprintf 2023-03-17 16:58:44 +01:00
Eugene Sandulenko 511a77f643 AUDIO: Avoid including translations.h in header file 2023-03-17 14:37:50 +01:00
Donovan Watteau 18ab6803d6 JANITORIAL: Fix various "an" typos in comments 2023-03-16 14:47:28 +01:00
Eugene Sandulenko 9ffec02dc6 AUDIO: Do not crash if MT32 driver is not fully initialized 2023-03-03 23:44:58 +01:00
Walter Agazzi 7627725bc3 AUDIO: Set debug message to debuglevel 0
The "Skipping ID3 TAG" message is useless to users and spams
frequently in some games
2023-03-02 19:32:24 +01:00
elasota c3ffe93ee4 AUDIO: Mark V-cruise as using Vorbis 2023-02-24 18:22:36 -05:00
Le Philousophe a725253a18 ANDROID: Make sure EAS driver is open before using its functions
This prevents crashes when the library cannot be found
2023-02-15 08:21:04 +01:00
Le Philousophe e2357fc35c ANDROID: Allow to load soundfont through SAF 2023-02-15 08:21:04 +01:00
Le Philousophe ab5718055b AUDIO: Add in-memory soundfont support for FluidLite 2023-02-15 08:21:04 +01:00
Coen Rampen abdc5b0fb7 AUDIO: Casio MIDI driver enhancements and fixes
- Add support for sustain controller
- Correct MT-540 <> CT-460/CSM-1 instrument remapping
- Simplify volume control (Casio devices do not support note velocity)
2023-01-18 21:39:29 +01:00
Cameron Cawley 5870b7d599 AUDIO: Reduce the static table sizes in the SID emulator 2022-12-22 23:46:52 +01:00
Cameron Cawley 28d7b361ea COMMON: Move more file format code into common/formats 2022-12-11 22:33:23 +01:00
Cameron Cawley 0581301b24 COMMON: Move huffman.h back out of the compression directory 2022-12-11 22:33:23 +01:00
elasota cc11b531e3 JANITORIAL: Clean up all non-engine Visual Studio warnings. 2022-12-04 00:08:48 +01:00
Eugene Sandulenko fb7095f5a4 COMMON: Move all compression-related files to a separate directory 2022-12-01 11:53:02 +01:00
Cameron Cawley 6cf3487803 AUDIO: Merge the DOSBoxCMS and CMSEmulator classes 2022-12-01 00:28:56 +02:00
Cameron Cawley 8c40151285 AUDIO: Use fixed-point arithmetic in the CMS emulator 2022-11-29 00:14:00 +01:00
Vladimir Serbinenko 27532df2c7 AUDIO: Use DisposablePtr-move constructor for looping in mixer
It's much cleaner than disowning the pointer from DisposablePtr
2022-11-28 18:41:30 +01:00
Vladimir Serbinenko d6d85c8093 AUDIO: Add LoopingAudioStream constructor from move of DisposablePtr. 2022-11-28 18:41:30 +01:00
Cameron Cawley 29923889d9 AUDIO: Backport commit r4010 from DOSBox to the CMS emulator
Correct oscillator frequency used in the gameblaster. Thanks OPLx, Great Hierophant and NewRisingSun. Reported on VOGONS: 38350.
2022-11-26 23:06:21 +02:00
Cameron Cawley 99485ac757 AUDIO: Backport commit r3523 from DOSBox to the CMS emulator
CMS/Gameblaster: add sbtype=gb, fix base addresses other than 220h, fix lack of sound when starting from autoexec, add autodetection (Thanks robertmo and Cloudschatze)
2022-11-26 23:06:21 +02:00
Cameron Cawley e04000d4b0 COMMON: Move FFT, DCT, MDCT, RDFT, SineTable, CosineTable and getSineWindow into Math 2022-11-20 14:32:05 +01:00
Cameron Cawley 9f4f22b3bf AUDIO: Support mono audio output in the mixer 2022-11-18 17:17:00 +01:00
Hubert Maier abcf7ba960 JANITORIAL: AUDIO: Correct Spelling Mistakes
occured -> occurred
occassionally -> occasionally
rythm -> rhythm
2022-11-15 22:52:43 +02:00
Cameron Cawley 59682f9ccf AUDIO: Unify implementations of SilentAudioStream 2022-11-13 23:14:39 +02:00
AndywinXp 35e2b3b15e AUDIO: Fix build 2022-10-27 16:25:51 +02:00