BASS_Encode_MP3_StartFile

Sets up an MP3 encoder on a channel, writing the output to a file.

HENCODE BASS_Encode_MP3_StartFile(
    DWORD handle,
    char *options,
    DWORD flags,
    char *filename
);

Parameters

handleThe channel handle... a HSTREAM, HMUSIC, or HRECORD.
optionsEncoder options... NULL = use defaults. The following LAME style options are supported: -b, -B, -v, -V, -q, -m, --abr, --preset, --alt-preset, -Y, --resample, -p, -t, --tt, --ta, --tl, --ty, --tc, --tn, --tg, --ti, --tv, --add-id3v2, --id3v1-only, --id3v2-only, --pad-id3v2, --pad-id3v2-size, --noreplaygain. Anything else that is included will be ignored. See the LAME documentation for details on the aforementioned options and defaults.
flagsThe flags supported by BASS_Encode_StartUser may be used here, but the floating-point conversion flags are ignored.
filenameOutput filename... NULL = no output file.

Return value

The encoder handle is returned if the encoder is successfully started, else 0 is returned. Use BASS_ErrorGetCode to get the error code.

Error codes

BASS_ERROR_HANDLEhandle is not valid.
BASS_ERROR_FORMATThe channel's sample format is not supported by the encoder.
BASS_ERROR_ILLPARAMoptions contains an invalid setting.
BASS_ERROR_FILEOPENA "--ti" option file could not be opened.
BASS_ERROR_FILEFORMA "--ti" option file has an invalid format. It needs to be JPEG, PNG, or GIF.
BASS_ERROR_CREATEThe file could not be created.
BASS_ERROR_MEMThere is insufficient memory.
BASS_ERROR_UNKNOWNSome other mystery problem!

Remarks

BASS_Encode_StartUser is used internally to apply the encoder to the source channel, so the remarks in its documentation also apply to this function.

Each tag should be in either UTF-8 or ISO-8859-1 form (or UTF-16 when the BASS_UNICODE flag is used). ISO-8859-1 tags can be stored in ID3v1 and ID3v2 tag blocks. Unicode tags can only be stored in ID3v2 tag blocks. An ID3v2 tags block will be added automatically when required by the tags, otherwise only an ID3v1 tag block will added by default; this can be changed in options.

See also

BASS_Encode_MP3_Start

BASS_Encode_IsActive, BASS_Encode_SetNotify, BASS_Encode_SetPaused, BASS_Encode_Stop, BASS_Encode_Write, BASS_CONFIG_ENCODE_PRIORITY