mirror of
https://github.com/ZDoom/fluidsynth.git
synced 2024-12-11 05:11:33 +00:00
file renderer: Add encoding quality API
Based on a patch by willem179@users.sf.net. Signed-off-by: David Henningsson <diwic@ubuntu.com>
This commit is contained in:
parent
4bbc44d22b
commit
d519d93285
2 changed files with 18 additions and 0 deletions
|
@ -67,6 +67,7 @@ FLUIDSYNTH_API void delete_fluid_audio_driver(fluid_audio_driver_t* driver);
|
||||||
FLUIDSYNTH_API fluid_file_renderer_t *new_fluid_file_renderer(fluid_synth_t* synth);
|
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 int fluid_file_renderer_process_block(fluid_file_renderer_t* dev);
|
||||||
FLUIDSYNTH_API void delete_fluid_file_renderer(fluid_file_renderer_t* dev);
|
FLUIDSYNTH_API void delete_fluid_file_renderer(fluid_file_renderer_t* dev);
|
||||||
|
FLUIDSYNTH_API int fluid_file_set_encoding_quality(fluid_file_renderer_t* dev, double q);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -290,6 +290,7 @@ new_fluid_file_renderer(fluid_synth_t* synth)
|
||||||
/* Turn on clipping and normalization of floats (-1.0 - 1.0) */
|
/* Turn on clipping and normalization of floats (-1.0 - 1.0) */
|
||||||
sf_command (dev->sndfile, SFC_SET_CLIPPING, NULL, SF_TRUE);
|
sf_command (dev->sndfile, SFC_SET_CLIPPING, NULL, SF_TRUE);
|
||||||
sf_command (dev->sndfile, SFC_SET_NORM_FLOAT, NULL, SF_TRUE);
|
sf_command (dev->sndfile, SFC_SET_NORM_FLOAT, NULL, SF_TRUE);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
dev->file = fopen(filename, "wb");
|
dev->file = fopen(filename, "wb");
|
||||||
if (dev->file == NULL) {
|
if (dev->file == NULL) {
|
||||||
|
@ -306,6 +307,22 @@ new_fluid_file_renderer(fluid_synth_t* synth)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set vbr encoding quality (only available with libsndfile support)
|
||||||
|
* @param dev File renderer object.
|
||||||
|
* @since 1.1.7
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
fluid_file_set_encoding_quality(fluid_file_renderer_t* r, double q)
|
||||||
|
{
|
||||||
|
#if LIBSNDFILE_SUPPORT
|
||||||
|
if (sf_command (r->sndfile, SFC_SET_VBR_ENCODING_QUALITY, &q, sizeof (double)) == 0)
|
||||||
|
return FLUID_OK;
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
return FLUID_FAILED;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Close file and destroy a file renderer object.
|
* Close file and destroy a file renderer object.
|
||||||
* @param dev File renderer object.
|
* @param dev File renderer object.
|
||||||
|
|
Loading…
Reference in a new issue