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

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 _FLUIDSYNTH_H
  21. #define _FLUIDSYNTH_H
  22. #include <stdio.h>
  23. #ifdef __cplusplus
  24. extern "C" {
  25. #endif
  26. #if defined(WIN32)
  27. #if defined(FLUIDSYNTH_DLL_EXPORTS)
  28. #define FLUIDSYNTH_API __declspec(dllexport)
  29. #elif defined(FLUIDSYNTH_NOT_A_DLL)
  30. #define FLUIDSYNTH_API
  31. #else
  32. #define FLUIDSYNTH_API __declspec(dllimport)
  33. #endif
  34. #elif defined(MACOS9)
  35. #define FLUIDSYNTH_API __declspec(export)
  36. #else
  37. #define FLUIDSYNTH_API
  38. #endif
  39. /**
  40.  * @file fluidsynth.h
  41.  * @brief FluidSynth is a real-time synthesizer designed for SoundFont(R) files.
  42.  *
  43.  * This is the header of the fluidsynth library and contains the
  44.  * synthesizer's public API.
  45.  *
  46.  * Depending on how you want to use or extend the synthesizer you
  47.  * will need different API functions. You probably do not need all
  48.  * of them. Here is what you might want to do:
  49.  *
  50.  * - Embedded synthesizer: create a new synthesizer and send MIDI
  51.  *   events to it. The sound goes directly to the audio output of
  52.  *   your system.
  53.  *
  54.  * - Plugin synthesizer: create a synthesizer and send MIDI events
  55.  *   but pull the audio back into your application.
  56.  *
  57.  * - SoundFont plugin: create a new type of "SoundFont" and allow
  58.  *   the synthesizer to load your type of SoundFonts.
  59.  *
  60.  * - MIDI input: Create a MIDI handler to read the MIDI input on your
  61.  *   machine and send the MIDI events directly to the synthesizer.
  62.  *
  63.  * - MIDI files: Open MIDI files and send the MIDI events to the
  64.  *   synthesizer.
  65.  *
  66.  * - Command lines: You can send textual commands to the synthesizer.
  67.  *
  68.  * SoundFont(R) is a registered trademark of E-mu Systems, Inc.
  69.  */
  70. #include "fluidsynth/types.h"
  71. #include "fluidsynth/settings.h"
  72. #include "fluidsynth/synth.h"
  73. #include "fluidsynth/shell.h"
  74. #include "fluidsynth/sfont.h"
  75. #include "fluidsynth/ramsfont.h"
  76. #include "fluidsynth/audio.h"
  77. #include "fluidsynth/event.h"
  78. #include "fluidsynth/midi.h"
  79. #include "fluidsynth/seq.h"
  80. #include "fluidsynth/seqbind.h"
  81. #include "fluidsynth/log.h"
  82. #include "fluidsynth/misc.h"
  83. #include "fluidsynth/mod.h"
  84. #include "fluidsynth/gen.h"
  85. #include "fluidsynth/voice.h"
  86. #include "fluidsynth/version.h"
  87. #ifdef __cplusplus
  88. }
  89. #endif
  90. #endif /* _FLUIDSYNTH_H */