60 Commits
Author SHA1 Message Date
Le Philousophe eb4b3f02af AUDIO: Add a comment to explain the cleanup in 9b90d72 2025-11-04 20:45:22 +01:00
Le Philousophe 9b90d72af2 AUDIO: Don't delete soundfont before cleaning up
This is useless as it will get destroyed by delete_fluid_synth and it
causes troubles with the Fluidsynth embedded OSAL which does not support
threads.
Indeed, deleting a soundfont in use relies on a timer thread to do the
cleanup after it's been released.
2025-11-03 21:18:10 +01:00
Christian Kündig 85cc85814c AUDIO: EMSCRIPTEN: Add fluidlite support 2025-08-04 01:02:47 +02:00
Thierry Crozat ae660505a4 AUDIO: Fix Fluidsynth soundfont path check on iOS
On iOS a sandboxed filesystem is used where the root is in the
Application folder instead of being the filesystem root. As a
result path used in ScummVM (for example for FSNode) are different
from filesystem paths. For fluidsynth the internal soundfont path
is transformed to a filesystem path to pass to the fluidsynth
library. On iOS trying to create a FSNode with that full path does
not work and that caused the soundfont existence check to fail.
2024-12-27 10:16:48 +02:00
elasota ca88c52064 AUDIO: Split MIDI check flags out, fail checkDevice by default for "auto" 2024-11-04 23:00:57 +02:00
elasota 6a03f4ada3 AUDIO: Add checkDevice support for FluidSynth 2024-11-04 23:00:57 +02:00
Le Philousophe 867cbfcd0d ANDROID: Create a dedicated define for Android backend
This allows other backends (SDL, libretro) to be used on Android without
hacks.
2024-09-02 20:53:57 +03:00
Lars Sundström addbdc13c5 AUDIO: Fix problem where fluidsynth soundfont could not be loaded
The user can specify a custom soundfont to be used with fluidsynth.
There was previously a hack for the iOS7 backend to get the path to
the document folder where the user can put files in a sandboxed
environment. This hack was removed in commit:
cac0664757

The problem however occurred when creating a FSNode from the full
system path because FSNode uses makeFileNodePath, which already
prepends the root. So the full path is added twice which causes the
fileNode.exists() to fail.

Create the FSNode from the path to the soundfont and check if the
file exist. If so then return the full path.
2024-02-25 10:16:09 +01:00
Le Philousophe ce961cabbc COMMON: Make soundfont a Path object 2023-12-24 13:19:25 +01:00
Thierry Crozat cac0664757 AUDIO: Improve code to map the soundfont path to system path on iOS
The code looks a bit less hack-ish and also now supports using path
in the application bundle and not only in the documents folder. It
could also help for other backends using a sandoxed filesystem.
2023-12-03 16:17:32 +00:00
Thierry Crozat f47d915ec0 AUDIO: Support specifying a soundfont in the ConfMan default domain 2023-12-03 16:17:32 +00:00
Thierry Crozat 6fc56a6333 AUDIO: Add lookup of fluidsynth soundfont using SearchMan or a soundfontpath config 2023-12-03 16:17:32 +00:00
Coen Rampen f1abbff901 MIDI: Update FluidSynth settings
This updates the FluidSynth settings to the value ranges and defaults used by
the current version 2.3.4.

