update fluidsynth to 2.1.0

This commit is contained in:
alexey.lysiuk 2019-12-15 10:38:19 +02:00
parent d16ccbf6ea
commit a8ecfb9e30
5 changed files with 29 additions and 14 deletions

View file

@ -95,11 +95,22 @@ enum fluid_gen_type
GEN_EXCLUSIVECLASS, /**< Exclusive class number */ GEN_EXCLUSIVECLASS, /**< Exclusive class number */
GEN_OVERRIDEROOTKEY, /**< Sample root note override */ GEN_OVERRIDEROOTKEY, /**< Sample root note override */
/* the initial pitch is not a "standard" generator. It is not /**
* mentioned in the list of generator in the SF2 specifications. It * @brief Initial Pitch
* is used, however, as the destination for the default pitch wheel *
* modulator. */ * @note This is not "standard" SoundFont generator, because it is not
GEN_PITCH, /**< Pitch @note Not a real SoundFont generator */ * mentioned in the list of generators in the SF2 specifications.
* It is used by FluidSynth internally to compute the nominal pitch of
* a note on note-on event. By nature it shouldn't be allowed to be modulated,
* however the specification defines a default modulator having "Initial Pitch"
* as destination (cf. SF2.01 page 57 section 8.4.10 MIDI Pitch Wheel to Initial Pitch).
* Thus it is impossible to cancel this default modulator, which would be required
* to let the MIDI Pitch Wheel controller modulate a different generator.
* In order to provide this flexibility, FluidSynth >= 2.1.0 uses a default modulator
* "Pitch Wheel to Fine Tune", rather than Initial Pitch. The same "compromise" can
* be found on the Audigy 2 ZS for instance.
*/
GEN_PITCH,
GEN_CUSTOM_BALANCE, /**< Balance @note Not a real SoundFont generator */ GEN_CUSTOM_BALANCE, /**< Balance @note Not a real SoundFont generator */
/* non-standard generator for an additional custom high- or low-pass filter */ /* non-standard generator for an additional custom high- or low-pass filter */

View file

@ -77,7 +77,11 @@ fluid_log_function_t fluid_set_log_function(int level, fluid_log_function_t fun,
FLUIDSYNTH_API void fluid_default_log_function(int level, const char *message, void *data); FLUIDSYNTH_API void fluid_default_log_function(int level, const char *message, void *data);
FLUIDSYNTH_API int fluid_log(int level, const char *fmt, ...); FLUIDSYNTH_API int fluid_log(int level, const char *fmt, ...)
#if defined(__clang__) || defined(__GNUC__) || defined(__GNUG__)
__attribute__ ((format (printf, 2, 3)))
#endif
;
#ifdef __cplusplus #ifdef __cplusplus

View file

@ -32,13 +32,13 @@ extern "C" {
* @brief Embeddable SoundFont synthesizer * @brief Embeddable SoundFont synthesizer
* *
* You create a new synthesizer with new_fluid_synth() and you destroy * You create a new synthesizer with new_fluid_synth() and you destroy
* if with delete_fluid_synth(). Use the settings structure to specify * it with delete_fluid_synth(). Use the fluid_settings_t structure to specify
* the synthesizer characteristics. * the synthesizer characteristics.
* *
* You have to load a SoundFont in order to hear any sound. For that * You have to load a SoundFont in order to hear any sound. For that
* you use the fluid_synth_sfload() function. * you use the fluid_synth_sfload() function.
* *
* You can use the audio driver functions described below to open * You can use the audio driver functions to open
* the audio device and create a background audio thread. * the audio device and create a background audio thread.
* *
* The API for sending MIDI events is probably what you expect: * The API for sending MIDI events is probably what you expect:
@ -176,7 +176,7 @@ FLUIDSYNTH_API int fluid_synth_count_effects_groups(fluid_synth_t *synth);
/* Synthesis parameters */ /* Synthesis parameters */
FLUIDSYNTH_API void fluid_synth_set_sample_rate(fluid_synth_t *synth, float sample_rate); FLUID_DEPRECATED FLUIDSYNTH_API void fluid_synth_set_sample_rate(fluid_synth_t *synth, float sample_rate);
FLUIDSYNTH_API void fluid_synth_set_gain(fluid_synth_t *synth, float gain); FLUIDSYNTH_API void fluid_synth_set_gain(fluid_synth_t *synth, float gain);
FLUIDSYNTH_API float fluid_synth_get_gain(fluid_synth_t *synth); FLUIDSYNTH_API float fluid_synth_get_gain(fluid_synth_t *synth);
FLUIDSYNTH_API int fluid_synth_set_polyphony(fluid_synth_t *synth, int polyphony); FLUIDSYNTH_API int fluid_synth_set_polyphony(fluid_synth_t *synth, int polyphony);
@ -244,7 +244,7 @@ FLUID_DEPRECATED FLUIDSYNTH_API const char *fluid_synth_error(fluid_synth_t *syn
enum fluid_synth_add_mod enum fluid_synth_add_mod
{ {
FLUID_SYNTH_OVERWRITE, /**< Overwrite any existing matching modulator */ FLUID_SYNTH_OVERWRITE, /**< Overwrite any existing matching modulator */
FLUID_SYNTH_ADD, /**< Add (sum) modulator amounts */ FLUID_SYNTH_ADD, /**< Sum up modulator amounts */
}; };
FLUIDSYNTH_API int fluid_synth_add_default_mod(fluid_synth_t *synth, const fluid_mod_t *mod, int mode); FLUIDSYNTH_API int fluid_synth_add_default_mod(fluid_synth_t *synth, const fluid_mod_t *mod, int mode);
@ -296,7 +296,7 @@ enum fluid_iir_filter_type
}; };
/** /**
* Specifies optional settings to use for the custom IIR filter * Specifies optional settings to use for the custom IIR filter. Can be bitwise ORed.
*/ */
enum fluid_iir_filter_flags enum fluid_iir_filter_flags
{ {

View file

@ -31,10 +31,10 @@ extern "C" {
* @brief Library version functions and defines * @brief Library version functions and defines
*/ */
#define FLUIDSYNTH_VERSION "2.0.8" /**< String constant of libfluidsynth version. */ #define FLUIDSYNTH_VERSION "2.1.0" /**< String constant of libfluidsynth version. */
#define FLUIDSYNTH_VERSION_MAJOR 2 /**< libfluidsynth major version integer constant. */ #define FLUIDSYNTH_VERSION_MAJOR 2 /**< libfluidsynth major version integer constant. */
#define FLUIDSYNTH_VERSION_MINOR 0 /**< libfluidsynth minor version integer constant. */ #define FLUIDSYNTH_VERSION_MINOR 1 /**< libfluidsynth minor version integer constant. */
#define FLUIDSYNTH_VERSION_MICRO 8 /**< libfluidsynth micro version integer constant. */ #define FLUIDSYNTH_VERSION_MICRO 0 /**< libfluidsynth micro version integer constant. */
FLUIDSYNTH_API void fluid_version(int *major, int *minor, int *micro); FLUIDSYNTH_API void fluid_version(int *major, int *minor, int *micro);
FLUIDSYNTH_API char* fluid_version_str(void); FLUIDSYNTH_API char* fluid_version_str(void);

Binary file not shown.