Commit Graph

929 Commits

Author SHA1 Message Date
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
Hubert Maier
5c9461f03a
AUDIO: Correct spelling mistake
Carribean -> Caribbean
adress -> address
2022-10-27 15:56:04 +02:00
Hubert Maier
4f4949082e
AUDIO: Correct spelling mistake
wether -> whether

A wether is a male sheep which has had its sex organs removed.
2022-10-27 15:56:03 +02:00
Hubert Maier
5b98653ec3
AUDIO: Correct spelling mistake
loose -> lose
2022-10-27 15:56:03 +02:00
Hubert Maier
842aa95765
AUDIO: Correct spelling mistake
rythm -> rhythm
2022-10-27 15:56:03 +02:00
athrxx
4cacd66d0d AUDIO: code style fixes 2022-10-17 23:03:05 +02:00
athrxx
6984faf958 AUDIO: add data size arg to MidiChannel::sysEx_customInstrument()
As a safety check...

Also throw out some warnings when loading savegames
with instrument data for a different device (the savegame
incompatibility would be very nice to be fixed, but it is not
trivial.
2022-10-06 18:47:47 +02:00
athrxx
99dd6cb248 SCUMM: (IMS) - minor restructuring and cleanup
Currently, Roland MT-32 sound is broken for
SAMNMAX. Just try the intro song with shut off
speech. It is very obvious that it plays with a quite
reduced number of channels compared to the
original interpreter.

Now, due to the not-so-helpful code design (much
of the iMuse code has been drawn into the common
code) it has become increasingly difficult to fix Midi
related thing in iMuse. I have added more and more
crude hacks over time.

SAMNMAX requires more elaborate channel
allocation. To make it happen I have added driver
wrappers for Midi to the iMuse code.

Other than that, I have done only minor cleanup here.

Actually, I would have liked to withdraw much more
of the iMuse code from the common code and move
it to SCUMM (basically all the MidiChannel
stuff which is exclusively used by iMuse. But it turns
out that it is so thoroughly intertwined (the major
blocker here being the AdLib driver) that it requires
more thought and effort and would just distract me
from fixing the SAMNMAX sound.
2022-10-06 18:47:40 +02:00
athrxx
6484913762 SCUMM: fix bug no. 13867
This will actually read out of bounds in the orginal interpreter, too. I have fixed it to be more in line with the original (the value in question is always treated as unsigned here), but still not do anything harmful.
2022-09-30 03:06:21 +02:00
Roland van Laar
3285aae6d1 AUDIO: fix memory leak in aiff
Dispose of the AIFF stream properly by setting the disposeAfterUse flag
in all makeStream functions.
2022-09-20 22:13:31 +02:00
Le Philousophe
208cf8bd40 AUDIO: Initialize Cryo APC fields 2022-09-18 12:00:02 +02:00
D G Turner
3eb6f98e6f AUDIO: MT32: Restore Fix For Internal Sample Rate Converter Code
This was previously disabled implicitly by the missing define
symbols in the SampleRateConvertor module. This has now been enabled
to use the internal rate convertor code.

This was generating undefined macro warnings from GCC when -Wundef
was passed.
2022-09-16 06:22:22 +01:00
Lothar Serra Mari
d94505d46e AUDIO: MT32: Update MT32 emulation code to mt32emu 2.7.0 2022-09-15 11:52:47 +02:00
athrxx
7c5b367b54 AUDIO: (FM-TOWNS) - restore audio cd settings on exit
(The cd audio manager is a global object. It keeps its settings
when returning to the launcher)
2022-09-14 17:18:24 +02:00
athrxx
e052fee77f SCUMM: (IMS) - cleanup sound init process
Reduce abuse of the property function to set init vars.
Better distinction between drivers to prevent a GM init on
the Mac driver (which could happen depending on the
launcher sound setting).
2022-09-13 22:13:53 +02:00