2018-06-14 00:40:17 +01:00
/* FluidSynth - A Software Synthesizer
*
* Copyright (C) 2003 Peter Hanappe and others.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
2019-06-22 20:03:47 +01:00
*
2018-06-14 00:40:17 +01:00
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA
*/
#ifndef _FLUIDSYNTH_TYPES_H
#define _FLUIDSYNTH_TYPES_H
#ifdef __cplusplus
extern "C" {
#endif
/**
* @file types.h
* @brief Type declarations
*/
typedef struct _fluid_hashtable_t fluid_settings_t ; /**< Configuration settings instance */
typedef struct _fluid_synth_t fluid_synth_t ; /**< Synthesizer instance */
typedef struct _fluid_voice_t fluid_voice_t ; /**< Synthesis voice instance */
typedef struct _fluid_sfloader_t fluid_sfloader_t ; /**< SoundFont loader plugin */
typedef struct _fluid_sfont_t fluid_sfont_t ; /**< SoundFont */
typedef struct _fluid_preset_t fluid_preset_t ; /**< SoundFont preset */
typedef struct _fluid_sample_t fluid_sample_t ; /**< SoundFont sample */
typedef struct _fluid_mod_t fluid_mod_t ; /**< SoundFont modulator */
typedef struct _fluid_audio_driver_t fluid_audio_driver_t ; /**< Audio driver instance */
typedef struct _fluid_file_renderer_t fluid_file_renderer_t ; /**< Audio file renderer instance */
typedef struct _fluid_player_t fluid_player_t ; /**< MIDI player instance */
typedef struct _fluid_midi_event_t fluid_midi_event_t ; /**< MIDI event */
typedef struct _fluid_midi_driver_t fluid_midi_driver_t ; /**< MIDI driver instance */
typedef struct _fluid_midi_router_t fluid_midi_router_t ; /**< MIDI router instance */
typedef struct _fluid_midi_router_rule_t fluid_midi_router_rule_t ; /**< MIDI router rule */
2018-06-17 15:56:35 +01:00
typedef struct _fluid_hashtable_t fluid_cmd_hash_t ; /**< Command handler hash table */
2018-06-14 00:40:17 +01:00
typedef struct _fluid_shell_t fluid_shell_t ; /**< Command shell */
typedef struct _fluid_server_t fluid_server_t ; /**< TCP/IP shell server instance */
typedef struct _fluid_event_t fluid_event_t ; /**< Sequencer event */
typedef struct _fluid_sequencer_t fluid_sequencer_t ; /**< Sequencer instance */
typedef struct _fluid_ramsfont_t fluid_ramsfont_t ; /**< RAM SoundFont */
typedef struct _fluid_rampreset_t fluid_rampreset_t ; /**< RAM SoundFont preset */
2018-06-17 15:56:35 +01:00
typedef struct _fluid_cmd_handler_t fluid_cmd_handler_t ; /**< Shell Command Handler */
typedef struct _fluid_ladspa_fx_t fluid_ladspa_fx_t ; /**< LADSPA effects instance */
typedef struct _fluid_file_callbacks_t fluid_file_callbacks_t ; /**< Callback struct to perform custom file loading of soundfonts */
2018-06-14 00:40:17 +01:00
typedef int fluid_istream_t ; /**< Input stream descriptor */
typedef int fluid_ostream_t ; /**< Output stream descriptor */
typedef short fluid_seq_id_t ; /**< Unique client IDs used by the sequencer and #fluid_event_t, obtained by fluid_sequencer_register_client() and fluid_sequencer_register_fluidsynth() */
#ifdef __cplusplus
}
#endif
#endif /* _FLUIDSYNTH_TYPES_H */