libmp3splt: Registering callback functions

| libmp3splt 0.9.3.1519 Lossless library for splitting audio formats like mp3, ogg vorbis and FLAC. |

Loading...
Searching...
No Matches
Registering callback functions
Using libmp3splt » Confirmation and error codes » Options » Input filename and paths

## Typedefs
typedef struct splt_progres | splt_progress

## Enumerations
enum | splt_message_type { SPLT_MESSAGE_INFO , SPLT_MESSAGE_WARNING , SPLT_MESSAGE_DEBUG }
enum | splt_progress_messages { SPLT_PROGRESS_PREPARE , SPLT_PROGRESS_CREATE , SPLT_PROGRESS_SEARCH_SYNC , SPLT_PROGRESS_SCAN_SILENCE }

## Functions
splt_code | mp3splt_set_message_function (splt_state *state, void(*message_cb)(const char *message, splt_message_type type, void *cb_data), void *cb_data)
splt_code | mp3splt_set_split_filename_function (splt_state *state, void(*file_cb)(const char *filename, void *cb_data), void *cb_data)
splt_code | mp3splt_set_pretend_to_split_write_function (splt_state *state, void(*write_cb)(const void *ptr, size_t size, size_t nmemb, void *cb_data), void *cb_data)
splt_code | mp3splt_set_progress_function (splt_state *state, void(*progress_cb)(splt_progress *p_bar, void *cb_data), void *cb_data)
int | mp3splt_progress_get_type (const splt_progress *p_bar)
char * | mp3splt_progress_get_filename_shorted (const splt_progress *p_bar)
int | mp3splt_progress_get_current_split (const splt_progress *p_bar)
int | mp3splt_progress_get_max_splits (const splt_progress *p_bar)
int | mp3splt_progress_get_silence_found_tracks (const splt_progress *p_bar)
float | mp3splt_progress_get_silence_db_level (const splt_progress *p_bar)
float | mp3splt_progress_get_percent_progress (const splt_progress *p_bar)
splt_code | mp3splt_set_silence_level_function (splt_state *state, void(*get_silence_cb)(long time, float level, void *user_data), void *user_data)

## Detailed Description

## Typedef Documentation

## ◆ splt_progress

typedef struct splt_progres splt_progress

Structure containing all information needed to display a progress bar.

All members are private.

It is passed as parameter to the callback function registered with mp3splt_set_progress_function.

See also
  mp3splt_progress_get_type
  mp3splt_progress_get_filename_shorted
  mp3splt_progress_get_current_split
  mp3splt_progress_get_max_splits
  mp3splt_progress_get_silence_found_tracks
  mp3splt_progress_get_silence_db_level
  mp3splt_progress_get_percent_progress

Definition at line 1227 of file mp3splt.h.

## Enumeration Type Documentation

## ◆ splt_message_type

enum splt_message_type

Type of the message sent to the client.

See also
  mp3splt_set_message_function

Enumerator
SPLT_MESSAGE_INFO | Info message.
SPLT_MESSAGE_WARNING | Warning message.
SPLT_MESSAGE_DEBUG | Debug message.

Examples
  minimal.c.

Definition at line 1113 of file mp3splt.h.

## ◆ splt_progress_messages

enum splt_progress_messages

Type of messages sent to the client using the callback registered with mp3splt_set_progress_function.

Enumerator
SPLT_PROGRESS_PREPARE | Preparing to split a song.
SPLT_PROGRESS_CREATE | Creating the output file.
SPLT_PROGRESS_SEARCH_SYNC | Searching for synchronisation errors - when using SPLT_OPTION_ERROR_MODE.
SPLT_PROGRESS_SCAN_SILENCE | Scanning for silence - when using SPLT_OPTION_SILENCE_MODE, SPLT_OPT_AUTO_ADJUST, mp3splt_set_silence_points or mp3splt_set_trim_silence_points.

Definition at line 1192 of file mp3splt.h.

## Function Documentation

## ◆ mp3splt_set_message_function()

splt_code mp3splt_set_message_function | ( | splt_state * | state,
|  | void(* | message_cb )(const char *message, splt_message_type type, void *cb_data),
|  | void * | cb_data )

Register callback function used to send text messages to the client.

Parameters

  [in] | state | Main state.
  [in] | message_cb | Callback function to be called.
  [in] | cb_data | User data sent through `message_cb`.

Returns
  Possible error.

Parameters of the callback `message_cb` function:

