Functions for audio driver output. More...
Typedefs | |
typedef int(* | fluid_audio_func_t )(void *data, int len, int nin, float **in, int nout, float **out) |
Callback function type used with new_fluid_audio_driver2() to allow for custom user audio processing before the audio is sent to the driver. | |
Functions | |
FLUIDSYNTH_API fluid_audio_driver_t * | new_fluid_audio_driver (fluid_settings_t *settings, fluid_synth_t *synth) |
Create a new audio driver. | |
FLUIDSYNTH_API fluid_audio_driver_t * | new_fluid_audio_driver2 (fluid_settings_t *settings, fluid_audio_func_t func, void *data) |
Create a new audio driver. | |
FLUIDSYNTH_API void | delete_fluid_audio_driver (fluid_audio_driver_t *driver) |
Deletes an audio driver instance. | |
FLUIDSYNTH_API fluid_file_renderer_t * | new_fluid_file_renderer (fluid_synth_t *synth) |
Create a new file renderer and open the file. | |
FLUIDSYNTH_API int | fluid_file_renderer_process_block (fluid_file_renderer_t *dev) |
Write period_size samples to file. | |
FLUIDSYNTH_API void | delete_fluid_file_renderer (fluid_file_renderer_t *dev) |
Close file and destroy a file renderer object. |
Functions for audio driver output.
typedef int(* fluid_audio_func_t)(void *data, int len, int nin, float **in, int nout, float **out) |
Callback function type used with new_fluid_audio_driver2() to allow for custom user audio processing before the audio is sent to the driver.
This function is responsible for rendering the audio to the buffers.
data | The user data parameter as passed to new_fluid_audio_driver2(). | |
len | Length of the audio in frames. | |
nin | Count of buffers in 'in' | |
in | Not used currently | |
nout | Count of arrays in 'out' (i.e., channel count) | |
out | Output buffers, one for each channel |
FLUIDSYNTH_API fluid_audio_driver_t* new_fluid_audio_driver | ( | fluid_settings_t * | settings, | |
fluid_synth_t * | synth | |||
) |
Create a new audio driver.
settings | Configuration settings used to select and create the audio driver. | |
synth | Synthesizer instance for which the audio driver is created for. |
Creates a new audio driver for a given 'synth' instance with a defined set of configuration 'settings'.
References FLUID_DBG, FLUID_ERR, fluid_settings_dupstr(), fluid_settings_option_concat(), fluid_settings_str_equal(), and new_fluid_audio_driver().
Referenced by new_fluid_audio_driver().
FLUIDSYNTH_API fluid_audio_driver_t* new_fluid_audio_driver2 | ( | fluid_settings_t * | settings, | |
fluid_audio_func_t | func, | |||
void * | data | |||
) |
Create a new audio driver.
settings | Configuration settings used to select and create the audio driver. | |
func | Function called to fill audio buffers for audio playback | |
data | User defined data pointer to pass to 'func' |
Like new_fluid_audio_driver() but allows for custom audio processing before audio is sent to audio driver. It is the responsibility of the callback 'func' to render the audio into the buffers.
NOTE: Not as efficient as new_fluid_audio_driver().
References FLUID_DBG, FLUID_ERR, fluid_settings_dupstr(), fluid_settings_str_equal(), and new_fluid_audio_driver2().
Referenced by new_fluid_audio_driver2().
FLUIDSYNTH_API void delete_fluid_audio_driver | ( | fluid_audio_driver_t * | driver | ) |
Deletes an audio driver instance.
driver | Audio driver instance to delete |
Shuts down an audio driver and deletes its instance.
References delete_fluid_audio_driver().
Referenced by delete_fluid_audio_driver().
FLUIDSYNTH_API fluid_file_renderer_t* new_fluid_file_renderer | ( | fluid_synth_t * | synth | ) |
Create a new file renderer and open the file.
synth | The synth that creates audio data. |
NOTE: Available file types and formats depends on if libfluidsynth was built with libsndfile support or not. If not then only RAW 16 bit output is supported.
Uses the following settings from the synth object:
References delete_fluid_file_renderer(), FLUID_ERR, fluid_settings_dupstr(), fluid_settings_getint(), fluid_settings_getnum(), and new_fluid_file_renderer().
Referenced by new_fluid_file_renderer().
FLUIDSYNTH_API int fluid_file_renderer_process_block | ( | fluid_file_renderer_t * | dev | ) |
Write period_size samples to file.
dev | File renderer instance |
References FLUID_ERR, FLUID_FAILED, fluid_file_renderer_process_block(), FLUID_OK, fluid_synth_write_float(), and fluid_synth_write_s16().
Referenced by fluid_file_renderer_process_block().
FLUIDSYNTH_API void delete_fluid_file_renderer | ( | fluid_file_renderer_t * | dev | ) |
Close file and destroy a file renderer object.
dev | File renderer object. |
References delete_fluid_file_renderer(), and FLUID_WARN.
Referenced by delete_fluid_file_renderer(), and new_fluid_file_renderer().