carla: Update fluidsynth patches to what was applied

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
This commit is contained in:
Andreas Müller
2018-10-14 00:33:56 +02:00
parent 184b1250c0
commit a33064279f
2 changed files with 91 additions and 93 deletions

View File

@@ -1,4 +1,4 @@
From 5e796fe27ef27bd6e5e87c6d4ab04549c99f0f48 Mon Sep 17 00:00:00 2001
From d55575c62bd911e1edf126e1efed8219c97bb25a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Wed, 10 Oct 2018 23:48:22 +0200
Subject: [PATCH 1/3] Fluidsynths: Ensure fluidsynth's defaults are set once
@@ -15,11 +15,11 @@ Upstream-Status: Submitted [1]
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
---
source/backend/plugin/CarlaPluginFluidSynth.cpp | 69 ++++++++++++++++++-------
1 file changed, 50 insertions(+), 19 deletions(-)
source/backend/plugin/CarlaPluginFluidSynth.cpp | 67 ++++++++++++++++++-------
1 file changed, 48 insertions(+), 19 deletions(-)
diff --git a/source/backend/plugin/CarlaPluginFluidSynth.cpp b/source/backend/plugin/CarlaPluginFluidSynth.cpp
index be9e720a..85e3aeb2 100644
index be9e720a..7f6d919c 100644
--- a/source/backend/plugin/CarlaPluginFluidSynth.cpp
+++ b/source/backend/plugin/CarlaPluginFluidSynth.cpp
@@ -73,20 +73,22 @@ public:
@@ -33,18 +33,18 @@ index be9e720a..85e3aeb2 100644
// set default values
fluid_synth_set_reverb_on(fSynth, 1);
- fluid_synth_set_reverb(fSynth, FLUID_REVERB_DEFAULT_ROOMSIZE, FLUID_REVERB_DEFAULT_DAMP, FLUID_REVERB_DEFAULT_WIDTH, FLUID_REVERB_DEFAULT_LEVEL);
+ fluid_synth_set_reverb(fSynth, sfFluidDefaults[FluidSynthReverbRoomSize], sfFluidDefaults[FluidSynthReverbDamp], sfFluidDefaults[FluidSynthReverbWidth], sfFluidDefaults[FluidSynthReverbLevel]);
+ fluid_synth_set_reverb(fSynth, sFluidDefaults[FluidSynthReverbRoomSize], sFluidDefaults[FluidSynthReverbDamp], sFluidDefaults[FluidSynthReverbWidth], sFluidDefaults[FluidSynthReverbLevel]);
fluid_synth_set_chorus_on(fSynth, 1);
- fluid_synth_set_chorus(fSynth, FLUID_CHORUS_DEFAULT_N, FLUID_CHORUS_DEFAULT_LEVEL, FLUID_CHORUS_DEFAULT_SPEED, FLUID_CHORUS_DEFAULT_DEPTH, FLUID_CHORUS_DEFAULT_TYPE);
+ fluid_synth_set_chorus(fSynth, sfFluidDefaults[FluidSynthChorusNr], sfFluidDefaults[FluidSynthChorusLevel], sfFluidDefaults[FluidSynthChorusSpeedHz], sfFluidDefaults[FluidSynthChorusDepthMs], sfFluidDefaults[FluidSynthChorusType]);
+ fluid_synth_set_chorus(fSynth, sFluidDefaults[FluidSynthChorusNr], sFluidDefaults[FluidSynthChorusLevel], sFluidDefaults[FluidSynthChorusSpeedHz], sFluidDefaults[FluidSynthChorusDepthMs], sFluidDefaults[FluidSynthChorusType]);
fluid_synth_set_polyphony(fSynth, FLUID_DEFAULT_POLYPHONY);
fluid_synth_set_gain(fSynth, 1.0f);
for (int i=0; i < MAX_MIDI_CHANNELS; ++i)
- fluid_synth_set_interp_method(fSynth, i, FLUID_INTERP_DEFAULT);
+ fluid_synth_set_interp_method(fSynth, i, sfFluidDefaults[FluidSynthInterpolation]);
+ fluid_synth_set_interp_method(fSynth, i, sFluidDefaults[FluidSynthInterpolation]);
}
~CarlaPluginFluidSynth() override
@@ -53,7 +53,7 @@ index be9e720a..85e3aeb2 100644
return FLUID_CHORUS_MOD_TRIANGLE;
default:
- return FLUID_CHORUS_DEFAULT_TYPE;
+ return sfFluidDefaults[FluidSynthChorusType];
+ return sFluidDefaults[FluidSynthChorusType];
}
case FluidSynthInterpolation:
switch (scalePointId)
@@ -62,7 +62,7 @@ index be9e720a..85e3aeb2 100644
return FLUID_INTERP_7THORDER;
default:
- return FLUID_INTERP_DEFAULT;
+ return sfFluidDefaults[FluidSynthInterpolation];
+ return sFluidDefaults[FluidSynthInterpolation];
}
default:
return 0.0f;
@@ -71,7 +71,7 @@ index be9e720a..85e3aeb2 100644
pData->param.ranges[j].min = 0.0f;
pData->param.ranges[j].max = 1.0f;
- pData->param.ranges[j].def = 1.0f;
+ pData->param.ranges[j].def = sfFluidDefaults[j];
+ pData->param.ranges[j].def = sFluidDefaults[j];
pData->param.ranges[j].step = 1.0f;
pData->param.ranges[j].stepSmall = 1.0f;
pData->param.ranges[j].stepLarge = 1.0f;
@@ -80,7 +80,7 @@ index be9e720a..85e3aeb2 100644
pData->param.ranges[j].min = 0.0f;
pData->param.ranges[j].max = 1.2f;
- pData->param.ranges[j].def = FLUID_REVERB_DEFAULT_ROOMSIZE;
+ pData->param.ranges[j].def = sfFluidDefaults[j];
+ pData->param.ranges[j].def = sFluidDefaults[j];
pData->param.ranges[j].step = 0.01f;
pData->param.ranges[j].stepSmall = 0.0001f;
pData->param.ranges[j].stepLarge = 0.1f;
@@ -89,7 +89,7 @@ index be9e720a..85e3aeb2 100644
pData->param.ranges[j].min = 0.0f;
pData->param.ranges[j].max = 1.0f;
- pData->param.ranges[j].def = FLUID_REVERB_DEFAULT_DAMP;
+ pData->param.ranges[j].def = sfFluidDefaults[j];
+ pData->param.ranges[j].def = sFluidDefaults[j];
pData->param.ranges[j].step = 0.01f;
pData->param.ranges[j].stepSmall = 0.0001f;
pData->param.ranges[j].stepLarge = 0.1f;
@@ -98,7 +98,7 @@ index be9e720a..85e3aeb2 100644
pData->param.ranges[j].min = 0.0f;
pData->param.ranges[j].max = 1.0f;
- pData->param.ranges[j].def = FLUID_REVERB_DEFAULT_LEVEL;
+ pData->param.ranges[j].def = sfFluidDefaults[j];
+ pData->param.ranges[j].def = sFluidDefaults[j];
pData->param.ranges[j].step = 0.01f;
pData->param.ranges[j].stepSmall = 0.0001f;
pData->param.ranges[j].stepLarge = 0.1f;
@@ -107,7 +107,7 @@ index be9e720a..85e3aeb2 100644
pData->param.ranges[j].min = 0.0f;
pData->param.ranges[j].max = 10.0f; // should be 100, but that sounds too much
- pData->param.ranges[j].def = FLUID_REVERB_DEFAULT_WIDTH;
+ pData->param.ranges[j].def = sfFluidDefaults[j];
+ pData->param.ranges[j].def = sFluidDefaults[j];
pData->param.ranges[j].step = 0.01f;
pData->param.ranges[j].stepSmall = 0.0001f;
pData->param.ranges[j].stepLarge = 0.1f;
@@ -116,7 +116,7 @@ index be9e720a..85e3aeb2 100644
pData->param.ranges[j].min = 0.0f;
pData->param.ranges[j].max = 1.0f;
- pData->param.ranges[j].def = 1.0f;
+ pData->param.ranges[j].def = sfFluidDefaults[j];
+ pData->param.ranges[j].def = sFluidDefaults[j];
pData->param.ranges[j].step = 1.0f;
pData->param.ranges[j].stepSmall = 1.0f;
pData->param.ranges[j].stepLarge = 1.0f;
@@ -125,7 +125,7 @@ index be9e720a..85e3aeb2 100644
pData->param.ranges[j].min = 0.0f;
pData->param.ranges[j].max = 99.0f;
- pData->param.ranges[j].def = FLUID_CHORUS_DEFAULT_N;
+ pData->param.ranges[j].def = sfFluidDefaults[j];
+ pData->param.ranges[j].def = sFluidDefaults[j];
pData->param.ranges[j].step = 1.0f;
pData->param.ranges[j].stepSmall = 1.0f;
pData->param.ranges[j].stepLarge = 10.0f;
@@ -134,7 +134,7 @@ index be9e720a..85e3aeb2 100644
pData->param.ranges[j].min = 0.0f;
pData->param.ranges[j].max = 10.0f;
- pData->param.ranges[j].def = FLUID_CHORUS_DEFAULT_LEVEL;
+ pData->param.ranges[j].def = sfFluidDefaults[j];
+ pData->param.ranges[j].def = sFluidDefaults[j];
pData->param.ranges[j].step = 0.01f;
pData->param.ranges[j].stepSmall = 0.0001f;
pData->param.ranges[j].stepLarge = 0.1f;
@@ -143,7 +143,7 @@ index be9e720a..85e3aeb2 100644
pData->param.ranges[j].min = 0.29f;
pData->param.ranges[j].max = 5.0f;
- pData->param.ranges[j].def = FLUID_CHORUS_DEFAULT_SPEED;
+ pData->param.ranges[j].def = sfFluidDefaults[j];
+ pData->param.ranges[j].def = sFluidDefaults[j];
pData->param.ranges[j].step = 0.01f;
pData->param.ranges[j].stepSmall = 0.0001f;
pData->param.ranges[j].stepLarge = 0.1f;
@@ -152,7 +152,7 @@ index be9e720a..85e3aeb2 100644
pData->param.ranges[j].min = 0.0f;
pData->param.ranges[j].max = float(2048.0 * 1000.0 / pData->engine->getSampleRate()); // FIXME?
- pData->param.ranges[j].def = FLUID_CHORUS_DEFAULT_DEPTH;
+ pData->param.ranges[j].def = sfFluidDefaults[j];
+ pData->param.ranges[j].def = sFluidDefaults[j];
pData->param.ranges[j].step = 0.01f;
pData->param.ranges[j].stepSmall = 0.0001f;
pData->param.ranges[j].stepLarge = 0.1f;
@@ -161,7 +161,7 @@ index be9e720a..85e3aeb2 100644
pData->param.ranges[j].min = FLUID_CHORUS_MOD_SINE;
pData->param.ranges[j].max = FLUID_CHORUS_MOD_TRIANGLE;
- pData->param.ranges[j].def = FLUID_CHORUS_DEFAULT_TYPE;
+ pData->param.ranges[j].def = sfFluidDefaults[j];
+ pData->param.ranges[j].def = sFluidDefaults[j];
pData->param.ranges[j].step = 1.0f;
pData->param.ranges[j].stepSmall = 1.0f;
pData->param.ranges[j].stepLarge = 1.0f;
@@ -170,7 +170,7 @@ index be9e720a..85e3aeb2 100644
pData->param.ranges[j].min = 1.0f;
pData->param.ranges[j].max = 512.0f; // max theoric is 65535
- pData->param.ranges[j].def = (float)fluid_synth_get_polyphony(fSynth);
+ pData->param.ranges[j].def = sfFluidDefaults[j];
+ pData->param.ranges[j].def = sFluidDefaults[j];
pData->param.ranges[j].step = 1.0f;
pData->param.ranges[j].stepSmall = 1.0f;
pData->param.ranges[j].stepLarge = 10.0f;
@@ -179,7 +179,7 @@ index be9e720a..85e3aeb2 100644
pData->param.ranges[j].min = FLUID_INTERP_NONE;
pData->param.ranges[j].max = FLUID_INTERP_HIGHEST;
- pData->param.ranges[j].def = FLUID_INTERP_DEFAULT;
+ pData->param.ranges[j].def = sfFluidDefaults[j];
+ pData->param.ranges[j].def = sFluidDefaults[j];
pData->param.ranges[j].step = 1.0f;
pData->param.ranges[j].stepSmall = 1.0f;
pData->param.ranges[j].stepLarge = 1.0f;
@@ -188,56 +188,54 @@ index be9e720a..85e3aeb2 100644
pData->param.ranges[j].min = 0.0f;
pData->param.ranges[j].max = 65535.0f;
- pData->param.ranges[j].def = 0.0f;
+ pData->param.ranges[j].def = sfFluidDefaults[j];
+ pData->param.ranges[j].def = sFluidDefaults[j];
pData->param.ranges[j].step = 1.0f;
pData->param.ranges[j].stepSmall = 1.0f;
pData->param.ranges[j].stepLarge = 1.0f;
@@ -1656,6 +1658,29 @@ public:
@@ -1656,6 +1658,27 @@ public:
}
private:
+ void initializeFluidDefaultsIfNeeded()
+ {
+ if (!sbFluidDefaultsStored)
+ {
+ sfFluidDefaults[FluidSynthReverbOnOff] = 1.0f;
+ sfFluidDefaults[FluidSynthReverbRoomSize] = FLUID_REVERB_DEFAULT_ROOMSIZE;
+ sfFluidDefaults[FluidSynthReverbDamp] = FLUID_REVERB_DEFAULT_DAMP;
+ sfFluidDefaults[FluidSynthReverbLevel] = FLUID_REVERB_DEFAULT_LEVEL;
+ sfFluidDefaults[FluidSynthReverbWidth] = FLUID_REVERB_DEFAULT_WIDTH;
+ sfFluidDefaults[FluidSynthChorusOnOff] = 1.0f;
+ sfFluidDefaults[FluidSynthChorusNr] = FLUID_CHORUS_DEFAULT_N;
+ sfFluidDefaults[FluidSynthChorusLevel] = FLUID_CHORUS_DEFAULT_LEVEL;
+ sfFluidDefaults[FluidSynthChorusSpeedHz] = FLUID_CHORUS_DEFAULT_SPEED;
+ sfFluidDefaults[FluidSynthChorusDepthMs] = FLUID_CHORUS_DEFAULT_DEPTH;
+ sfFluidDefaults[FluidSynthChorusType] = FLUID_CHORUS_DEFAULT_TYPE;
+ sfFluidDefaults[FluidSynthPolyphony] = (float)fluid_synth_get_polyphony(fSynth);
+ sfFluidDefaults[FluidSynthInterpolation] = FLUID_INTERP_DEFAULT;
+ sfFluidDefaults[FluidSynthVoiceCount] = 0.0f;
+
+ sbFluidDefaultsStored = true;
+ }
+ if (sFluidDefaultsStored)
+ return;
+ sFluidDefaultsStored = true;
+ sFluidDefaults[FluidSynthReverbOnOff] = 1.0f;
+ sFluidDefaults[FluidSynthReverbRoomSize] = FLUID_REVERB_DEFAULT_ROOMSIZE;
+ sFluidDefaults[FluidSynthReverbDamp] = FLUID_REVERB_DEFAULT_DAMP;
+ sFluidDefaults[FluidSynthReverbLevel] = FLUID_REVERB_DEFAULT_LEVEL;
+ sFluidDefaults[FluidSynthReverbWidth] = FLUID_REVERB_DEFAULT_WIDTH;
+ sFluidDefaults[FluidSynthChorusOnOff] = 1.0f;
+ sFluidDefaults[FluidSynthChorusNr] = FLUID_CHORUS_DEFAULT_N;
+ sFluidDefaults[FluidSynthChorusLevel] = FLUID_CHORUS_DEFAULT_LEVEL;
+ sFluidDefaults[FluidSynthChorusSpeedHz] = FLUID_CHORUS_DEFAULT_SPEED;
+ sFluidDefaults[FluidSynthChorusDepthMs] = FLUID_CHORUS_DEFAULT_DEPTH;
+ sFluidDefaults[FluidSynthChorusType] = FLUID_CHORUS_DEFAULT_TYPE;
+ sFluidDefaults[FluidSynthPolyphony] = (float)fluid_synth_get_polyphony(fSynth);
+ sFluidDefaults[FluidSynthInterpolation] = FLUID_INTERP_DEFAULT;
+ sFluidDefaults[FluidSynthVoiceCount] = 0.0f;
+ }
+
enum FluidSynthParameters {
FluidSynthReverbOnOff = 0,
FluidSynthReverbRoomSize = 1,
@@ -1683,6 +1708,9 @@ private:
@@ -1683,6 +1706,9 @@ private:
float** fAudio16Buffers;
float fParamBuffers[FluidSynthParametersMax];
+ static bool sbFluidDefaultsStored;
+ static float sfFluidDefaults[FluidSynthParametersMax];
+ static bool sFluidDefaultsStored;
+ static float sFluidDefaults[FluidSynthParametersMax];
+
int32_t fCurMidiProgs[MAX_MIDI_CHANNELS];
const char* fLabel;
@@ -1690,6 +1718,9 @@ private:
@@ -1690,6 +1716,9 @@ private:
CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CarlaPluginFluidSynth)
};
+bool CarlaPluginFluidSynth::sbFluidDefaultsStored = false;
+float CarlaPluginFluidSynth::sfFluidDefaults[FluidSynthParametersMax];
+bool CarlaPluginFluidSynth::sFluidDefaultsStored = false;
+float CarlaPluginFluidSynth::sFluidDefaults[FluidSynthParametersMax];
+
CARLA_BACKEND_END_NAMESPACE

