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

Typedefs | Enumerations | Functions
Splitpoints handling
Using libmp3splt

## Typedefs
typedef struct _splt_point | splt_point
typedef struct _splt_points | splt_points

## Enumerations
enum | splt_type_of_splitpoint { SPLT_SPLITPOINT, SPLT_SKIPPOINT }

## Functions
splt_point * | mp3splt_point_new (long splitpoint_value, splt_code *error)
splt_code | mp3splt_point_set_name (splt_point *splitpoint, const char *name)
splt_code | mp3splt_point_set_type (splt_point *splitpoint, splt_type_of_splitpoint type)
splt_code | mp3splt_append_splitpoint (splt_state *state, splt_point *splitpoint)
splt_points * | mp3splt_get_splitpoints (splt_state *state, splt_code *error)
void | mp3splt_points_init_iterator (splt_points *splitpoints)
const splt_point * | mp3splt_points_next (splt_points *splitpoints)
long | mp3splt_point_get_value (const splt_point *point)
splt_type_of_splitpoint | mp3splt_point_get_type (const splt_point *point)
char * | mp3splt_point_get_name (const splt_point *point)
splt_code | mp3splt_erase_all_splitpoints (splt_state *state)

## Detailed Description

## Typedef Documentation

typedef struct _splt_point splt_point

Structure defining one splitpoint.

All members are private.

See also
  mp3splt_append_splitpoint
  mp3splt_get_splitpoints
  mp3splt_erase_all_splitpoints

Definition at line 1333 of file mp3splt.h.

typedef struct _splt_points splt_points

Structure containing several splt_point.

All members are private.

See also
  mp3splt_points_init_iterator
  mp3splt_points_next

Definition at line 1386 of file mp3splt.h.

## Enumeration Type Documentation

enum splt_type_of_splitpoint

Type of the splitpoint.

See also
  mp3splt_append_splitpoint, mp3splt_point_get_type

Enumerator
SPLT_SPLITPOINT | Regular splitpoint.
SPLT_SKIPPOINT | Splitpoint used only to end the previous segment. Segment starting with this splitpoint will not be split.

Definition at line 1313 of file mp3splt.h.

## Function Documentation

splt_point* mp3splt_point_new | ( | long | splitpoint_value,
|  | splt_code * | error
| ) |  |

Creates a new splitpoint with the `splitpoint_value`.

By default, the splitpoint has no name and it has the type SPLT_SPLITPOINT.

Parameters

  [in] | splitpoint_value | The time of the splitpoint in hundreths of seconds.
  [out] | error | Possible error; can be NULL.

Returns
  Newly allocated point.

See also
  mp3splt_point_set_name
  mp3splt_point_set_type
  mp3splt_append_splitpoint

Examples:
  minimal.c.

splt_code mp3splt_point_set_name | ( | splt_point * | splitpoint,
|  | const char * | name
| ) |  |

Sets the name on the `splitpoint`.

Parameters

  [in] | splitpoint | Splitpoint to be changed.
  [in] | name | Name of the splitpoint to be set. Useful when using SPLT_OUTPUT_CUSTOM.

Returns
  Possible error.

splt_code mp3splt_point_set_type | ( | splt_point * | splitpoint,
|  | splt_type_of_splitpoint | type
| ) |  |

Sets the name on the `splitpoint`.

Parameters

  [in] | splitpoint | Splitpoint to be changed.
  [in] | type | Type of the splitpoint.

Returns
  Possible error.

splt_code mp3splt_append_splitpoint | ( | splt_state * | state,
|  | splt_point * | splitpoint
| ) |  |

Append a new splitpoint to the `state`.

Parameters

  [in] | state | Main state.
  [in] | splitpoint | Splitpoint to be appended; splitpoint is freed afterwards.

Returns
  Possible error.

See also
  mp3splt_point_new

Examples:
  minimal.c.

splt_points* mp3splt_get_splitpoints | ( | splt_state * | state,
|  | splt_code * | error
| ) |  |

Returns all the splitpoints of the `state`.

Parameters

  [in] | state | Main state.
  [out] | error | Possible error; can be NULL.

Returns
  The splitpoints from the `state`.

See also
  mp3splt_points_init_iterator
  mp3splt_points_next

void mp3splt_points_init_iterator | ( | splt_points * | splitpoints | ) |

Initialisation of the iterator for use with mp3splt_points_next.

Parameters

  [in] | splitpoints | Splitpoints returned with mp3splt_get_splitpoints.

See also
  mp3splt_points_next

const splt_point* mp3splt_points_next | ( | splt_points * | splitpoints | ) |

Returns the next splitpoint from the `splitpoints`.

Parameters

  [in] | splitpoints | Splitpoints to be processed.

Returns
  Next splitpoint of `splitpoints` or NULL if none found or no point remains.

See also
  mp3splt_point_get_value
  mp3splt_point_get_type
  mp3splt_point_get_name

long mp3splt_point_get_value | ( | const splt_point * | point | ) |

Returns the time value of the splitpoint `point`.

Parameters

  [in] | point | Splitpoint to be queried.

Returns
  The time value of the splitpoint.

See also
  mp3splt_get_splitpoints

splt_type_of_splitpoint mp3splt_point_get_type | ( | const splt_point * | point | ) |

Returns the type of the splitpoint `point`.

Type can be splt_type_of_splitpoint.

Parameters

  [in] | point | Splitpoint to be queried.

Returns
  The type of the requested splitpoint.

See also
  mp3splt_get_splitpoints

char* mp3splt_point_get_name | ( | const splt_point * | point | ) |

Returns the name of the splitpoint `point`.

Parameters

  [in] | point | Splitpoint to be queried.

Returns
  The name of the requested splitpoint. Result must be freed.

See also
  mp3splt_get_splitpoints

splt_code mp3splt_erase_all_splitpoints | ( | splt_state * | state | ) |

Erase all splitpoints from the `state`.

Parameters

  [in] | state | Main state.

Returns
  Possible error.