849 Commits

Author SHA1 Message Date
Lothar Serra Mari
9dd2070243 AUDIO: MT32: Bump MT32 emulation code to libmt32emu 2.5.1 2021-07-04 16:28:57 +02:00
Coen Rampen
d897fe590e AUDIO: Fix struct and const init, add missing breaks 2021-07-02 15:40:13 +02:00
Coen Rampen
f660238ab5 AUDIO: Move MIDI multisource to base class
This moves the multisource functionality from the MT-32/GM MIDI driver to a new
base class so it can be reused by future multisource drivers.
2021-07-02 14:16:50 +02:00
Coen Rampen
d8c3e22a54 AUDIO/MIDI: Add multisource AdLib MIDI driver.
This adds a MIDI driver for AdLib / OPL2 and OPL3 with support for multiple
simultaneous sources of MIDI data. Additionally, it is easier to subclass the
driver and customize its behavior than the existing AdLib MIDI driver. The
standard behavior matches the Windows 95 SB16 driver.
2021-07-02 14:16:50 +02:00
Fiodar Stryzhniou
9bb3547dd1 AUDIO: SOUNDFONT: Fix warnings for header search failure.
WARNING: Can't find following headers in User or System Include Paths "vgmitem.h" "sf2file.h" "common.h" "vgmitem.h" "common.h"
2021-06-26 08:41:04 +03:00
athrxx
a370d45d98 AUDIO: (FM-TOWNS/PC-98) - adapt mutex handling to latest mixer code changes 2021-06-25 00:07:47 +02:00
Torbjörn Andersson
1bd7028c31 AUDIO: Added mutex() method to return the mixer's internal mutex.
This is so that individual audio players can share the same mutex as the
mixer. When they have their own, it's apparently quite easy to
accidentally introduce deadlocks. Particularly when the audio player is
shut down.
2021-06-24 20:38:38 +02:00
Torbjörn Andersson
ac596de969 AUDIO: Add missing mutex lock to isReady()
At least it seems to me that the way e.g. Lure of the Temptress calls
isReady() to see if the driver has finished processing all the custom
sounds, _sysExQueue can be accessed by two threads simultaneously.

Which seems like a bad thing to me!
2021-06-19 14:19:09 +02:00
Torbjörn Andersson
f7b96c57f7 MT32: Don't show LCD messages on-screen if they contain only spaces
E.g. the first message in Operation Stealth. It just looks like
something went wrong.
2021-06-12 13:14:51 +02:00
SupSuper
df4bf9d557 SCI: Fix audio resources being freed too early
Copy audio resource buffers as we don't have control over the lifetime of the resource.
2021-06-03 23:27:46 +01:00
Eugene Sandulenko
346dd65927
AUDIO: Do not crash on ImpulseTracker modules 2021-05-30 11:40:37 +02:00
Strangerke
e26e78f968 TRECISION: Update comment in wave decoder to mention trecision 2021-05-29 21:24:38 +01:00
SupSuper
e1e57e31ce AUDIO: Add PCM Mu-law and A-law decoders
Used by Nightlong engine
2021-05-29 21:23:01 +01:00
Matthew Duggan
0fb60cb3c0 AUDIO: Fix typo (missing comma) 2021-05-19 17:27:29 +09:00
Matthew Duggan
3f451c876e AUDIO: Use initializer list to ensure buffers are valid or null
Identified by coverity - if the module load fails, _mixBufferSamples could be
left as an invalid pointer, which would cause a problem in the destructor.

Moved most things to initailizer list to avoid the problem.

