mirror of
https://github.com/schnitzeltony/meta-musicians.git
synced 2026-01-29 17:18:41 +01:00
Merge remote-tracking branch 'origin/master' into warrior
This commit is contained in:
@@ -1,245 +0,0 @@
|
|||||||
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
|
|
||||||
and in one place
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
This makes transition fluidsynth 1.x -> 2.x a lot easier.
|
|
||||||
|
|
||||||
Upstream-Status: Submitted [1]
|
|
||||||
|
|
||||||
[1] https://github.com/falkTX/Carla/pull/766
|
|
||||||
|
|
||||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
|
||||||
---
|
|
||||||
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..7f6d919c 100644
|
|
||||||
--- a/source/backend/plugin/CarlaPluginFluidSynth.cpp
|
|
||||||
+++ b/source/backend/plugin/CarlaPluginFluidSynth.cpp
|
|
||||||
@@ -73,20 +73,22 @@ public:
|
|
||||||
fSynth = new_fluid_synth(fSettings);
|
|
||||||
CARLA_SAFE_ASSERT_RETURN(fSynth != nullptr,);
|
|
||||||
|
|
||||||
+ initializeFluidDefaultsIfNeeded();
|
|
||||||
+
|
|
||||||
fluid_synth_set_sample_rate(fSynth, (float)pData->engine->getSampleRate());
|
|
||||||
|
|
||||||
// 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, 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, 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, sFluidDefaults[FluidSynthInterpolation]);
|
|
||||||
}
|
|
||||||
|
|
||||||
~CarlaPluginFluidSynth() override
|
|
||||||
@@ -195,7 +197,7 @@ public:
|
|
||||||
case 1:
|
|
||||||
return FLUID_CHORUS_MOD_TRIANGLE;
|
|
||||||
default:
|
|
||||||
- return FLUID_CHORUS_DEFAULT_TYPE;
|
|
||||||
+ return sFluidDefaults[FluidSynthChorusType];
|
|
||||||
}
|
|
||||||
case FluidSynthInterpolation:
|
|
||||||
switch (scalePointId)
|
|
||||||
@@ -209,7 +211,7 @@ public:
|
|
||||||
case 3:
|
|
||||||
return FLUID_INTERP_7THORDER;
|
|
||||||
default:
|
|
||||||
- return FLUID_INTERP_DEFAULT;
|
|
||||||
+ return sFluidDefaults[FluidSynthInterpolation];
|
|
||||||
}
|
|
||||||
default:
|
|
||||||
return 0.0f;
|
|
||||||
@@ -721,7 +723,7 @@ public:
|
|
||||||
pData->param.data[j].rindex = j;
|
|
||||||
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 = sFluidDefaults[j];
|
|
||||||
pData->param.ranges[j].step = 1.0f;
|
|
||||||
pData->param.ranges[j].stepSmall = 1.0f;
|
|
||||||
pData->param.ranges[j].stepLarge = 1.0f;
|
|
||||||
@@ -734,7 +736,7 @@ public:
|
|
||||||
pData->param.data[j].rindex = j;
|
|
||||||
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 = sFluidDefaults[j];
|
|
||||||
pData->param.ranges[j].step = 0.01f;
|
|
||||||
pData->param.ranges[j].stepSmall = 0.0001f;
|
|
||||||
pData->param.ranges[j].stepLarge = 0.1f;
|
|
||||||
@@ -747,7 +749,7 @@ public:
|
|
||||||
pData->param.data[j].rindex = j;
|
|
||||||
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 = sFluidDefaults[j];
|
|
||||||
pData->param.ranges[j].step = 0.01f;
|
|
||||||
pData->param.ranges[j].stepSmall = 0.0001f;
|
|
||||||
pData->param.ranges[j].stepLarge = 0.1f;
|
|
||||||
@@ -761,7 +763,7 @@ public:
|
|
||||||
pData->param.data[j].midiCC = MIDI_CONTROL_REVERB_SEND_LEVEL;
|
|
||||||
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 = sFluidDefaults[j];
|
|
||||||
pData->param.ranges[j].step = 0.01f;
|
|
||||||
pData->param.ranges[j].stepSmall = 0.0001f;
|
|
||||||
pData->param.ranges[j].stepLarge = 0.1f;
|
|
||||||
@@ -774,7 +776,7 @@ public:
|
|
||||||
pData->param.data[j].rindex = j;
|
|
||||||
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 = sFluidDefaults[j];
|
|
||||||
pData->param.ranges[j].step = 0.01f;
|
|
||||||
pData->param.ranges[j].stepSmall = 0.0001f;
|
|
||||||
pData->param.ranges[j].stepLarge = 0.1f;
|
|
||||||
@@ -787,7 +789,7 @@ public:
|
|
||||||
pData->param.data[j].rindex = j;
|
|
||||||
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 = sFluidDefaults[j];
|
|
||||||
pData->param.ranges[j].step = 1.0f;
|
|
||||||
pData->param.ranges[j].stepSmall = 1.0f;
|
|
||||||
pData->param.ranges[j].stepLarge = 1.0f;
|
|
||||||
@@ -800,7 +802,7 @@ public:
|
|
||||||
pData->param.data[j].rindex = j;
|
|
||||||
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 = sFluidDefaults[j];
|
|
||||||
pData->param.ranges[j].step = 1.0f;
|
|
||||||
pData->param.ranges[j].stepSmall = 1.0f;
|
|
||||||
pData->param.ranges[j].stepLarge = 10.0f;
|
|
||||||
@@ -813,7 +815,7 @@ public:
|
|
||||||
pData->param.data[j].rindex = j;
|
|
||||||
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 = sFluidDefaults[j];
|
|
||||||
pData->param.ranges[j].step = 0.01f;
|
|
||||||
pData->param.ranges[j].stepSmall = 0.0001f;
|
|
||||||
pData->param.ranges[j].stepLarge = 0.1f;
|
|
||||||
@@ -826,7 +828,7 @@ public:
|
|
||||||
pData->param.data[j].rindex = j;
|
|
||||||
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 = sFluidDefaults[j];
|
|
||||||
pData->param.ranges[j].step = 0.01f;
|
|
||||||
pData->param.ranges[j].stepSmall = 0.0001f;
|
|
||||||
pData->param.ranges[j].stepLarge = 0.1f;
|
|
||||||
@@ -839,7 +841,7 @@ public:
|
|
||||||
pData->param.data[j].rindex = j;
|
|
||||||
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 = sFluidDefaults[j];
|
|
||||||
pData->param.ranges[j].step = 0.01f;
|
|
||||||
pData->param.ranges[j].stepSmall = 0.0001f;
|
|
||||||
pData->param.ranges[j].stepLarge = 0.1f;
|
|
||||||
@@ -852,7 +854,7 @@ public:
|
|
||||||
pData->param.data[j].rindex = j;
|
|
||||||
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 = sFluidDefaults[j];
|
|
||||||
pData->param.ranges[j].step = 1.0f;
|
|
||||||
pData->param.ranges[j].stepSmall = 1.0f;
|
|
||||||
pData->param.ranges[j].stepLarge = 1.0f;
|
|
||||||
@@ -865,7 +867,7 @@ public:
|
|
||||||
pData->param.data[j].rindex = j;
|
|
||||||
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 = sFluidDefaults[j];
|
|
||||||
pData->param.ranges[j].step = 1.0f;
|
|
||||||
pData->param.ranges[j].stepSmall = 1.0f;
|
|
||||||
pData->param.ranges[j].stepLarge = 10.0f;
|
|
||||||
@@ -878,7 +880,7 @@ public:
|
|
||||||
pData->param.data[j].rindex = j;
|
|
||||||
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 = sFluidDefaults[j];
|
|
||||||
pData->param.ranges[j].step = 1.0f;
|
|
||||||
pData->param.ranges[j].stepSmall = 1.0f;
|
|
||||||
pData->param.ranges[j].stepLarge = 1.0f;
|
|
||||||
@@ -891,7 +893,7 @@ public:
|
|
||||||
pData->param.data[j].rindex = j;
|
|
||||||
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 = 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,27 @@ public:
|
|
||||||
}
|
|
||||||
|
|
||||||
private:
|
|
||||||
+ void initializeFluidDefaultsIfNeeded()
|
|
||||||
+ {
|
|
||||||
+ 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 +1706,9 @@ private:
|
|
||||||
float** fAudio16Buffers;
|
|
||||||
float fParamBuffers[FluidSynthParametersMax];
|
|
||||||
|
|
||||||
+ static bool sFluidDefaultsStored;
|
|
||||||
+ static float sFluidDefaults[FluidSynthParametersMax];
|
|
||||||
+
|
|
||||||
int32_t fCurMidiProgs[MAX_MIDI_CHANNELS];
|
|
||||||
|
|
||||||
const char* fLabel;
|
|
||||||
@@ -1690,6 +1716,9 @@ private:
|
|
||||||
CARLA_DECLARE_NON_COPYABLE_WITH_LEAK_DETECTOR(CarlaPluginFluidSynth)
|
|
||||||
};
|
|
||||||
|
|
||||||
+bool CarlaPluginFluidSynth::sFluidDefaultsStored = false;
|
|
||||||
+float CarlaPluginFluidSynth::sFluidDefaults[FluidSynthParametersMax];
|
|
||||||
+
|
|
||||||
CARLA_BACKEND_END_NAMESPACE
|
|
||||||
|
|
||||||
#endif // HAVE_FLUIDSYNTH
|
|
||||||
--
|
|
||||||
2.14.4
|
|
||||||
|
|
||||||
@@ -1,143 +0,0 @@
|
|||||||
From 94c96ee0d04e324122ee1a73344a44f1b21837ef Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@gmail.com>
|
|
||||||
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
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
* preset iteration and getters have changed
|
|
||||||
* constants for most defaults are no more available in public headers -
|
|
||||||
fluidsynth wants to be asked
|
|
||||||
|
|
||||||
Upstream-Status: Submitted [1]
|
|
||||||
|
|
||||||
[1] https://github.com/falkTX/Carla/pull/766
|
|
||||||
|
|
||||||
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
|
|
||||||
---
|
|
||||||
source/backend/plugin/CarlaPluginFluidSynth.cpp | 62 +++++++++++++++++++++++++
|
|
||||||
source/discovery/carla-discovery.cpp | 5 ++
|
|
||||||
2 files changed, 67 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/source/backend/plugin/CarlaPluginFluidSynth.cpp b/source/backend/plugin/CarlaPluginFluidSynth.cpp
|
|
||||||
index 7f6d919c..5645fe3c 100644
|
|
||||||
--- a/source/backend/plugin/CarlaPluginFluidSynth.cpp
|
|
||||||
+++ b/source/backend/plugin/CarlaPluginFluidSynth.cpp
|
|
||||||
@@ -943,6 +943,7 @@ public:
|
|
||||||
|
|
||||||
if (fluid_sfont_t* const f_sfont = fluid_synth_get_sfont_by_id(fSynth, fSynthId))
|
|
||||||
{
|
|
||||||
+#if FLUIDSYNTH_VERSION_MAJOR < 2
|
|
||||||
fluid_preset_t f_preset;
|
|
||||||
|
|
||||||
// initial check to know how many midi-programs we have
|
|
||||||
@@ -971,6 +972,36 @@ public:
|
|
||||||
pData->midiprog.data[i].program = (tmp >= 0) ? static_cast<uint32_t>(tmp) : 0;
|
|
||||||
|
|
||||||
pData->midiprog.data[i].name = carla_strdup(f_preset.get_name(&f_preset));
|
|
||||||
+#else
|
|
||||||
+ fluid_preset_t* f_preset;
|
|
||||||
+
|
|
||||||
+ // initial check to know how many midi-programs we have
|
|
||||||
+ fluid_sfont_iteration_start(f_sfont);
|
|
||||||
+ for (; fluid_sfont_iteration_next(f_sfont);)
|
|
||||||
+ ++count;
|
|
||||||
+
|
|
||||||
+ // sound kits must always have at least 1 midi-program
|
|
||||||
+ CARLA_SAFE_ASSERT_RETURN(count > 0,);
|
|
||||||
+
|
|
||||||
+ pData->midiprog.createNew(count);
|
|
||||||
+
|
|
||||||
+ // Update data
|
|
||||||
+ int tmp;
|
|
||||||
+ uint32_t i = 0;
|
|
||||||
+ fluid_sfont_iteration_start(f_sfont);
|
|
||||||
+
|
|
||||||
+ for (; (f_preset = fluid_sfont_iteration_next(f_sfont));)
|
|
||||||
+ {
|
|
||||||
+ CARLA_SAFE_ASSERT_BREAK(i < count);
|
|
||||||
+
|
|
||||||
+ tmp = fluid_preset_get_banknum(f_preset);
|
|
||||||
+ pData->midiprog.data[i].bank = (tmp >= 0) ? static_cast<uint32_t>(tmp) : 0;
|
|
||||||
+
|
|
||||||
+ tmp = fluid_preset_get_num(f_preset);
|
|
||||||
+ pData->midiprog.data[i].program = (tmp >= 0) ? static_cast<uint32_t>(tmp) : 0;
|
|
||||||
+
|
|
||||||
+ pData->midiprog.data[i].name = carla_strdup(fluid_preset_get_name(f_preset));
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
if (pData->midiprog.data[i].bank == 128 && ! hasDrums)
|
|
||||||
{
|
|
||||||
@@ -1663,17 +1694,48 @@ private:
|
|
||||||
if (sFluidDefaultsStored)
|
|
||||||
return;
|
|
||||||
sFluidDefaultsStored = true;
|
|
||||||
+ // reverb defaults
|
|
||||||
sFluidDefaults[FluidSynthReverbOnOff] = 1.0f;
|
|
||||||
+#if FLUIDSYNTH_VERSION_MAJOR < 2
|
|
||||||
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);
|
|
||||||
+ 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
|
|
||||||
sFluidDefaults[FluidSynthChorusOnOff] = 1.0f;
|
|
||||||
+#if FLUIDSYNTH_VERSION_MAJOR < 2
|
|
||||||
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);
|
|
||||||
+ 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
|
|
||||||
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
|
|
||||||
+++ b/source/discovery/carla-discovery.cpp
|
|
||||||
@@ -1323,10 +1323,15 @@ static void do_fluidsynth_check(const char* const filename, const bool doInit)
|
|
||||||
|
|
||||||
if (fluid_sfont_t* const f_sfont = fluid_synth_get_sfont_by_id(f_synth, static_cast<uint>(f_id)))
|
|
||||||
{
|
|
||||||
+#if FLUIDSYNTH_VERSION_MAJOR < 2
|
|
||||||
fluid_preset_t f_preset;
|
|
||||||
|
|
||||||
f_sfont->iteration_start(f_sfont);
|
|
||||||
for (; f_sfont->iteration_next(f_sfont, &f_preset);)
|
|
||||||
+#else
|
|
||||||
+ fluid_sfont_iteration_start(f_sfont);
|
|
||||||
+ for (; fluid_sfont_iteration_next(f_sfont);)
|
|
||||||
+#endif
|
|
||||||
++programs;
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
2.14.4
|
|
||||||
|
|
||||||
@@ -7,15 +7,13 @@ LIC_FILES_CHKSUM = " \
|
|||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI = " \
|
SRC_URI = " \
|
||||||
git://github.com/falkTX/Carla.git \
|
git://github.com/falkTX/Carla.git;branch=develop \
|
||||||
file://0001-do-not-try-to-cross-run-carla-lv2-export.patch \
|
file://0001-do-not-try-to-cross-run-carla-lv2-export.patch \
|
||||||
file://0002-Do-not-try-to-find-Qt5-host-bins-it-won-t-work.patch \
|
file://0002-Do-not-try-to-find-Qt5-host-bins-it-won-t-work.patch \
|
||||||
file://0003-Fluidsynths-Ensure-fluidsynth-s-defaults-are-set-onc.patch \
|
|
||||||
file://0004-Fixes-for-fluidsynth-2.0.0.patch \
|
|
||||||
"
|
"
|
||||||
SRCREV = "d73c0788ccc5fb9019d224046ef1b652aa5a9bbe"
|
SRCREV = "8385b5ee418357e2dc907518ac39c20beb3b28ed"
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
PV = "1.9.11+git${SRCPV}"
|
PV = "2.0.0+git${SRCPV}"
|
||||||
|
|
||||||
REQUIRED_DISTRO_FEATURES = "x11"
|
REQUIRED_DISTRO_FEATURES = "x11"
|
||||||
|
|
||||||
@@ -62,6 +60,7 @@ do_install() {
|
|||||||
FILES_${PN} += " \
|
FILES_${PN} += " \
|
||||||
${datadir}/icons \
|
${datadir}/icons \
|
||||||
${datadir}/mime \
|
${datadir}/mime \
|
||||||
|
${libdir}/jack \
|
||||||
${libdir}/lv2 \
|
${libdir}/lv2 \
|
||||||
${libdir}/vst \
|
${libdir}/vst \
|
||||||
"
|
"
|
||||||
|
|||||||
@@ -27,6 +27,8 @@ DEPENDS += " \
|
|||||||
fltk fltk-native \
|
fltk fltk-native \
|
||||||
"
|
"
|
||||||
|
|
||||||
|
CXXFLAGS += "-fpermissive"
|
||||||
|
|
||||||
EXTRA_OECMAKE += " \
|
EXTRA_OECMAKE += " \
|
||||||
-DWANT_QT5=ON \
|
-DWANT_QT5=ON \
|
||||||
-DWANT_WEAKJACK=OFF \
|
-DWANT_WEAKJACK=OFF \
|
||||||
|
|||||||
@@ -4,6 +4,6 @@ LICENSE = "GPLv2+"
|
|||||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=751419260aa954499f7abaabaa882bbe"
|
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=751419260aa954499f7abaabaa882bbe"
|
||||||
|
|
||||||
SRC_URI = "gitsm://github.com/LMMS/${BPN}.git;branch=stable-1.2"
|
SRC_URI = "gitsm://github.com/LMMS/${BPN}.git;branch=stable-1.2"
|
||||||
SRCREV = "0fbaca40bd6ea1a3fa664e12beaec5803d0d9662"
|
SRCREV = "8568ae4eacdd3bbdae8e8eaeb1536bebce3cfeeb"
|
||||||
S = "${WORKDIR}/git"
|
S = "${WORKDIR}/git"
|
||||||
PV = "1.2.0"
|
PV = "1.2.0+git${SRCPV}"
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ SRC_URI = " \
|
|||||||
file://polyphone.mime \
|
file://polyphone.mime \
|
||||||
file://0001-align-compiler-switches-constants-for-cross-compilin.patch \
|
file://0001-align-compiler-switches-constants-for-cross-compilin.patch \
|
||||||
"
|
"
|
||||||
SRCREV = "9f9720f4fded286f253e85fc708ee9bbba507eb5"
|
SRCREV = "e5863e3147599e51563cd93d5f1e4f96384eba9b"
|
||||||
S = "${WORKDIR}/git/sources"
|
S = "${WORKDIR}/git/sources"
|
||||||
|
|
||||||
do_configure_prepend() {
|
do_configure_prepend() {
|
||||||
|
|||||||
Reference in New Issue
Block a user