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

voice.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_VOICE_H
00022 #define _FLUIDSYNTH_VOICE_H
00023 
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif
00027 
00028 
00029   /*
00030    *  The interface to the synthesizer's voices
00031    *  Examples on using them can be found in fluid_defsfont.c
00032    */
00033 
00038 FLUIDSYNTH_API void fluid_voice_update_param(fluid_voice_t* voice, int gen); 
00039 
00040 
00041   /* for fluid_voice_add_mod */
00042 enum fluid_voice_add_mod{
00043   FLUID_VOICE_OVERWRITE,
00044   FLUID_VOICE_ADD,
00045   FLUID_VOICE_DEFAULT
00046 };
00047 
00048   /* Add a modulator to a voice (SF2.1 only). */
00049 FLUIDSYNTH_API void fluid_voice_add_mod(fluid_voice_t* voice, fluid_mod_t* mod, int mode);
00050 
00052 FLUIDSYNTH_API void fluid_voice_gen_set(fluid_voice_t* voice, int gen, float val);
00053 
00055 FLUIDSYNTH_API float fluid_voice_gen_get(fluid_voice_t* voice, int gen);
00056 
00058 FLUIDSYNTH_API void fluid_voice_gen_incr(fluid_voice_t* voice, int gen, float val);
00059 
00060 
00072 FLUIDSYNTH_API unsigned int fluid_voice_get_id(fluid_voice_t* voice);
00073 
00074 
00075 FLUIDSYNTH_API int fluid_voice_is_playing(fluid_voice_t* voice);
00076 
00089 FLUIDSYNTH_API int fluid_voice_optimize_sample(fluid_sample_t* s);
00090        
00091     
00092 
00093 #ifdef __cplusplus
00094 }
00095 #endif
00096 #endif /* _FLUIDSYNTH_VOICE_H */
00097 

Generated on Sun Nov 30 06:16:37 2003 for libfluidsynth by doxygen 1.3.3