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 
00057 
00058 
00070 FLUIDSYNTH_API unsigned int fluid_voice_get_id(fluid_voice_t* voice);
00071 
00072 
00073 FLUIDSYNTH_API int fluid_voice_is_playing(fluid_voice_t* voice);
00074 
00075     
00076 
00077 #ifdef __cplusplus
00078 }
00079 #endif
00080 #endif /* _FLUIDSYNTH_VOICE_H */
00081 

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