Main Page | Data Structures | File List | Data Fields | Globals

gen.h

Go to the documentation of this file.
00001 /* FluidSynth - A Software Synthesizer 00002 * 00003 * Copyright (C) 2003 Peter Hanappe and others. 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Library General Public License 00007 * as published by the Free Software Foundation; either version 2 of 00008 * the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, but 00011 * WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Library General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Library General Public 00016 * License along with this library; if not, write to the Free 00017 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 00018 * 02111-1307, USA 00019 */ 00020 00021 #ifndef _FLUIDSYNTH_GEN_H 00022 #define _FLUIDSYNTH_GEN_H 00023 00024 #ifdef __cplusplus 00025 extern "C" { 00026 #endif 00027 00028 00031 enum fluid_gen_type { 00032 GEN_STARTADDROFS, 00033 GEN_ENDADDROFS, 00034 GEN_STARTLOOPADDROFS, 00035 GEN_ENDLOOPADDROFS, 00036 GEN_STARTADDRCOARSEOFS, 00037 GEN_MODLFOTOPITCH, 00038 GEN_VIBLFOTOPITCH, 00039 GEN_MODENVTOPITCH, 00040 GEN_FILTERFC, 00041 GEN_FILTERQ, 00042 GEN_MODLFOTOFILTERFC, 00043 GEN_MODENVTOFILTERFC, 00044 GEN_ENDADDRCOARSEOFS, 00045 GEN_MODLFOTOVOL, 00046 GEN_UNUSED1, 00047 GEN_CHORUSSEND, 00048 GEN_REVERBSEND, 00049 GEN_PAN, 00050 GEN_UNUSED2, 00051 GEN_UNUSED3, 00052 GEN_UNUSED4, 00053 GEN_MODLFODELAY, 00054 GEN_MODLFOFREQ, 00055 GEN_VIBLFODELAY, 00056 GEN_VIBLFOFREQ, 00057 GEN_MODENVDELAY, 00058 GEN_MODENVATTACK, 00059 GEN_MODENVHOLD, 00060 GEN_MODENVDECAY, 00061 GEN_MODENVSUSTAIN, 00062 GEN_MODENVRELEASE, 00063 GEN_KEYTOMODENVHOLD, 00064 GEN_KEYTOMODENVDECAY, 00065 GEN_VOLENVDELAY, 00066 GEN_VOLENVATTACK, 00067 GEN_VOLENVHOLD, 00068 GEN_VOLENVDECAY, 00069 GEN_VOLENVSUSTAIN, 00070 GEN_VOLENVRELEASE, 00071 GEN_KEYTOVOLENVHOLD, 00072 GEN_KEYTOVOLENVDECAY, 00073 GEN_INSTRUMENT, 00074 GEN_RESERVED1, 00075 GEN_KEYRANGE, 00076 GEN_VELRANGE, 00077 GEN_STARTLOOPADDRCOARSEOFS, 00078 GEN_KEYNUM, 00079 GEN_VELOCITY, 00080 GEN_ATTENUATION, 00081 GEN_RESERVED2, 00082 GEN_ENDLOOPADDRCOARSEOFS, 00083 GEN_COARSETUNE, 00084 GEN_FINETUNE, 00085 GEN_SAMPLEID, 00086 GEN_SAMPLEMODE, 00087 GEN_RESERVED3, 00088 GEN_SCALETUNE, 00089 GEN_EXCLUSIVECLASS, 00090 GEN_OVERRIDEROOTKEY, 00091 00092 /* the initial pitch is not a "standard" generator. It is not 00093 * mentioned in the list of generator in the SF2 specifications. It 00094 * is used, however, as the destination for the default pitch wheel 00095 * modulator. */ 00096 GEN_PITCH, 00097 GEN_LAST 00098 }; 00099 00100 00101 /* 00102 * fluid_gen_t 00103 * Sound font generator 00104 */ 00105 typedef struct _fluid_gen_t 00106 { 00107 unsigned char flags; /* is it used or not */ 00108 double val; /* The nominal value */ 00109 double mod; /* Change by modulators */ 00110 double nrpn; /* Change by NRPN messages */ 00111 } fluid_gen_t; 00112 00113 enum fluid_gen_flags 00114 { 00115 GEN_UNUSED, 00116 GEN_SET, 00117 GEN_ABS_NRPN 00118 }; 00119 00121 FLUIDSYNTH_API int fluid_gen_set_default_values(fluid_gen_t* gen); 00122 00123 00124 00125 #ifdef __cplusplus 00126 } 00127 #endif 00128 #endif /* _FLUIDSYNTH_GEN_H */ 00129

Generated on Sat Jun 11 17:30:08 2005 for libfluidsynth by doxygen 1.3.8