fluid_ramsfont.h
上传用户:tjmskj2
上传日期:2020-08-17
资源大小:577k
文件大小:2k
源码类别:

midi

开发平台:

C/C++

  1. /* FluidSynth - A Software Synthesizer
  2.  *
  3.  * Copyright (C) 2003  Peter Hanappe and others.
  4.  *
  5.  * This library is free software; you can redistribute it and/or
  6.  * modify it under the terms of the GNU Library General Public License
  7.  * as published by the Free Software Foundation; either version 2 of
  8.  * the License, or (at your option) any later version.
  9.  *
  10.  * This library is distributed in the hope that it will be useful, but
  11.  * WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  13.  * Library General Public License for more details.
  14.  *
  15.  * You should have received a copy of the GNU Library General Public
  16.  * License along with this library; if not, write to the Free
  17.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
  18.  * 02111-1307, USA
  19.  */
  20. #ifndef _FLUID_RAMSFONT_H
  21. #define _FLUID_RAMSFONT_H
  22. #include "fluidsynth.h"
  23. #include "fluidsynth_priv.h"
  24. #include "fluid_defsfont.h"
  25. #ifdef __cplusplus
  26. extern "C" {
  27. #endif
  28.   /*
  29.  * fluid_ramsfont_t
  30.  */
  31. struct _fluid_ramsfont_t
  32. {
  33.   char name[21];                        /* the name of the soundfont */
  34.   fluid_list_t* sample;    /* the samples in this soundfont */
  35.   fluid_rampreset_t* preset;    /* the presets of this soundfont */
  36.   fluid_preset_t iter_preset;        /* preset interface used in the iteration */
  37.   fluid_rampreset_t* iter_cur;       /* the current preset in the iteration */
  38. };
  39. /*
  40.  * fluid_preset_t
  41.  */
  42. struct _fluid_rampreset_t
  43. {
  44.   fluid_rampreset_t* next;
  45.   fluid_ramsfont_t* sfont;                  /* the soundfont this preset belongs to */
  46.   char name[21];                        /* the name of the preset */
  47.   unsigned int bank;                    /* the bank number */
  48.   unsigned int num;                     /* the preset number */
  49.   fluid_preset_zone_t* global_zone;        /* the global zone of the preset */
  50.   fluid_preset_zone_t* zone;               /* the chained list of preset zones */
  51.   fluid_list_t *presetvoices; /* chained list of used voices */
  52. };
  53. #ifdef __cplusplus
  54. }
  55. #endif
  56. #endif  /* _FLUID_SFONT_H */