View File

@@ -1,6 +1,6 @@
From 9800d8fea43f17f7c198ce2375a21715794f3352 Mon Sep 17 00:00:00 2001
From 94c96ee0d04e324122ee1a73344a44f1b21837ef Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
Date: Thu, 11 Oct 2018 23:35:02 +0200
Date: Sat, 13 Oct 2018 15:16:20 +0200
Subject: [PATCH 2/3] Fixes for fluidsynth >= 2.0.0
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
@@ -21,7 +21,7 @@ Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2 files changed, 67 insertions(+)
diff --git a/source/backend/plugin/CarlaPluginFluidSynth.cpp b/source/backend/plugin/CarlaPluginFluidSynth.cpp
index 85e3aeb2..3873507c 100644
index 7f6d919c..5645fe3c 100644
--- a/source/backend/plugin/CarlaPluginFluidSynth.cpp
+++ b/source/backend/plugin/CarlaPluginFluidSynth.cpp
@@ -943,6 +943,7 @@ public:
@@ -69,55 +69,55 @@ index 85e3aeb2..3873507c 100644
if (pData->midiprog.data[i].bank == 128 && ! hasDrums)
{
@@ -1662,17 +1693,48 @@ private:
{
if (!sbFluidDefaultsStored)
{
+ // reverb defaults
sfFluidDefaults[FluidSynthReverbOnOff] = 1.0f;
@@ -1663,17 +1694,48 @@ private:
if (sFluidDefaultsStored)
return;
sFluidDefaultsStored = true;
+ // reverb defaults
sFluidDefaults[FluidSynthReverbOnOff] = 1.0f;
+#if FLUIDSYNTH_VERSION_MAJOR < 2
sfFluidDefaults[FluidSynthReverbRoomSize] = FLUID_REVERB_DEFAULT_ROOMSIZE;
sfFluidDefaults[FluidSynthReverbDamp] = FLUID_REVERB_DEFAULT_DAMP;
sfFluidDefaults[FluidSynthReverbLevel] = FLUID_REVERB_DEFAULT_LEVEL;
sfFluidDefaults[FluidSynthReverbWidth] = FLUID_REVERB_DEFAULT_WIDTH;
sFluidDefaults[FluidSynthReverbRoomSize] = FLUID_REVERB_DEFAULT_ROOMSIZE;
sFluidDefaults[FluidSynthReverbDamp] = FLUID_REVERB_DEFAULT_DAMP;
sFluidDefaults[FluidSynthReverbLevel] = FLUID_REVERB_DEFAULT_LEVEL;
sFluidDefaults[FluidSynthReverbWidth] = FLUID_REVERB_DEFAULT_WIDTH;
+#else
+ double reverbVal;
+ fluid_settings_getnum_default(fSettings, "synth.reverb.room-size", &reverbVal);
+ sfFluidDefaults[FluidSynthReverbRoomSize] = reverbVal;
+ fluid_settings_getnum_default(fSettings, "synth.reverb.damp", &reverbVal);
+ sfFluidDefaults[FluidSynthReverbDamp] = reverbVal;
+ fluid_settings_getnum_default(fSettings, "synth.reverb.level", &reverbVal);
+ sfFluidDefaults[FluidSynthReverbLevel] = reverbVal;
+ fluid_settings_getnum_default(fSettings, "synth.reverb.width", &reverbVal);
+ sfFluidDefaults[FluidSynthReverbWidth] = reverbVal;
+ double reverbVal;
+ fluid_settings_getnum_default(fSettings, "synth.reverb.room-size", &reverbVal);
+ sFluidDefaults[FluidSynthReverbRoomSize] = reverbVal;
+ fluid_settings_getnum_default(fSettings, "synth.reverb.damp", &reverbVal);
+ sFluidDefaults[FluidSynthReverbDamp] = reverbVal;
+ fluid_settings_getnum_default(fSettings, "synth.reverb.level", &reverbVal);
+ sFluidDefaults[FluidSynthReverbLevel] = reverbVal;
+ fluid_settings_getnum_default(fSettings, "synth.reverb.width", &reverbVal);
+ sFluidDefaults[FluidSynthReverbWidth] = reverbVal;
+#endif
+
+ // chorus defaults
sfFluidDefaults[FluidSynthChorusOnOff] = 1.0f;
+ // chorus defaults
sFluidDefaults[FluidSynthChorusOnOff] = 1.0f;
+#if FLUIDSYNTH_VERSION_MAJOR < 2
sfFluidDefaults[FluidSynthChorusNr] = FLUID_CHORUS_DEFAULT_N;
sfFluidDefaults[FluidSynthChorusLevel] = FLUID_CHORUS_DEFAULT_LEVEL;
sfFluidDefaults[FluidSynthChorusSpeedHz] = FLUID_CHORUS_DEFAULT_SPEED;
sfFluidDefaults[FluidSynthChorusDepthMs] = FLUID_CHORUS_DEFAULT_DEPTH;
sfFluidDefaults[FluidSynthChorusType] = FLUID_CHORUS_DEFAULT_TYPE;
sFluidDefaults[FluidSynthChorusNr] = FLUID_CHORUS_DEFAULT_N;
sFluidDefaults[FluidSynthChorusLevel] = FLUID_CHORUS_DEFAULT_LEVEL;
sFluidDefaults[FluidSynthChorusSpeedHz] = FLUID_CHORUS_DEFAULT_SPEED;
sFluidDefaults[FluidSynthChorusDepthMs] = FLUID_CHORUS_DEFAULT_DEPTH;
sFluidDefaults[FluidSynthChorusType] = FLUID_CHORUS_DEFAULT_TYPE;
+#else
+ double chorusVal;
+ fluid_settings_getnum_default(fSettings, "synth.chorus.nr", &chorusVal);
+ sfFluidDefaults[FluidSynthChorusNr] = chorusVal;
+ fluid_settings_getnum_default(fSettings, "synth.chorus.level", &chorusVal);
+ sfFluidDefaults[FluidSynthChorusLevel] = chorusVal;
+ fluid_settings_getnum_default(fSettings, "synth.chorus.speed", &chorusVal);
+ sfFluidDefaults[FluidSynthChorusSpeedHz] = chorusVal;
+ fluid_settings_getnum_default(fSettings, "synth.chorus.depth", &chorusVal);
+ sfFluidDefaults[FluidSynthChorusDepthMs] = chorusVal;
+ // There is no settings for chorus default type
+ sfFluidDefaults[FluidSynthChorusType] = (float)fluid_synth_get_chorus_type(fSynth);
+ double chorusVal;
+ fluid_settings_getnum_default(fSettings, "synth.chorus.nr", &chorusVal);
+ sFluidDefaults[FluidSynthChorusNr] = chorusVal;
+ fluid_settings_getnum_default(fSettings, "synth.chorus.level", &chorusVal);
+ sFluidDefaults[FluidSynthChorusLevel] = chorusVal;
+ fluid_settings_getnum_default(fSettings, "synth.chorus.speed", &chorusVal);
+ sFluidDefaults[FluidSynthChorusSpeedHz] = chorusVal;
+ fluid_settings_getnum_default(fSettings, "synth.chorus.depth", &chorusVal);
+ sFluidDefaults[FluidSynthChorusDepthMs] = chorusVal;
+ // There is no settings for chorus default type
+ sFluidDefaults[FluidSynthChorusType] = (float)fluid_synth_get_chorus_type(fSynth);
+#endif
+
+ // misc. defaults
sfFluidDefaults[FluidSynthPolyphony] = (float)fluid_synth_get_polyphony(fSynth);
sfFluidDefaults[FluidSynthInterpolation] = FLUID_INTERP_DEFAULT;
sfFluidDefaults[FluidSynthVoiceCount] = 0.0f;
+ // misc. defaults
sFluidDefaults[FluidSynthPolyphony] = (float)fluid_synth_get_polyphony(fSynth);
sFluidDefaults[FluidSynthInterpolation] = FLUID_INTERP_DEFAULT;
sFluidDefaults[FluidSynthVoiceCount] = 0.0f;
diff --git a/source/discovery/carla-discovery.cpp b/source/discovery/carla-discovery.cpp
index a0745e23..d2cd2931 100644
--- a/source/discovery/carla-discovery.cpp