`message` Text message received.
`type` Type of the text message received.
`cb_data` The user data passed to the mp3splt_set_message_function.

See also
  splt_message_type

Examples
  minimal.c.

## ◆ mp3splt_set_split_filename_function()

splt_code mp3splt_set_split_filename_function | ( | splt_state * | state,
|  | void(* | file_cb )(const char *filename, void *cb_data),
|  | void * | cb_data )

Register callback function that is called when an output file is created.

Parameters

  [in] | state | Main state.
  [in] | file_cb | Callback function to be called.
  [in] | cb_data | User data sent through `file_cb`.

Returns
  Possible error.

Parameters of the callback `file_cb` function:

`filename` Output filename that has been created.
`cb_data` The user data passed to the mp3splt_set_split_filename_function.

Examples
  minimal.c.

## ◆ mp3splt_set_pretend_to_split_write_function()

splt_code mp3splt_set_pretend_to_split_write_function | ( | splt_state * | state,
|  | void(* | write_cb )(const void *ptr, size_t size, size_t nmemb, void *cb_data),
|  | void * | cb_data )

Register callback function that is called when SPLT_OPT_PRETEND_TO_SPLIT is SPLT_TRUE.

This callback function allows getting the bytes that would have been written. Please note that currently the mp3 Xing header is skipped when setting the input not seekable with SPLT_OPT_INPUT_NOT_SEEKABLE.

Parameters

  [in] | state | Main state.
  [in] | write_cb | Callback function to be called.
  [in] | cb_data | User data sent through `write_cb`.

Returns
  Possible error.

Parameters of the callback `write_cb` function:

`ptr` Bytes that would have been written to the output file.
`size` Size of one element stored in `ptr`.
`nmemb` Number of elements to be written from `ptr`.
`cb_data` The user data passed to the mp3splt_set_pretend_to_split_write_function.

## ◆ mp3splt_set_progress_function()

splt_code mp3splt_set_progress_function | ( | splt_state * | state,
|  | void(* | progress_cb )(splt_progress *p_bar, void *cb_data),
|  | void * | cb_data )

Register callback function called to keep track of the current progress.

Parameters

  [in] | state | Main state.
  [in] | progress_cb | Callback function to be called.
  [in] | cb_data | User data sent through `progress_cb`.

Returns
  Possible error.

Parameters of the callback `progress_cb` function:

`p_bar` Progress bar informations.
`cb_data` The user data passed to the mp3splt_set_progress_function.

## ◆ mp3splt_progress_get_type()

int mp3splt_progress_get_type | ( | const splt_progress * | p_bar | ) |

Returns
  The type of splt_progress_messages.

## ◆ mp3splt_progress_get_filename_shorted()

char * mp3splt_progress_get_filename_shorted | ( | const splt_progress * | p_bar | ) |

Returns
  The filename being processed. Result must be freed.

## ◆ mp3splt_progress_get_current_split()

int mp3splt_progress_get_current_split | ( | const splt_progress * | p_bar | ) |

Returns
  The current split number.

## ◆ mp3splt_progress_get_max_splits()

int mp3splt_progress_get_max_splits | ( | const splt_progress * | p_bar | ) |

Returns
  The total number of files to be created.

## ◆ mp3splt_progress_get_silence_found_tracks()

int mp3splt_progress_get_silence_found_tracks | ( | const splt_progress * | p_bar | ) |

Returns
  The number of silence spots found.

## ◆ mp3splt_progress_get_silence_db_level()

float mp3splt_progress_get_silence_db_level | ( | const splt_progress * | p_bar | ) |

Returns
  The audio threshold level.

## ◆ mp3splt_progress_get_percent_progress()

float mp3splt_progress_get_percent_progress | ( | const splt_progress * | p_bar | ) |

Returns
  The progress percentage between 0 and 1.

## ◆ mp3splt_set_silence_level_function()

splt_code mp3splt_set_silence_level_function | ( | splt_state * | state,
|  | void(* | get_silence_cb )(long time, float level, void *user_data),
|  | void * | user_data )

Register callback function that is called when looking for silence detection.

Parameters

  [in] | state | Main state.
  [in] | get_silence_cb | Callback function to be called.
  [in] | user_data | User data sent through `get_silence_cb`.

Returns
  Possible error.

Parameters of the callback `get_silence_cb` function:

`time` Current time in hundreths of seconds.
`level` Current silence level.
`user_data` The user data passed to the mp3splt_set_silence_level_function.