Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
wine-mirror
GitHub Repository: wine-mirror/wine
Path: blob/master/libs/fluidsynth/include/fluidsynth.h
4389 views
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 Lesser General Public License
7
* as published by the Free Software Foundation; either version 2.1 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
* Lesser General Public License for more details.
14
*
15
* You should have received a copy of the GNU Lesser 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
19
*/
20
21
#ifndef _FLUIDSYNTH_H
22
#define _FLUIDSYNTH_H
23
24
#include <stdio.h>
25
26
#ifdef __cplusplus
27
extern "C" {
28
#endif
29
30
#define BUILD_SHARED_LIBS 0
31
32
#if (BUILD_SHARED_LIBS == 0)
33
#define FLUIDSYNTH_API // building static lib? no visibility control then
34
#elif defined(WIN32)
35
#if defined(FLUIDSYNTH_NOT_A_DLL)
36
#define FLUIDSYNTH_API
37
#elif defined(FLUIDSYNTH_DLL_EXPORTS)
38
#define FLUIDSYNTH_API __declspec(dllexport)
39
#else
40
#define FLUIDSYNTH_API __declspec(dllimport)
41
#endif
42
43
#elif defined(MACOS9)
44
#define FLUIDSYNTH_API __declspec(export)
45
46
#elif defined(__OS2__)
47
#define FLUIDSYNTH_API __declspec(dllexport)
48
49
#elif defined(__GNUC__)
50
#define FLUIDSYNTH_API __attribute__ ((visibility ("default")))
51
52
#else
53
#define FLUIDSYNTH_API
54
55
#endif
56
57
#if 1 /* Wine-specific code */
58
# define FLUID_DEPRECATED
59
#else /* Wine-specific code */
60
#if defined(__GNUC__) || defined(__clang__)
61
# define FLUID_DEPRECATED __attribute__((deprecated))
62
#elif defined(_MSC_VER) && _MSC_VER > 1200
63
# define FLUID_DEPRECATED __declspec(deprecated)
64
#else
65
# define FLUID_DEPRECATED
66
#endif
67
#endif /* Wine-specific code */
68
69
70
/**
71
* @file fluidsynth.h
72
* @brief FluidSynth is a real-time synthesizer designed for SoundFont(R) files.
73
*
74
* This is the header of the fluidsynth library and contains the
75
* synthesizer's public API.
76
*
77
* Depending on how you want to use or extend the synthesizer you
78
* will need different API functions. You probably do not need all
79
* of them. Here is what you might want to do:
80
*
81
* - Embedded synthesizer: create a new synthesizer and send MIDI
82
* events to it. The sound goes directly to the audio output of
83
* your system.
84
*
85
* - Plugin synthesizer: create a synthesizer and send MIDI events
86
* but pull the audio back into your application.
87
*
88
* - SoundFont plugin: create a new type of "SoundFont" and allow
89
* the synthesizer to load your type of SoundFonts.
90
*
91
* - MIDI input: Create a MIDI handler to read the MIDI input on your
92
* machine and send the MIDI events directly to the synthesizer.
93
*
94
* - MIDI files: Open MIDI files and send the MIDI events to the
95
* synthesizer.
96
*
97
* - Command lines: You can send textual commands to the synthesizer.
98
*
99
* SoundFont(R) is a registered trademark of E-mu Systems, Inc.
100
*/
101
102
#include "fluidsynth/types.h"
103
#include "fluidsynth/settings.h"
104
#include "fluidsynth/synth.h"
105
#include "fluidsynth/shell.h"
106
#include "fluidsynth/sfont.h"
107
#include "fluidsynth/audio.h"
108
#include "fluidsynth/event.h"
109
#include "fluidsynth/midi.h"
110
#include "fluidsynth/seq.h"
111
#include "fluidsynth/seqbind.h"
112
#include "fluidsynth/log.h"
113
#include "fluidsynth/misc.h"
114
#include "fluidsynth/mod.h"
115
#include "fluidsynth/gen.h"
116
#include "fluidsynth/voice.h"
117
#include "fluidsynth/version.h"
118
#include "fluidsynth/ladspa.h"
119
120
121
#ifdef __cplusplus
122
}
123
#endif
124
125
#endif /* _FLUIDSYNTH_H */
126
127