mirror of
https://github.com/Ardour/ardour.git
synced 2025-12-07 23:35:03 +01:00
Update Fluidsynth to v2.0.2
This commit is contained in:
parent
f28b03c305
commit
8c4c97d1e2
34 changed files with 16320 additions and 648 deletions
298
tools/fluid-patches/ardour_fluidsynth.diff
Normal file
298
tools/fluid-patches/ardour_fluidsynth.diff
Normal file
|
|
@ -0,0 +1,298 @@
|
|||
diff --git b/libs/fluidsynth/fluidsynth/synth.h a/libs/fluidsynth/fluidsynth/synth.h
|
||||
index 369a2c261..87826809f 100644
|
||||
--- b/libs/fluidsynth/fluidsynth/synth.h
|
||||
+++ a/libs/fluidsynth/fluidsynth/synth.h
|
||||
@@ -233,7 +233,7 @@ FLUIDSYNTH_API int fluid_synth_tuning_dump(fluid_synth_t *synth, int bank, int p
|
||||
/* Misc */
|
||||
|
||||
FLUIDSYNTH_API double fluid_synth_get_cpu_load(fluid_synth_t *synth);
|
||||
-FLUID_DEPRECATED FLUIDSYNTH_API const char *fluid_synth_error(fluid_synth_t *synth);
|
||||
+const char *fluid_synth_error(fluid_synth_t *synth);
|
||||
|
||||
|
||||
/* Default modulators */
|
||||
@@ -265,7 +265,7 @@ FLUIDSYNTH_API int fluid_synth_write_s16(fluid_synth_t *synth, int len,
|
||||
FLUIDSYNTH_API int fluid_synth_write_float(fluid_synth_t *synth, int len,
|
||||
void *lout, int loff, int lincr,
|
||||
void *rout, int roff, int rincr);
|
||||
-FLUID_DEPRECATED FLUIDSYNTH_API int fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
|
||||
+FLUIDSYNTH_API int fluid_synth_nwrite_float(fluid_synth_t *synth, int len,
|
||||
float **left, float **right,
|
||||
float **fx_left, float **fx_right);
|
||||
FLUIDSYNTH_API int fluid_synth_process(fluid_synth_t *synth, int len,
|
||||
@@ -310,7 +310,9 @@ FLUIDSYNTH_API int fluid_synth_set_custom_filter(fluid_synth_t *, int type, int
|
||||
|
||||
/* LADSPA */
|
||||
|
||||
+#ifdef LADSPA
|
||||
FLUIDSYNTH_API fluid_ladspa_fx_t *fluid_synth_get_ladspa_fx(fluid_synth_t *synth);
|
||||
+#endif
|
||||
|
||||
|
||||
/* API: Poly mono mode */
|
||||
diff --git b/libs/fluidsynth/fluidsynth/types.h a/libs/fluidsynth/fluidsynth/types.h
|
||||
index 47ef18336..5ad29281a 100644
|
||||
--- b/libs/fluidsynth/fluidsynth/types.h
|
||||
+++ a/libs/fluidsynth/fluidsynth/types.h
|
||||
@@ -56,7 +56,9 @@ typedef struct _fluid_sequencer_t fluid_sequencer_t; /**< Sequencer i
|
||||
typedef struct _fluid_ramsfont_t fluid_ramsfont_t; /**< RAM SoundFont */
|
||||
typedef struct _fluid_rampreset_t fluid_rampreset_t; /**< RAM SoundFont preset */
|
||||
typedef struct _fluid_cmd_handler_t fluid_cmd_handler_t; /**< Shell Command Handler */
|
||||
+#ifdef LADSPA
|
||||
typedef struct _fluid_ladspa_fx_t fluid_ladspa_fx_t; /**< LADSPA effects instance */
|
||||
+#endif
|
||||
typedef struct _fluid_file_callbacks_t fluid_file_callbacks_t; /**< Callback struct to perform custom file loading of soundfonts */
|
||||
|
||||
typedef int fluid_istream_t; /**< Input stream descriptor */
|
||||
diff --git b/libs/fluidsynth/src/fluid_conv.h a/libs/fluidsynth/src/fluid_conv.h
|
||||
index 60f441c49..e6455186e 100644
|
||||
--- b/libs/fluidsynth/src/fluid_conv.h
|
||||
+++ a/libs/fluidsynth/src/fluid_conv.h
|
||||
@@ -22,7 +22,7 @@
|
||||
#define _FLUID_CONV_H
|
||||
|
||||
#include "fluidsynth_priv.h"
|
||||
-#include "utils/fluid_conv_tables.h"
|
||||
+#include "fluid_conv_tables.h"
|
||||
|
||||
fluid_real_t fluid_ct2hz_real(fluid_real_t cents);
|
||||
fluid_real_t fluid_ct2hz(fluid_real_t cents);
|
||||
diff --git b/libs/fluidsynth/src/fluid_hash.c a/libs/fluidsynth/src/fluid_hash.c
|
||||
index 37b0a06a4..b6586895b 100644
|
||||
--- b/libs/fluidsynth/src/fluid_hash.c
|
||||
+++ a/libs/fluidsynth/src/fluid_hash.c
|
||||
@@ -991,6 +991,7 @@ fluid_hashtable_remove_all(fluid_hashtable_t *hashtable)
|
||||
fluid_hashtable_maybe_resize(hashtable);
|
||||
}
|
||||
|
||||
+#if 0
|
||||
/**
|
||||
* fluid_hashtable_steal_all:
|
||||
* @hashtable: a #fluid_hashtable_t.
|
||||
@@ -1008,6 +1009,7 @@ fluid_hashtable_steal_all(fluid_hashtable_t *hashtable)
|
||||
fluid_hashtable_remove_all_nodes(hashtable, FALSE);
|
||||
fluid_hashtable_maybe_resize(hashtable);
|
||||
}
|
||||
+#endif
|
||||
|
||||
/*
|
||||
* fluid_hashtable_foreach_remove_or_steal:
|
||||
diff --git b/libs/fluidsynth/src/fluid_midi.c a/libs/fluidsynth/src/fluid_midi.c
|
||||
index 4795fceb3..b82bfdf61 100644
|
||||
--- b/libs/fluidsynth/src/fluid_midi.c
|
||||
+++ a/libs/fluidsynth/src/fluid_midi.c
|
||||
@@ -75,7 +75,7 @@ static int fluid_midi_file_read_tracklen(fluid_midi_file *mf);
|
||||
static int fluid_midi_file_eot(fluid_midi_file *mf);
|
||||
static int fluid_midi_file_get_division(fluid_midi_file *midifile);
|
||||
|
||||
-
|
||||
+#if 0 // disable file I/O with Ardour
|
||||
/***************************************************************
|
||||
*
|
||||
* MIDIFILE
|
||||
@@ -1011,6 +1011,7 @@ fluid_midi_file_get_division(fluid_midi_file *midifile)
|
||||
{
|
||||
return midifile->division;
|
||||
}
|
||||
+#endif
|
||||
|
||||
/******************************************************
|
||||
*
|
||||
@@ -1330,7 +1331,7 @@ static void fluid_midi_event_set_sysex_LOCAL(fluid_midi_event_t *evt, int type,
|
||||
*
|
||||
* fluid_track_t
|
||||
*/
|
||||
-
|
||||
+#if 0 // disable fluid file player in Ardour
|
||||
/*
|
||||
* new_fluid_track
|
||||
*/
|
||||
@@ -2434,3 +2435,4 @@ fluid_midi_event_length(unsigned char event)
|
||||
|
||||
return 1;
|
||||
}
|
||||
+#endif
|
||||
diff --git b/libs/fluidsynth/src/fluid_rev.c a/libs/fluidsynth/src/fluid_rev.c
|
||||
index 198a06e58..894afc5a0 100644
|
||||
--- b/libs/fluidsynth/src/fluid_rev.c
|
||||
+++ a/libs/fluidsynth/src/fluid_rev.c
|
||||
@@ -51,7 +51,7 @@ void fluid_allpass_init(fluid_allpass *allpass);
|
||||
void fluid_allpass_setfeedback(fluid_allpass *allpass, fluid_real_t val);
|
||||
fluid_real_t fluid_allpass_getfeedback(fluid_allpass *allpass);
|
||||
|
||||
-void
|
||||
+static void
|
||||
fluid_allpass_setbuffer(fluid_allpass *allpass, int size)
|
||||
{
|
||||
allpass->bufidx = 0;
|
||||
@@ -59,7 +59,7 @@ fluid_allpass_setbuffer(fluid_allpass *allpass, int size)
|
||||
allpass->bufsize = size;
|
||||
}
|
||||
|
||||
-void
|
||||
+static void
|
||||
fluid_allpass_release(fluid_allpass *allpass)
|
||||
{
|
||||
FLUID_FREE(allpass->buffer);
|
||||
diff --git b/libs/fluidsynth/src/fluid_rvoice_mixer.c a/libs/fluidsynth/src/fluid_rvoice_mixer.c
|
||||
index af0ef75d1..9e7b164bb 100644
|
||||
--- b/libs/fluidsynth/src/fluid_rvoice_mixer.c
|
||||
+++ a/libs/fluidsynth/src/fluid_rvoice_mixer.c
|
||||
@@ -24,7 +24,6 @@
|
||||
#include "fluid_rev.h"
|
||||
#include "fluid_chorus.h"
|
||||
#include "fluidsynth_priv.h"
|
||||
-#include "fluid_ladspa.h"
|
||||
#include "fluid_synth.h"
|
||||
|
||||
|
||||
// If less than x voices, the thread overhead is larger than the gain,
|
||||
diff --git b/libs/fluidsynth/src/fluid_rvoice_mixer.h a/libs/fluidsynth/src/fluid_rvoice_mixer.h
|
||||
index 4ee072e4b..1b3fceb34 100644
|
||||
--- b/libs/fluidsynth/src/fluid_rvoice_mixer.h
|
||||
+++ a/libs/fluidsynth/src/fluid_rvoice_mixer.h
|
||||
@@ -24,7 +24,6 @@
|
||||
|
||||
#include "fluidsynth_priv.h"
|
||||
#include "fluid_rvoice.h"
|
||||
-#include "fluid_ladspa.h"
|
||||
|
||||
typedef struct _fluid_rvoice_mixer_t fluid_rvoice_mixer_t;
|
||||
|
||||
diff --git b/libs/fluidsynth/src/fluid_settings.c a/libs/fluidsynth/src/fluid_settings.c
|
||||
index 02be9a033..9207ab063 100644
|
||||
--- b/libs/fluidsynth/src/fluid_settings.c
|
||||
+++ a/libs/fluidsynth/src/fluid_settings.c
|
||||
@@ -21,9 +21,6 @@
|
||||
#include "fluid_sys.h"
|
||||
#include "fluid_hash.h"
|
||||
#include "fluid_synth.h"
|
||||
-#include "fluid_cmd.h"
|
||||
-#include "fluid_adriver.h"
|
||||
-#include "fluid_mdriver.h"
|
||||
#include "fluid_settings.h"
|
||||
#include "fluid_midi.h"
|
||||
|
||||
@@ -328,11 +325,13 @@ fluid_settings_init(fluid_settings_t *settings)
|
||||
fluid_return_if_fail(settings != NULL);
|
||||
|
||||
fluid_synth_settings(settings);
|
||||
+#if 0
|
||||
fluid_shell_settings(settings);
|
||||
fluid_player_settings(settings);
|
||||
fluid_file_renderer_settings(settings);
|
||||
fluid_audio_driver_settings(settings);
|
||||
fluid_midi_driver_settings(settings);
|
||||
+#endif
|
||||
}
|
||||
|
||||
static int
|
||||
diff --git b/libs/fluidsynth/src/fluid_synth.c a/libs/fluidsynth/src/fluid_synth.c
|
||||
index faadefb27..79c5a9c87 100644
|
||||
--- b/libs/fluidsynth/src/fluid_synth.c
|
||||
+++ a/libs/fluidsynth/src/fluid_synth.c
|
||||
@@ -267,7 +267,7 @@ void fluid_version(int *major, int *minor, int *micro)
|
||||
* @return FluidSynth version string, which is internal and should not be
|
||||
* modified or freed.
|
||||
*/
|
||||
-char *
|
||||
+const char *
|
||||
fluid_version_str(void)
|
||||
{
|
||||
return FLUIDSYNTH_VERSION;
|
||||
@@ -6430,6 +6430,7 @@ int fluid_synth_set_channel_type(fluid_synth_t *synth, int chan, int type)
|
||||
FLUID_API_RETURN(FLUID_OK);
|
||||
}
|
||||
|
||||
+#ifdef LADSPA
|
||||
/**
|
||||
* Return the LADSPA effects instance used by FluidSynth
|
||||
*
|
||||
@@ -6442,6 +6443,7 @@ fluid_ladspa_fx_t *fluid_synth_get_ladspa_fx(fluid_synth_t *synth)
|
||||
|
||||
return synth->ladspa_fx;
|
||||
}
|
||||
+#endif
|
||||
|
||||
/**
|
||||
* Configure a general-purpose IIR biquad filter.
|
||||
diff --git b/libs/fluidsynth/src/fluid_synth.h a/libs/fluidsynth/src/fluid_synth.h
|
||||
index 156424af1..58869730c 100644
|
||||
--- b/libs/fluidsynth/src/fluid_synth.h
|
||||
+++ a/libs/fluidsynth/src/fluid_synth.h
|
||||
@@ -33,8 +33,6 @@
|
||||
#include "fluid_rev.h"
|
||||
#include "fluid_voice.h"
|
||||
#include "fluid_chorus.h"
|
||||
-#include "fluid_ladspa.h"
|
||||
-#include "fluid_midi_router.h"
|
||||
#include "fluid_rvoice_event.h"
|
||||
|
||||
/***************************************************************
|
||||
@@ -165,7 +163,9 @@ struct _fluid_synth_t
|
||||
|
||||
fluid_mod_t *default_mod; /**< the (dynamic) list of default modulators */
|
||||
|
||||
+#ifdef LADSPA
|
||||
fluid_ladspa_fx_t *ladspa_fx; /**< Effects unit for LADSPA support */
|
||||
+#endif
|
||||
enum fluid_iir_filter_type custom_filter_type; /**< filter type of the user-defined filter currently used for all voices */
|
||||
enum fluid_iir_filter_flags custom_filter_flags; /**< filter type of the user-defined filter currently used for all voices */
|
||||
};
|
||||
diff --git b/libs/fluidsynth/src/fluid_sys.c a/libs/fluidsynth/src/fluid_sys.c
|
||||
index 3df88fc23..cce778b3c 100644
|
||||
--- b/libs/fluidsynth/src/fluid_sys.c
|
||||
+++ a/libs/fluidsynth/src/fluid_sys.c
|
||||
@@ -202,9 +202,10 @@ fluid_log(int level, const char *fmt, ...)
|
||||
* @param delim String of delimiter chars.
|
||||
* @return Pointer to the next token or NULL if no more tokens.
|
||||
*/
|
||||
-char *fluid_strtok(char **str, char *delim)
|
||||
+char *fluid_strtok(char **str, const char *delim)
|
||||
{
|
||||
- char *s, *d, *token;
|
||||
+ char *s, *token;
|
||||
+ const char *d;
|
||||
char c;
|
||||
|
||||
if(str == NULL || delim == NULL || !*delim)
|
||||
diff --git b/libs/fluidsynth/src/fluid_sys.h a/libs/fluidsynth/src/fluid_sys.h
|
||||
index 47cc95c11..d95f6159f 100644
|
||||
--- b/libs/fluidsynth/src/fluid_sys.h
|
||||
+++ a/libs/fluidsynth/src/fluid_sys.h
|
||||
@@ -91,7 +91,7 @@ else \
|
||||
/*
|
||||
* Utility functions
|
||||
*/
|
||||
-char *fluid_strtok(char **str, char *delim);
|
||||
+char *fluid_strtok(char **str, const char *delim);
|
||||
|
||||
|
||||
#if defined(__OS2__)
|
||||
diff --git b/libs/fluidsynth/src/fluidsynth_priv.h a/libs/fluidsynth/src/fluidsynth_priv.h
|
||||
index d5dbdf7e9..5de758dc0 100644
|
||||
--- b/libs/fluidsynth/src/fluidsynth_priv.h
|
||||
+++ a/libs/fluidsynth/src/fluidsynth_priv.h
|
||||
@@ -26,10 +26,6 @@
|
||||
|
||||
#include "config.h"
|
||||
|
||||
-#if defined(__POWERPC__) && !(defined(__APPLE__) && defined(__MACH__))
|
||||
-#include "config_maxmsp43.h"
|
||||
-#endif
|
||||
-
|
||||
#if HAVE_STRING_H
|
||||
#include <string.h>
|
||||
#endif
|
||||
@@ -133,8 +129,9 @@ typedef guint64 uint64_t;
|
||||
#endif
|
||||
|
||||
#if defined(WIN32) && HAVE_WINDOWS_H
|
||||
-#include <winsock2.h>
|
||||
-#include <ws2tcpip.h> /* Provides also socklen_t */
|
||||
+//#include <winsock2.h>
|
||||
+//#include <ws2tcpip.h> /* Provides also socklen_t */
|
||||
+#include <windows.h>
|
||||
|
||||
/* WIN32 special defines */
|
||||
#define STDIN_FILENO 0
|
||||
Loading…
Add table
Add a link
Reference in a new issue