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 };
00118 
00120 FLUIDSYNTH_API int fluid_gen_set_default_values(fluid_gen_t* gen);
00121 
00122 
00123 
00124 #ifdef __cplusplus
00125 }
00126 #endif
00127 #endif /* _FLUIDSYNTH_GEN_H */
00128 

Generated on Thu Mar 13 19:09:34 2003 for libfluidsynth by doxygen1.2.15