Reverb
- Room size: 0.00-1.20 / 0.20 to 0.00-1.00 / 0.20
- Width: 0-100 / 1 to 0.0-100.0 / 0.5
Chorus
- Level: 0.00-1.00 / 1.00 to 0.00 - 10.00 / 2.00
- Speed: 0.30-5.00 / 0.30 to 0.10-5.00 / 0.30
- Depth: 0.0-21.0 / 8.0 to 0.0-256.0 / 8.0
2023-11-25 22:26:53 +01:00
Thierry Crozat a0e32ee370 IOS7: Remove support for non-sandboxed mode 2023-04-26 22:31:31 +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
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh 2bd0347968 AUDIO: Use override
Using clang-tidy modernize-use-override
2021-11-14 20:14:11 +02:00
Orgad Shaneh af529f568b AUDIO: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 13:41:02 +02:00
Eugene Sandulenko 198975a007 AUDIO: Fix message format 2021-08-23 16:26:31 +02:00
Cameron Cawley c38e3bdc2a AUDIO: Support building with FluidLite 2021-04-25 20:39:55 +03: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
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
Torbjörn Andersson 58a77abded FLUIDSYNTH: Prefer in-memory SoundFont data over global setting
When an engine provides in-memory SoundFont data, use that unless a
SoundFont has been explicitly configured on the current game. Otherwise
a global SoundFont setting will always override it. Even overriding the
MIDI settings for the game and leaving the SoundFont setting blank did
not work for me.
2020-09-02 10:01:33 +02:00
Thierry Crozat f3cfe11ee6 I18N: Consistency fix for SoundFont in messages 2020-08-31 16:35:56 +01:00
Eugene Sandulenko 8d27246a83 I18N: Adding full stops to the messages 2020-08-31 12:16:45 +02:00
Eugene Sandulenko 858954eec1 AUDIO: Properly warn user and act gracefully when soundfont is not specified.
Fixes #7127
2020-08-29 17:55:33 +02:00
Eric Fry bd4939a2a4 AUDIO: FluidSynth Don't accept soundfont data if using version 1.x 2020-08-19 23:51:04 +10:00
Cameron Cawley 65164e00d4 AUDIO: Fix unused functions with older FluidSynth versions 2020-08-01 20:32:09 +01:00
D G Turner e086dbfcd5 AUDIO: Fix Signed vs. Unsigned Comparison Compiler Warning in Fluidsynth 2020-06-16 22:03:04 +01:00
Eric Fry 66f880812a AUDIO: Fixed formatting for sf loader functions.
Don't include sf loader support if compiling with fluidsynth 1.x
2020-06-05 20:57:54 +10:00
Eric Fry d18f9734a1 AUDIO: Add ability for engine to supply its own soundfont data.
Add MDT_PREFER_FLUID to allow engines to indicate they prefer the fluidsynth driver.
2020-06-05 20:57:54 +10:00
Thierry Crozat 03cf6531a5 AUDIO: Fix mismatching malloc/delete[] 2020-04-27 23:06:15 +01:00
Eugene Sandulenko 4da444f238 AUDIO: Added override keywords 2020-03-09 16:08:19 +01:00
Zvika Haramaty 3b4810aab4 AUDIO: Added dump-midi mechanism
This mechanism is enabled by '--dump-midi' command line parameter.
The midi events are printed to screen, and dumped to 'dump.mid' file.
2020-02-28 08:27:12 +02:00
athrxx 8014f12df3 AUDIO: (FLUIDSYNTH) - limit config.h include to builds that need it
makes life a bit more convenient for some MSVC users (or at least for me)
2019-12-20 15:30:48 +01:00
D G Turner 68758a879e AUDIO: Really Fix Compilation Against Fluidsynth v2.1+
The previous fix did not work as the forbidden exception had no effect
since scummsys.h and thus forbidden.h had already been included prior
to the fluidsynth header being included. This also meant that undefining
the exception define after the header would have had no effect anyway.

This new solution was suggest by eriktorbjorn on bug #11278 and should
avoid the need to add an exception which would persist over the entire
source file.
2019-12-17 04:21:04 +00:00
D G Turner 8593a9e1e4 AUDIO: Fix Compilation Against Fluidsynth v2.1+
This is as reported by eriktorbjorn.
2019-12-15 22:22:20 +00:00
Torbjörn Andersson 54d7336d08 AUDIO: Free strings with delete[] instead of free()
Because scumm_strdup(), unlike strdup(), allocates strings with
new, not malloc(). (CID 1395228, 1395233, 1395235, 1395236)
2018-08-27 06:43:47 +02:00
D G Turner 93ed8a2c47 AUDIO: Fix Compilation with Fluidsynth v1.1.6 or earlier.
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-20 22:31:15 +01:00
Colin Snover a726b3bc89 AUDIO: Remove unnecessary string duplications in FluidSynth driver 2018-08-18 16:30:05 +02:00
Johannes Schickel 1baf3bed7a AUDIO: Use standard line warps in iOS7 hack comment in fluidsynth.cpp. 2016-01-07 11:00:28 +01:00
Johannes Schickel ded43d795a AUDIO: Remove unused includes in fluidsynth.cpp. 2016-01-07 10:59:15 +01:00
Vincent Bénony b5ef98637c IOS: Renames a macro 2016-01-07 09:55:56 +01:00
Vincent Bénony a56c587651 IOS: Fluidsynth path hack only for iOS 7 2016-01-06 16:20:29 +01:00
Vincent Bénony 9adf7cd570 IOS: Uses Common::String instead of plain C string 2016-01-06 16:20:29 +01:00