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
1.2.15