1 /* FluidSynth - A Software Synthesizer
3 * Copyright (C) 2003 Peter Hanappe and others.
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.
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.
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 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
32 #if defined(FLUIDSYNTH_DLL_EXPORTS)
33 #define FLUIDSYNTH_API __declspec(dllexport)
34 #elif defined(FLUIDSYNTH_NOT_A_DLL)
35 #define FLUIDSYNTH_API
37 #define FLUIDSYNTH_API __declspec(dllimport)
41 #define FLUIDSYNTH_API __declspec(export)
43 #elif defined(__GNUC__)
44 #define FLUIDSYNTH_API __attribute__ ((visibility ("default")))
46 #define FLUIDSYNTH_API
49 #define FLUIDSYNTH_API
54 * @brief FluidSynth is a real-time synthesizer designed for SoundFont(R) files.
56 * This is the header of the fluidsynth library and contains the
57 * synthesizer's public API.
59 * Depending on how you want to use or extend the synthesizer you
60 * will need different API functions. You probably do not need all
61 * of them. Here is what you might want to do:
63 * - Embedded synthesizer: create a new synthesizer and send MIDI
64 * events to it. The sound goes directly to the audio output of
67 * - Plugin synthesizer: create a synthesizer and send MIDI events
68 * but pull the audio back into your application.
70 * - SoundFont plugin: create a new type of "SoundFont" and allow
71 * the synthesizer to load your type of SoundFonts.
73 * - MIDI input: Create a MIDI handler to read the MIDI input on your
74 * machine and send the MIDI events directly to the synthesizer.
76 * - MIDI files: Open MIDI files and send the MIDI events to the
79 * - Command lines: You can send textual commands to the synthesizer.
81 * SoundFont(R) is a registered trademark of E-mu Systems, Inc.
84 #include "fluidsynth-lite/types.h"
85 #include "fluidsynth-lite/settings.h"
86 #include "fluidsynth-lite/synth.h"
87 #include "fluidsynth-lite/shell.h"
88 #include "fluidsynth-lite/sfont.h"
89 #include "fluidsynth-lite/ramsfont.h"
90 #include "fluidsynth-lite/audio.h"
91 #include "fluidsynth-lite/event.h"
92 #include "fluidsynth-lite/midi.h"
93 #include "fluidsynth-lite/seq.h"
94 #include "fluidsynth-lite/seqbind.h"
95 #include "fluidsynth-lite/log.h"
96 #include "fluidsynth-lite/misc.h"
97 #include "fluidsynth-lite/mod.h"
98 #include "fluidsynth-lite/gen.h"
99 #include "fluidsynth-lite/voice.h"
100 #include "fluidsynth-lite/version.h"
107 #endif /* _FLUIDSYNTH_H */