diff --git a/doc/Doxyfile.cmake b/doc/Doxyfile.cmake index 1757cffa..b5b8760e 100644 --- a/doc/Doxyfile.cmake +++ b/doc/Doxyfile.cmake @@ -24,7 +24,9 @@ MULTILINE_CPP_IS_BRIEF = NO INHERIT_DOCS = YES SEPARATE_MEMBER_PAGES = NO TAB_SIZE = 8 -ALIASES = +ALIASES += startlifecycle{1}="\name Lifecycle Functions for \1\n@{" +ALIASES += startlifecycle="\name Lifecycle Functions\n@{" +ALIASES += endlifecycle="@}" OPTIMIZE_OUTPUT_FOR_C = YES OPTIMIZE_OUTPUT_JAVA = NO OPTIMIZE_FOR_FORTRAN = NO diff --git a/doc/doxygen/layout.xml b/doc/doxygen/layout.xml index 647cfa32..84e1ec9d 100644 --- a/doc/doxygen/layout.xml +++ b/doc/doxygen/layout.xml @@ -1,7 +1,11 @@ - + @@ -150,6 +154,7 @@ + @@ -159,7 +164,6 @@ - diff --git a/include/fluidsynth/audio.h b/include/fluidsynth/audio.h index 0ab5e596..4eca1788 100644 --- a/include/fluidsynth/audio.h +++ b/include/fluidsynth/audio.h @@ -81,6 +81,7 @@ typedef int (*fluid_audio_func_t)(void *data, int len, int nfx, float *fx[], int nout, float *out[]); +/** @startlifecycle{Audio Driver} */ FLUIDSYNTH_API fluid_audio_driver_t *new_fluid_audio_driver(fluid_settings_t *settings, fluid_synth_t *synth); @@ -89,6 +90,7 @@ FLUIDSYNTH_API fluid_audio_driver_t *new_fluid_audio_driver2(fluid_settings_t *s void *data); FLUIDSYNTH_API void delete_fluid_audio_driver(fluid_audio_driver_t *driver); +/** @endlifecycle */ FLUIDSYNTH_API int fluid_audio_driver_register(const char **adrivers); /* @} */ @@ -109,9 +111,13 @@ FLUIDSYNTH_API int fluid_audio_driver_register(const char **adrivers); * * @{ */ + +/** @startlifecycle{File Renderer} */ FLUIDSYNTH_API fluid_file_renderer_t *new_fluid_file_renderer(fluid_synth_t *synth); -FLUIDSYNTH_API int fluid_file_renderer_process_block(fluid_file_renderer_t *dev); FLUIDSYNTH_API void delete_fluid_file_renderer(fluid_file_renderer_t *dev); +/** @endlifecycle */ + +FLUIDSYNTH_API int fluid_file_renderer_process_block(fluid_file_renderer_t *dev); FLUIDSYNTH_API int fluid_file_set_encoding_quality(fluid_file_renderer_t *dev, double q); /* @} */ diff --git a/include/fluidsynth/event.h b/include/fluidsynth/event.h index d5638f32..3da4ce23 100644 --- a/include/fluidsynth/event.h +++ b/include/fluidsynth/event.h @@ -67,8 +67,10 @@ enum fluid_seq_event_type }; /* Event alloc/free */ +/** @startlifecycle{Sequencer Event} */ FLUIDSYNTH_API fluid_event_t *new_fluid_event(void); FLUIDSYNTH_API void delete_fluid_event(fluid_event_t *evt); +/** @endlifecycle */ /* Initializing events */ FLUIDSYNTH_API void fluid_event_set_source(fluid_event_t *evt, fluid_seq_id_t src); diff --git a/include/fluidsynth/midi.h b/include/fluidsynth/midi.h index 43253df0..a0cd3029 100644 --- a/include/fluidsynth/midi.h +++ b/include/fluidsynth/midi.h @@ -71,8 +71,10 @@ typedef int (*handle_midi_event_func_t)(void *data, fluid_midi_event_t *event); * * @{ */ +/** @startlifecycle{MIDI Event} */ FLUIDSYNTH_API fluid_midi_event_t *new_fluid_midi_event(void); FLUIDSYNTH_API void delete_fluid_midi_event(fluid_midi_event_t *event); +/** @endlifecycle */ FLUIDSYNTH_API int fluid_midi_event_set_type(fluid_midi_event_t *evt, int type); FLUIDSYNTH_API int fluid_midi_event_get_type(fluid_midi_event_t *evt); @@ -130,16 +132,24 @@ typedef enum } fluid_midi_router_rule_type; +/** @startlifecycle{MIDI Router} */ FLUIDSYNTH_API fluid_midi_router_t *new_fluid_midi_router(fluid_settings_t *settings, handle_midi_event_func_t handler, void *event_handler_data); FLUIDSYNTH_API void delete_fluid_midi_router(fluid_midi_router_t *handler); +/** @endlifecycle */ + FLUIDSYNTH_API int fluid_midi_router_set_default_rules(fluid_midi_router_t *router); FLUIDSYNTH_API int fluid_midi_router_clear_rules(fluid_midi_router_t *router); FLUIDSYNTH_API int fluid_midi_router_add_rule(fluid_midi_router_t *router, fluid_midi_router_rule_t *rule, int type); + + +/** @startlifecycle{MIDI Router Rule} */ FLUIDSYNTH_API fluid_midi_router_rule_t *new_fluid_midi_router_rule(void); FLUIDSYNTH_API void delete_fluid_midi_router_rule(fluid_midi_router_rule_t *rule); +/** @endlifecycle */ + FLUIDSYNTH_API void fluid_midi_router_rule_set_chan(fluid_midi_router_rule_t *rule, int min, int max, float mul, int add); FLUIDSYNTH_API void fluid_midi_router_rule_set_param1(fluid_midi_router_rule_t *rule, @@ -170,12 +180,16 @@ FLUIDSYNTH_API int fluid_midi_dump_postrouter(void *data, fluid_midi_event_t *ev * * @{ */ + +/** @startlifecycle{MIDI Driver} */ FLUIDSYNTH_API fluid_midi_driver_t *new_fluid_midi_driver(fluid_settings_t *settings, handle_midi_event_func_t handler, void *event_handler_data); FLUIDSYNTH_API void delete_fluid_midi_driver(fluid_midi_driver_t *driver); +/** @endlifecycle */ + /* @} */ /** @@ -198,8 +212,11 @@ enum fluid_player_status FLUID_PLAYER_DONE /**< Player is finished playing */ }; +/** @startlifecycle{MIDI Player} */ FLUIDSYNTH_API fluid_player_t *new_fluid_player(fluid_synth_t *synth); FLUIDSYNTH_API void delete_fluid_player(fluid_player_t *player); +/** @endlifecycle */ + FLUIDSYNTH_API int fluid_player_add(fluid_player_t *player, const char *midifile); FLUIDSYNTH_API int fluid_player_add_mem(fluid_player_t *player, const void *buffer, size_t len); FLUIDSYNTH_API int fluid_player_play(fluid_player_t *player); diff --git a/include/fluidsynth/mod.h b/include/fluidsynth/mod.h index b6c7f168..98a00b0c 100644 --- a/include/fluidsynth/mod.h +++ b/include/fluidsynth/mod.h @@ -72,8 +72,11 @@ enum fluid_mod_src FLUID_MOD_PITCHWHEELSENS = 16 /**< Pitch wheel sensitivity */ }; +/** @startlifecycle{Modulator} */ FLUIDSYNTH_API fluid_mod_t *new_fluid_mod(void); FLUIDSYNTH_API void delete_fluid_mod(fluid_mod_t *mod); +/** @endlifecycle */ + FLUIDSYNTH_API size_t fluid_mod_sizeof(void); FLUIDSYNTH_API void fluid_mod_set_source1(fluid_mod_t *mod, int src, int flags); diff --git a/include/fluidsynth/seq.h b/include/fluidsynth/seq.h index 5b335744..549c9cfd 100644 --- a/include/fluidsynth/seq.h +++ b/include/fluidsynth/seq.h @@ -50,9 +50,12 @@ typedef void (*fluid_event_callback_t)(unsigned int time, fluid_event_t *event, fluid_sequencer_t *seq, void *data); +/** @startlifecycle{MIDI Sequencer} */ FLUID_DEPRECATED FLUIDSYNTH_API fluid_sequencer_t *new_fluid_sequencer(void); FLUIDSYNTH_API fluid_sequencer_t *new_fluid_sequencer2(int use_system_timer); FLUIDSYNTH_API void delete_fluid_sequencer(fluid_sequencer_t *seq); +/** @endlifecycle */ + FLUIDSYNTH_API int fluid_sequencer_get_use_system_timer(fluid_sequencer_t *seq); FLUIDSYNTH_API fluid_seq_id_t fluid_sequencer_register_client(fluid_sequencer_t *seq, const char *name, diff --git a/include/fluidsynth/settings.h b/include/fluidsynth/settings.h index 2cfdb1f2..a8b3cb85 100644 --- a/include/fluidsynth/settings.h +++ b/include/fluidsynth/settings.h @@ -99,9 +99,10 @@ enum fluid_types_enum FLUID_SET_TYPE /**< Set of values */ }; - +/** @startlifecycle{Settings} */ FLUIDSYNTH_API fluid_settings_t *new_fluid_settings(void); FLUIDSYNTH_API void delete_fluid_settings(fluid_settings_t *settings); +/** @endlifecycle */ FLUIDSYNTH_API int fluid_settings_get_type(fluid_settings_t *settings, const char *name); diff --git a/include/fluidsynth/sfont.h b/include/fluidsynth/sfont.h index d41c6e70..b29d8b49 100644 --- a/include/fluidsynth/sfont.h +++ b/include/fluidsynth/sfont.h @@ -127,10 +127,12 @@ typedef fluid_sfont_t *(*fluid_sfloader_load_t)(fluid_sfloader_t *loader, const typedef void (*fluid_sfloader_free_t)(fluid_sfloader_t *loader); +/** @startlifecycle{SoundFont Loader} */ FLUIDSYNTH_API fluid_sfloader_t *new_fluid_sfloader(fluid_sfloader_load_t load, fluid_sfloader_free_t free); FLUIDSYNTH_API void delete_fluid_sfloader(fluid_sfloader_t *loader); FLUIDSYNTH_API fluid_sfloader_t *new_fluid_defsfloader(fluid_settings_t *settings); +/** @endlifecycle */ /** * Opens the file or memory indicated by \c filename in binary read mode. @@ -233,6 +235,7 @@ typedef fluid_preset_t *(*fluid_sfont_iteration_next_t)(fluid_sfont_t *sfont); typedef int (*fluid_sfont_free_t)(fluid_sfont_t *sfont); +/** @startlifecycle{SoundFont} */ FLUIDSYNTH_API fluid_sfont_t *new_fluid_sfont(fluid_sfont_get_name_t get_name, fluid_sfont_get_preset_t get_preset, fluid_sfont_iteration_start_t iter_start, @@ -240,6 +243,7 @@ FLUIDSYNTH_API fluid_sfont_t *new_fluid_sfont(fluid_sfont_get_name_t get_name, fluid_sfont_free_t free); FLUIDSYNTH_API int delete_fluid_sfont(fluid_sfont_t *sfont); +/** @endlifecycle */ FLUIDSYNTH_API int fluid_sfont_set_data(fluid_sfont_t *sfont, void *data); FLUIDSYNTH_API void *fluid_sfont_get_data(fluid_sfont_t *sfont); @@ -313,6 +317,7 @@ typedef int (*fluid_preset_noteon_t)(fluid_preset_t *preset, fluid_synth_t *synt */ typedef void (*fluid_preset_free_t)(fluid_preset_t *preset); +/** @startlifecycle{Preset} */ FLUIDSYNTH_API fluid_preset_t *new_fluid_preset(fluid_sfont_t *parent_sfont, fluid_preset_get_name_t get_name, fluid_preset_get_banknum_t get_bank, @@ -320,6 +325,7 @@ FLUIDSYNTH_API fluid_preset_t *new_fluid_preset(fluid_sfont_t *parent_sfont, fluid_preset_noteon_t noteon, fluid_preset_free_t free); FLUIDSYNTH_API void delete_fluid_preset(fluid_preset_t *preset); +/** @endlifecycle */ FLUIDSYNTH_API int fluid_preset_set_data(fluid_preset_t *preset, void *data); FLUIDSYNTH_API void *fluid_preset_get_data(fluid_preset_t *preset); @@ -329,8 +335,11 @@ FLUIDSYNTH_API int fluid_preset_get_banknum(fluid_preset_t *preset); FLUIDSYNTH_API int fluid_preset_get_num(fluid_preset_t *preset); FLUIDSYNTH_API fluid_sfont_t *fluid_preset_get_sfont(fluid_preset_t *preset); +/** @startlifecycle{Sample} */ FLUIDSYNTH_API fluid_sample_t *new_fluid_sample(void); FLUIDSYNTH_API void delete_fluid_sample(fluid_sample_t *sample); +/** @endlifecycle */ + FLUIDSYNTH_API size_t fluid_sample_sizeof(void); FLUIDSYNTH_API int fluid_sample_set_name(fluid_sample_t *sample, const char *name); diff --git a/include/fluidsynth/shell.h b/include/fluidsynth/shell.h index 63ca23a8..8df704ba 100644 --- a/include/fluidsynth/shell.h +++ b/include/fluidsynth/shell.h @@ -57,11 +57,14 @@ FLUIDSYNTH_API char *fluid_get_sysconf(char *buf, int len); * * @{ */ + +/** @startlifecycle{Command Handler} */ FLUIDSYNTH_API fluid_cmd_handler_t *new_fluid_cmd_handler(fluid_synth_t *synth, fluid_midi_router_t *router); FLUIDSYNTH_API void delete_fluid_cmd_handler(fluid_cmd_handler_t *handler); +/** @endlifecycle */ FLUIDSYNTH_API void fluid_cmd_handler_set_synth(fluid_cmd_handler_t *handler, fluid_synth_t *synth); @@ -87,14 +90,18 @@ int fluid_source(fluid_cmd_handler_t *handler, const char *filename); * * @{ */ -FLUIDSYNTH_API -void fluid_usershell(fluid_settings_t *settings, fluid_cmd_handler_t *handler); +/** @startlifecycle{Command Shell} */ FLUIDSYNTH_API fluid_shell_t *new_fluid_shell(fluid_settings_t *settings, fluid_cmd_handler_t *handler, fluid_istream_t in, fluid_ostream_t out, int thread); +FLUIDSYNTH_API +void fluid_usershell(fluid_settings_t *settings, fluid_cmd_handler_t *handler); + FLUIDSYNTH_API void delete_fluid_shell(fluid_shell_t *shell); +/** @endlifecycle */ + /* @} */ @@ -114,6 +121,8 @@ FLUIDSYNTH_API void delete_fluid_shell(fluid_shell_t *shell); * * @{ */ + +/** @startlifecycle{Command Server} */ FLUIDSYNTH_API fluid_server_t *new_fluid_server(fluid_settings_t *settings, fluid_synth_t *synth, fluid_midi_router_t *router); @@ -121,6 +130,8 @@ fluid_server_t *new_fluid_server(fluid_settings_t *settings, FLUIDSYNTH_API void delete_fluid_server(fluid_server_t *server); FLUIDSYNTH_API int fluid_server_join(fluid_server_t *server); +/** @endlifecycle */ + /* @} */ #ifdef __cplusplus diff --git a/include/fluidsynth/synth.h b/include/fluidsynth/synth.h index 14346fcc..48aaed37 100644 --- a/include/fluidsynth/synth.h +++ b/include/fluidsynth/synth.h @@ -47,8 +47,11 @@ extern "C" { * * @{ */ + +/** @startlifecycle{Synthesizer} */ FLUIDSYNTH_API fluid_synth_t *new_fluid_synth(fluid_settings_t *settings); FLUIDSYNTH_API void delete_fluid_synth(fluid_synth_t *synth); +/** @endlifecycle */ FLUIDSYNTH_API double fluid_synth_get_cpu_load(fluid_synth_t *synth); FLUID_DEPRECATED FLUIDSYNTH_API const char *fluid_synth_error(fluid_synth_t *synth);