Coverity still identifies a lot of uninitialized members, but they should all
get initialized when playback starts and have less chance of causing real bugs.
2021-05-19 17:18:21 +09:00
Eugene Sandulenko
da75beb668
AUDIO: Added possibility to start MOD playback from a given pattern 2021-05-14 01:01:58 +02:00
Eugene Sandulenko
a332688ae6
AUDIO: Fix Mod sound looping 2021-05-13 15:35:40 +02:00
Eugene Sandulenko
2b29bcd1af
AUDIO: Make ModPlayer rewindable 2021-05-13 02:09:48 +02:00
Orgad Shaneh
a05e54f00c JANITORIAL: Remove trailing whitespaces 2021-05-04 11:46:30 +03:00
Filippos Karapetis
99e5de932e AUDIO: Remove the broken ARM audio rate converter
This code has been broken and unmaintained for at least 7 years now,
and had been disabled. This also removes the associated define
USE_ARM_SOUND_ASM
2021-05-04 01:16:14 +03:00
Gregory Montoir
41eda4fe9b AUDIO: Use template parameter instead of member variable 2021-05-02 02:25:13 +02:00
Cameron Cawley
c38e3bdc2a AUDIO: Support building with FluidLite 2021-04-25 20:39:55 +03:00
Orgad Shaneh
b49e6eb96f JANITORIAL: Fix some excess tabs 2021-04-15 23:18:08 +03:00
Eugene Sandulenko
5e7fe2dc57
JANITORIAL: Replace spaces in indentation with tabs 2021-04-15 21:20:36 +02:00
Thierry Crozat
88f265bd9a AUDIO: Remove macro and break conditions to improve readability 2021-04-14 18:36:47 +02:00
Thierry Crozat
4ea4627b11 AUDIO: Add support for 24 bit PCM WAV 2021-04-14 18:36:47 +02:00
Lothar Serra Mari
24a27f6568 MT32: Fix definitions 2021-04-10 16:09:54 +02:00
Lothar Serra Mari
357744069c MT32: Update munt emulation code to libmt32emu 2.5.0 2021-04-10 16:09:54 +02:00
Le Philousophe
d0d38b0199 FLUIDSYNTH: Fix compilation with Fluidsynth 2.2
We replace deprecated functions as well
2021-04-08 21:04:41 +02:00
Le Philousophe
631b13b5f4 FLUIDSYNTH: Simplify FluidSynth version check 2021-04-08 21:04:41 +02:00
SupSuper
fed5608e43 AUDIO: Wrap raw streams in SeekableSubReadStream instead of allocating them 2021-04-01 23:25:43 +03:00
Filippos Karapetis
d38bb8392b AUDIO: Use type casting in a more uniform way 2021-03-23 08:57:41 +02:00
Orgad Shaneh
08729a889d AUDIO: Fix compiler warning
size_t and long are not the same on Win64.
2021-03-23 08:57:41 +02:00
Matthew Hoops
faca37064b AUDIO: Mark the wave code as being used by buried 2021-03-22 00:07:37 +01:00
Eugene Sandulenko
0ccd2a71dd AUDIO: Add override keywords 2021-03-14 20:52:22 +01:00
Le Philousophe
65e4b21674 AUDIO: Fix int constant while int32 was expected
This errors out on AmigaOS4
2021-03-14 20:32:45 +01:00
Matthew Duggan
1947eae043 AUDIO: Add support for Xan DPCM (Crusader: No Regret) 2021-03-14 19:16:24 +01:00
Thierry Crozat
6ef406ac20 AUDIO: Fix compilation with Fluidsynth2 2021-03-09 11:32:57 +00:00
sluicebox
a3bc5d64b8 FLUIDSYNTH: Fix build 2021-03-08 21:00:59 -08:00
Torbjörn Andersson
21d65cedf2 FLUIDSYNTH: Swapped debug levels for FLUID_WARN and FLUID_INFO
If FLUID_INFO is "verbose informational messages", perhaps they should
be better hidden from the average user than warnings. Particularly since
warnings are the only kind I've actually seen in the wild. (Change
suggested by criezy.)
2021-03-08 22:04:02 +00:00
Torbjörn Andersson
08b54f489b FLUIDSYNTH: Make FluidSynth logging less noisy by default 2021-03-08 22:04:02 +00:00
sluicebox
93eeffc84d JANITORIAL: Update old bug tracker numbers 2021-03-03 02:15:05 +02:00
Matthew Duggan
1a5459b25e AUDIO: Support mod files which loop 2021-02-20 14:48:17 +09:00
Matthew Duggan
498a2fed2e AUDIO: Const correctness for mod loader and stream 2021-02-20 14:48:06 +09:00
SupSuper
872a547230 AUDIO: Combine WaveFormat enums under one header 2021-02-05 21:16:11 +02:00
Cameron Cawley
d614f3ce2c AUDIO: Disable Paula filtering on the DS
It's too slow with it enabled.
2021-02-04 01:59:14 +01:00
Lothar Serra Mari
b367e47eb1 MT32: Update Munt emulation code to libmt32emu 2.4.2 2021-01-17 16:55:26 +01:00
Cameron Cawley
6bb9c74cc3 MT32: Remove setting the palette when the driver is initialized 2021-01-05 02:07:55 +02:00
Thierry Crozat
7027be781b AUDIO: Add missing definition for static members
This will hopefully fix undefined symbol errors for some of those.
Those const static integral members are initialized in the class
definition, which is allowed (even before c++11). But they still
need a definition if they are odr-used, and that was missing. I
suspect this is why some compiler were giving errors.
2020-12-05 00:06:18 +00:00
Bartosz Gentkowski
d082a4837f DOXYGEN: Review headers from 'audio'
This PR has 3 headers in scope of GSoD.
The files are:
- audiostream.h
- mixer.h
- timestamp.h

The rest of the files are only receiving a doxy group.
2020-12-01 23:54:42 +00:00