summaryrefslogtreecommitdiff
path: root/libs/fluidsynth/fluidsynth/gen.h
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2018-10-18 00:41:02 +0200
committerRobin Gareus <robin@gareus.org>2018-10-18 01:43:43 +0200
commitabf7905d5f82ad796544aa664cf3abaf20385cf7 (patch)
tree982dc729adea5bb604a12cd511f5f20a95a9b74d /libs/fluidsynth/fluidsynth/gen.h
parent5b280463ce220ca27c067ce33cd9af2f457f240b (diff)
Update Fluidsynth to 2.0.1
Diffstat (limited to 'libs/fluidsynth/fluidsynth/gen.h')
-rw-r--r--libs/fluidsynth/fluidsynth/gen.h172
1 files changed, 78 insertions, 94 deletions
diff --git a/libs/fluidsynth/fluidsynth/gen.h b/libs/fluidsynth/fluidsynth/gen.h
index e4bbc8ef69..4b625831b0 100644
--- a/libs/fluidsynth/fluidsynth/gen.h
+++ b/libs/fluidsynth/fluidsynth/gen.h
@@ -3,16 +3,16 @@
* Copyright (C) 2003 Peter Hanappe and others.
*
* This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public License
- * as published by the Free Software Foundation; either version 2 of
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA
@@ -33,99 +33,83 @@ extern "C" {
/**
* Generator (effect) numbers (Soundfont 2.01 specifications section 8.1.3)
*/
-enum fluid_gen_type {
- GEN_STARTADDROFS, /**< Sample start address offset (0-32767) */
- GEN_ENDADDROFS, /**< Sample end address offset (-32767-0) */
- GEN_STARTLOOPADDROFS, /**< Sample loop start address offset (-32767-32767) */
- GEN_ENDLOOPADDROFS, /**< Sample loop end address offset (-32767-32767) */
- GEN_STARTADDRCOARSEOFS, /**< Sample start address coarse offset (X 32768) */
- GEN_MODLFOTOPITCH, /**< Modulation LFO to pitch */
- GEN_VIBLFOTOPITCH, /**< Vibrato LFO to pitch */
- GEN_MODENVTOPITCH, /**< Modulation envelope to pitch */
- GEN_FILTERFC, /**< Filter cutoff */
- GEN_FILTERQ, /**< Filter Q */
- GEN_MODLFOTOFILTERFC, /**< Modulation LFO to filter cutoff */
- GEN_MODENVTOFILTERFC, /**< Modulation envelope to filter cutoff */
- GEN_ENDADDRCOARSEOFS, /**< Sample end address coarse offset (X 32768) */
- GEN_MODLFOTOVOL, /**< Modulation LFO to volume */
- GEN_UNUSED1, /**< Unused */
- GEN_CHORUSSEND, /**< Chorus send amount */
- GEN_REVERBSEND, /**< Reverb send amount */
- GEN_PAN, /**< Stereo panning */
- GEN_UNUSED2, /**< Unused */
- GEN_UNUSED3, /**< Unused */
- GEN_UNUSED4, /**< Unused */
- GEN_MODLFODELAY, /**< Modulation LFO delay */
- GEN_MODLFOFREQ, /**< Modulation LFO frequency */
- GEN_VIBLFODELAY, /**< Vibrato LFO delay */
- GEN_VIBLFOFREQ, /**< Vibrato LFO frequency */
- GEN_MODENVDELAY, /**< Modulation envelope delay */
- GEN_MODENVATTACK, /**< Modulation envelope attack */
- GEN_MODENVHOLD, /**< Modulation envelope hold */
- GEN_MODENVDECAY, /**< Modulation envelope decay */
- GEN_MODENVSUSTAIN, /**< Modulation envelope sustain */
- GEN_MODENVRELEASE, /**< Modulation envelope release */
- GEN_KEYTOMODENVHOLD, /**< Key to modulation envelope hold */
- GEN_KEYTOMODENVDECAY, /**< Key to modulation envelope decay */
- GEN_VOLENVDELAY, /**< Volume envelope delay */
- GEN_VOLENVATTACK, /**< Volume envelope attack */
- GEN_VOLENVHOLD, /**< Volume envelope hold */
- GEN_VOLENVDECAY, /**< Volume envelope decay */
- GEN_VOLENVSUSTAIN, /**< Volume envelope sustain */
- GEN_VOLENVRELEASE, /**< Volume envelope release */
- GEN_KEYTOVOLENVHOLD, /**< Key to volume envelope hold */
- GEN_KEYTOVOLENVDECAY, /**< Key to volume envelope decay */
- GEN_INSTRUMENT, /**< Instrument ID (shouldn't be set by user) */
- GEN_RESERVED1, /**< Reserved */
- GEN_KEYRANGE, /**< MIDI note range */
- GEN_VELRANGE, /**< MIDI velocity range */
- GEN_STARTLOOPADDRCOARSEOFS, /**< Sample start loop address coarse offset (X 32768) */
- GEN_KEYNUM, /**< Fixed MIDI note number */
- GEN_VELOCITY, /**< Fixed MIDI velocity value */
- GEN_ATTENUATION, /**< Initial volume attenuation */
- GEN_RESERVED2, /**< Reserved */
- GEN_ENDLOOPADDRCOARSEOFS, /**< Sample end loop address coarse offset (X 32768) */
- GEN_COARSETUNE, /**< Coarse tuning */
- GEN_FINETUNE, /**< Fine tuning */
- GEN_SAMPLEID, /**< Sample ID (shouldn't be set by user) */
- GEN_SAMPLEMODE, /**< Sample mode flags */
- GEN_RESERVED3, /**< Reserved */
- GEN_SCALETUNE, /**< Scale tuning */
- GEN_EXCLUSIVECLASS, /**< Exclusive class number */
- 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
- * is used, however, as the destination for the default pitch wheel
- * modulator. */
- GEN_PITCH, /**< Pitch (NOTE: Not a real SoundFont generator) */
- GEN_LAST /**< Value defines the count of generators (#fluid_gen_type) */
-};
-
-
-/**
- * SoundFont generator structure.
- */
-typedef struct _fluid_gen_t
+enum fluid_gen_type
{
- unsigned char flags; /**< Is the generator set or not (#fluid_gen_flags) */
- double val; /**< The nominal value */
- double mod; /**< Change by modulators */
- double nrpn; /**< Change by NRPN messages */
-} fluid_gen_t;
+ GEN_STARTADDROFS, /**< Sample start address offset (0-32767) */
+ GEN_ENDADDROFS, /**< Sample end address offset (-32767-0) */
+ GEN_STARTLOOPADDROFS, /**< Sample loop start address offset (-32767-32767) */
+ GEN_ENDLOOPADDROFS, /**< Sample loop end address offset (-32767-32767) */
+ GEN_STARTADDRCOARSEOFS, /**< Sample start address coarse offset (X 32768) */
+ GEN_MODLFOTOPITCH, /**< Modulation LFO to pitch */
+ GEN_VIBLFOTOPITCH, /**< Vibrato LFO to pitch */
+ GEN_MODENVTOPITCH, /**< Modulation envelope to pitch */
+ GEN_FILTERFC, /**< Filter cutoff */
+ GEN_FILTERQ, /**< Filter Q */
+ GEN_MODLFOTOFILTERFC, /**< Modulation LFO to filter cutoff */
+ GEN_MODENVTOFILTERFC, /**< Modulation envelope to filter cutoff */
+ GEN_ENDADDRCOARSEOFS, /**< Sample end address coarse offset (X 32768) */
+ GEN_MODLFOTOVOL, /**< Modulation LFO to volume */
+ GEN_UNUSED1, /**< Unused */
+ GEN_CHORUSSEND, /**< Chorus send amount */
+ GEN_REVERBSEND, /**< Reverb send amount */
+ GEN_PAN, /**< Stereo panning */
+ GEN_UNUSED2, /**< Unused */
+ GEN_UNUSED3, /**< Unused */
+ GEN_UNUSED4, /**< Unused */
+ GEN_MODLFODELAY, /**< Modulation LFO delay */
+ GEN_MODLFOFREQ, /**< Modulation LFO frequency */
+ GEN_VIBLFODELAY, /**< Vibrato LFO delay */
+ GEN_VIBLFOFREQ, /**< Vibrato LFO frequency */
+ GEN_MODENVDELAY, /**< Modulation envelope delay */
+ GEN_MODENVATTACK, /**< Modulation envelope attack */
+ GEN_MODENVHOLD, /**< Modulation envelope hold */
+ GEN_MODENVDECAY, /**< Modulation envelope decay */
+ GEN_MODENVSUSTAIN, /**< Modulation envelope sustain */
+ GEN_MODENVRELEASE, /**< Modulation envelope release */
+ GEN_KEYTOMODENVHOLD, /**< Key to modulation envelope hold */
+ GEN_KEYTOMODENVDECAY, /**< Key to modulation envelope decay */
+ GEN_VOLENVDELAY, /**< Volume envelope delay */
+ GEN_VOLENVATTACK, /**< Volume envelope attack */
+ GEN_VOLENVHOLD, /**< Volume envelope hold */
+ GEN_VOLENVDECAY, /**< Volume envelope decay */
+ GEN_VOLENVSUSTAIN, /**< Volume envelope sustain */
+ GEN_VOLENVRELEASE, /**< Volume envelope release */
+ GEN_KEYTOVOLENVHOLD, /**< Key to volume envelope hold */
+ GEN_KEYTOVOLENVDECAY, /**< Key to volume envelope decay */
+ GEN_INSTRUMENT, /**< Instrument ID (shouldn't be set by user) */
+ GEN_RESERVED1, /**< Reserved */
+ GEN_KEYRANGE, /**< MIDI note range */
+ GEN_VELRANGE, /**< MIDI velocity range */
+ GEN_STARTLOOPADDRCOARSEOFS, /**< Sample start loop address coarse offset (X 32768) */
+ GEN_KEYNUM, /**< Fixed MIDI note number */
+ GEN_VELOCITY, /**< Fixed MIDI velocity value */
+ GEN_ATTENUATION, /**< Initial volume attenuation */
+ GEN_RESERVED2, /**< Reserved */
+ GEN_ENDLOOPADDRCOARSEOFS, /**< Sample end loop address coarse offset (X 32768) */
+ GEN_COARSETUNE, /**< Coarse tuning */
+ GEN_FINETUNE, /**< Fine tuning */
+ GEN_SAMPLEID, /**< Sample ID (shouldn't be set by user) */
+ GEN_SAMPLEMODE, /**< Sample mode flags */
+ GEN_RESERVED3, /**< Reserved */
+ GEN_SCALETUNE, /**< Scale tuning */
+ GEN_EXCLUSIVECLASS, /**< Exclusive class number */
+ GEN_OVERRIDEROOTKEY, /**< Sample root note override */
-/**
- * Enum value for 'flags' field of #fluid_gen_t (not really flags).
- */
-enum fluid_gen_flags
-{
- GEN_UNUSED, /**< Generator value is not set */
- GEN_SET, /**< Generator value is set */
- GEN_ABS_NRPN /**< Generator is an absolute value */
-};
+ /* the initial pitch is not a "standard" generator. It is not
+ * mentioned in the list of generator in the SF2 specifications. It
+ * is used, however, as the destination for the default pitch wheel
+ * modulator. */
+ GEN_PITCH, /**< Pitch @note Not a real SoundFont generator */
-FLUIDSYNTH_API int fluid_gen_set_default_values(fluid_gen_t* gen);
+ GEN_CUSTOM_BALANCE, /**< Balance @note Not a real SoundFont generator */
+ /* non-standard generator for an additional custom high- or low-pass filter */
+ GEN_CUSTOM_FILTERFC, /**< Custom filter cutoff frequency */
+ GEN_CUSTOM_FILTERQ, /**< Custom filter Q */
+#ifndef __DOXYGEN__
+ GEN_LAST /**< @internal Value defines the count of generators (#fluid_gen_type) @warning This symbol is not part of the public API and ABI stability guarantee and may change at any time! */
+#endif
+};
#ifdef __cplusplus