include/fluidsynth/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 
00036 enum fluid_gen_type {
00037   GEN_STARTADDROFS,             
00038   GEN_ENDADDROFS,               
00039   GEN_STARTLOOPADDROFS,         
00040   GEN_ENDLOOPADDROFS,           
00041   GEN_STARTADDRCOARSEOFS,       
00042   GEN_MODLFOTOPITCH,            
00043   GEN_VIBLFOTOPITCH,            
00044   GEN_MODENVTOPITCH,            
00045   GEN_FILTERFC,                 
00046   GEN_FILTERQ,                  
00047   GEN_MODLFOTOFILTERFC,         
00048   GEN_MODENVTOFILTERFC,         
00049   GEN_ENDADDRCOARSEOFS,         
00050   GEN_MODLFOTOVOL,              
00051   GEN_UNUSED1,                  
00052   GEN_CHORUSSEND,               
00053   GEN_REVERBSEND,               
00054   GEN_PAN,                      
00055   GEN_UNUSED2,                  
00056   GEN_UNUSED3,                  
00057   GEN_UNUSED4,                  
00058   GEN_MODLFODELAY,              
00059   GEN_MODLFOFREQ,               
00060   GEN_VIBLFODELAY,              
00061   GEN_VIBLFOFREQ,               
00062   GEN_MODENVDELAY,              
00063   GEN_MODENVATTACK,             
00064   GEN_MODENVHOLD,               
00065   GEN_MODENVDECAY,              
00066   GEN_MODENVSUSTAIN,            
00067   GEN_MODENVRELEASE,            
00068   GEN_KEYTOMODENVHOLD,          
00069   GEN_KEYTOMODENVDECAY,         
00070   GEN_VOLENVDELAY,              
00071   GEN_VOLENVATTACK,             
00072   GEN_VOLENVHOLD,               
00073   GEN_VOLENVDECAY,              
00074   GEN_VOLENVSUSTAIN,            
00075   GEN_VOLENVRELEASE,            
00076   GEN_KEYTOVOLENVHOLD,          
00077   GEN_KEYTOVOLENVDECAY,         
00078   GEN_INSTRUMENT,               
00079   GEN_RESERVED1,                
00080   GEN_KEYRANGE,                 
00081   GEN_VELRANGE,                 
00082   GEN_STARTLOOPADDRCOARSEOFS,   
00083   GEN_KEYNUM,                   
00084   GEN_VELOCITY,                 
00085   GEN_ATTENUATION,              
00086   GEN_RESERVED2,                
00087   GEN_ENDLOOPADDRCOARSEOFS,     
00088   GEN_COARSETUNE,               
00089   GEN_FINETUNE,                 
00090   GEN_SAMPLEID,                 
00091   GEN_SAMPLEMODE,               
00092   GEN_RESERVED3,                
00093   GEN_SCALETUNE,                
00094   GEN_EXCLUSIVECLASS,           
00095   GEN_OVERRIDEROOTKEY,          
00097   /* the initial pitch is not a "standard" generator. It is not
00098    * mentioned in the list of generator in the SF2 specifications. It
00099    * is used, however, as the destination for the default pitch wheel
00100    * modulator. */
00101   GEN_PITCH,                    
00102   GEN_LAST                      
00103 };
00104 
00105 
00109 typedef struct _fluid_gen_t
00110 {
00111   unsigned char flags; 
00112   double val;          
00113   double mod;          
00114   double nrpn;         
00115 } fluid_gen_t;
00116 
00120 enum fluid_gen_flags
00121 {
00122   GEN_UNUSED,           
00123   GEN_SET,              
00124   GEN_ABS_NRPN          
00125 };
00126 
00127 FLUIDSYNTH_API int fluid_gen_set_default_values(fluid_gen_t* gen);
00128 
00129 
00130 
00131 #ifdef __cplusplus
00132 }
00133 #endif
00134 #endif /* _FLUIDSYNTH_GEN_H */
00135 

Generated on Sat Nov 17 13:40:23 2007 for libfluidsynth by  doxygen 1.5.3