engine: reject mbf21 and shit24 wads. there is no way to know if it is safe to ignore...
[k8vavoom.git] / libs / fluidsynth_lite / include / fluidsynth-lite.h
blobd3061e6ae0dcc0b98e4f2577e896072970ca3544
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
18 * 02110-1301, USA
21 #ifndef _FLUIDSYNTH_H
22 #define _FLUIDSYNTH_H
24 #include <stdio.h>
26 #ifdef __cplusplus
27 extern "C" {
28 #endif
31 #if defined(WIN32)
32 #if defined(FLUIDSYNTH_DLL_EXPORTS)
33 #define FLUIDSYNTH_API __declspec(dllexport)
34 #elif defined(FLUIDSYNTH_NOT_A_DLL)
35 #define FLUIDSYNTH_API
36 #else
37 #define FLUIDSYNTH_API __declspec(dllimport)
38 #endif
40 #elif defined(MACOS9)
41 #define FLUIDSYNTH_API __declspec(export)
43 #elif defined(__GNUC__)
44 #define FLUIDSYNTH_API __attribute__ ((visibility ("default")))
45 #else
46 #define FLUIDSYNTH_API
47 #endif
49 #define FLUIDSYNTH_API
52 /**
53 * @file fluidsynth.h
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
65 * your system.
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
77 * synthesizer.
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"
103 #ifdef __cplusplus
105 #endif
107 #endif /* _FLUIDSYNTH_H */