Commit graph

52 commits

Author SHA1 Message Date
Lars Sundström
f921c6acd9 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.

Cherry-pick of: addbdc13c5
Git conflict manually fixed
2024-03-02 12:06:27 +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
Vincent Bénony
c99456ecff IOS: Brings support for FluidSynth 2016-01-06 16:17:38 +01:00
Johannes Schickel
452cec49d9 AUDIO: Make GPL headers consistent in themselves. 2014-02-18 02:39:32 +01:00
Johannes Schickel
d99f23fb10 AUDIO: Register FluidSynth driver as plain sound type.
MIDI code will control volume via MIDI events thus the generated audio should
not be affected by mixer sound volumes.

The initial commit(s) in d4d045b117 /
13dc149ded added it as music sound type.
So, this seems to be a long standing issue.
2014-01-16 22:20:23 +01:00
Sven Hesse
989ea7cb56 JANITORIAL: Remove trailing whitespace 2013-07-14 19:01:47 +02:00
Torbjörn Andersson
a188a43da6 GUI: Make the FluidSynth settings dialog a bit more like Qsynth
To help people familiar with Qsynth (I'm not, but it seems to be
one of the more polished FluidSynth front ends), use the same
presentation and terminology for the FluidSynth settings.

More to follow.
2013-01-26 13:36:39 +01:00
Torbjörn Andersson
681f81211f FLUIDSYNTH: Add separate dialog for FluidSynth settings
I don't really understand what these parameters do, or what the
sensible values are, so for now the sliders are limited only by
the allowed (or, in one case, "safe") values.
2013-01-26 13:36:37 +01:00
strangerke
69b1485a22 GIT: Clean up: Suppress SVN tags, now useless 2011-05-12 01:16:22 +02:00
Ori Avtalion
9414d7a6e2 JANITORIAL: Reduce header dependencies in shared code
Some backends may break as I only compiled SDL
2011-04-28 15:08:58 +03:00