libmp3splt  0.8.2
Lossless library for splitting audio formats like mp3 and ogg vorbis.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
mp3splt.h File Reference
#include <sys/types.h>
#include "version.h"
Include dependency graph for mp3splt.h:

Go to the source code of this file.

Data Structures

struct  splt_plugin_info
 Structure containing plugin information, like the version, the name and file extension. More...
struct  splt_plugin_func
 Libmp3splt plugin API. More...

Macros

#define SPLT_TRUE   1
#define SPLT_FALSE   0
#define SPLT_DEFAULT_PARAM_THRESHOLD   -48.0
#define SPLT_DEFAULT_PARAM_OFFSET   0.8
#define SPLT_DEFAULT_PARAM_MINIMUM_LENGTH   0.0
#define SPLT_DEFAULT_PARAM_MINIMUM_TRACK_LENGTH   0.0
#define SPLT_DEFAULT_PARAM_MIN_TRACK_JOIN   0.0
#define SPLT_DEFAULT_PARAM_GAP   30
#define SPLT_DEFAULT_PARAM_TRACKS   0
#define SPLT_DEFAULT_PARAM_SHOTS   25
#define SPLT_DEFAULT_KEEP_SILENCE_LEFT   0
#define SPLT_DEFAULT_KEEP_SILENCE_RIGHT   0
#define SPLT_DEFAULT_OUTPUT   "@f_@mm_@ss_@h0h__@Mm_@Ss_@H0h"
#define SPLT_DEFAULT_CDDB_CUE_OUTPUT   "@A - @n - @t"
#define SPLT_DEFAULT_SYNCERROR_OUTPUT   "@f_error_@n"
#define SPLT_DEFAULT_SILENCE_OUTPUT   "@f_silence_@n"
#define SPLT_DEFAULT_TRIM_SILENCE_OUTPUT   "@f_trimmed"
#define SPLT_UNDEFINED_GENRE   "Other"
#define SPLT_ID3V1_NUMBER_OF_GENRES   127
#define SPLT_FREEDB_SEARCH_TYPE_CDDB_CGI   1
#define SPLT_FREEDB_GET_FILE_TYPE_CDDB_CGI   3
#define SPLT_FREEDB_GET_FILE_TYPE_CDDB   4
#define SPLT_FREEDB_CDDB_CGI_PORT   80
#define SPLT_FREEDB2_CGI_SITE   "tracktype.org/~cddb/cddb.cgi"
#define SPLT_DIRCHAR   '/'
#define SPLT_DIRSTR   "/"
#define MP3SPLT_MP3SPLT_H

Typedefs

typedef struct _splt_state splt_state
typedef struct splt_progres splt_progress
typedef struct _splt_point splt_point
typedef struct _splt_points splt_points
typedef struct _splt_tags splt_tags
typedef struct _splt_tags_group splt_tags_group
typedef struct _splt_freedb_results splt_freedb_results
typedef struct
_splt_freedb_one_result 
splt_freedb_one_result
typedef struct _splt_wrap splt_wrap
typedef struct _splt_one_wrap splt_one_wrap
typedef struct _splt_original_tags splt_original_tags

Enumerations

enum  splt_code {
  SPLT_OK = 0, SPLT_OK_SPLIT = 1, SPLT_SPLITPOINT_BIGGER_THAN_LENGTH = 4, SPLT_SILENCE_OK = 5,
  SPLT_TIME_SPLIT_OK = 6, SPLT_NO_SILENCE_SPLITPOINTS_FOUND = 7, SPLT_OK_SPLIT_EOF = 8, SPLT_LENGTH_SPLIT_OK = 9,
  SPLT_TRIM_SILENCE_OK = 10, SPLT_FREEDB_OK = 100, SPLT_FREEDB_FILE_OK = 101, SPLT_CDDB_OK = 102,
  SPLT_CUE_OK = 103, SPLT_FREEDB_MAX_CD_REACHED = 104, SPLT_AUDACITY_OK = 105, SPLT_DEWRAP_OK = 200,
  SPLT_SYNC_OK = 300, SPLT_MIGHT_BE_VBR = 301, SPLT_ERR_SYNC = -300, SPLT_ERR_NO_SYNC_FOUND = -301,
  SPLT_ERR_TOO_MANY_SYNC_ERR = -302, SPLT_OUTPUT_FORMAT_OK = 400, SPLT_OUTPUT_FORMAT_AMBIGUOUS = 401, SPLT_REGEX_OK = 800,
  SPLT_ERROR_SPLITPOINTS = -1, SPLT_ERROR_CANNOT_OPEN_FILE = -2, SPLT_ERROR_INVALID = -3, SPLT_ERROR_EQUAL_SPLITPOINTS = -5,
  SPLT_ERROR_SPLITPOINTS_NOT_IN_ORDER = -6, SPLT_ERROR_NEGATIVE_SPLITPOINT = -7, SPLT_ERROR_INCORRECT_PATH = -8, SPLT_ERROR_INCOMPATIBLE_OPTIONS = -10,
  SPLT_ERROR_INPUT_OUTPUT_SAME_FILE = -12, SPLT_ERROR_CANNOT_ALLOCATE_MEMORY = -15, SPLT_ERROR_CANNOT_OPEN_DEST_FILE = -16, SPLT_ERROR_CANT_WRITE_TO_OUTPUT_FILE = -17,
  SPLT_ERROR_WHILE_READING_FILE = -18, SPLT_ERROR_SEEKING_FILE = -19, SPLT_ERROR_BEGIN_OUT_OF_FILE = -20, SPLT_ERROR_INEXISTENT_FILE = -21,
  SPLT_SPLIT_CANCELLED = -22, SPLT_ERROR_LIBRARY_LOCKED = -24, SPLT_ERROR_STATE_NULL = -25, SPLT_ERROR_NEGATIVE_TIME_SPLIT = -26,
  SPLT_ERROR_CANNOT_CREATE_DIRECTORY = -27, SPLT_ERROR_CANNOT_CLOSE_FILE = -28, SPLT_ERROR_NO_PLUGIN_FOUND = -29, SPLT_ERROR_CANNOT_INIT_LIBLTDL = -30,
  SPLT_ERROR_CRC_FAILED = -31, SPLT_ERROR_NO_PLUGIN_FOUND_FOR_FILE = -32, SPLT_ERROR_PLUGIN_ERROR = -33, SPLT_ERROR_TIME_SPLIT_VALUE_INVALID = -34,
  SPLT_ERROR_LENGTH_SPLIT_VALUE_INVALID = -35, SPLT_ERROR_CANNOT_GET_TOTAL_TIME = -36, SPLT_ERROR_LIBID3 = -37, SPLT_FREEDB_ERROR_INITIALISE_SOCKET = -101,
  SPLT_FREEDB_ERROR_CANNOT_GET_HOST = -102, SPLT_FREEDB_ERROR_CANNOT_OPEN_SOCKET = -103, SPLT_FREEDB_ERROR_CANNOT_CONNECT = -104, SPLT_FREEDB_ERROR_CANNOT_SEND_MESSAGE = -105,
  SPLT_FREEDB_ERROR_INVALID_SERVER_ANSWER = -106, SPLT_FREEDB_ERROR_SITE_201 = -107, SPLT_FREEDB_ERROR_SITE_200 = -108, SPLT_FREEDB_ERROR_BAD_COMMUNICATION = -109,
  SPLT_FREEDB_ERROR_GETTING_INFOS = -110, SPLT_FREEDB_NO_CD_FOUND = -111, SPLT_FREEDB_ERROR_CANNOT_RECV_MESSAGE = -112, SPLT_INVALID_CUE_FILE = -115,
  SPLT_INVALID_CDDB_FILE = -116, SPLT_FREEDB_NO_SUCH_CD_IN_DATABASE = -118, SPLT_FREEDB_ERROR_SITE = -119, SPLT_FREEDB_ERROR_CANNOT_DISCONNECT = -120,
  SPLT_FREEDB_ERROR_PROXY_NOT_SUPPORTED = -121, SPLT_DEWRAP_ERR_FILE_LENGTH = -200, SPLT_DEWRAP_ERR_VERSION_OLD = -201, SPLT_DEWRAP_ERR_NO_FILE_OR_BAD_INDEX = -202,
  SPLT_DEWRAP_ERR_FILE_DAMAGED_INCOMPLETE = -203, SPLT_DEWRAP_ERR_FILE_NOT_WRAPED_DAMAGED = -204, SPLT_OUTPUT_FORMAT_ERROR = -400, SPLT_ERROR_INEXISTENT_SPLITPOINT = -500,
  SPLT_PLUGIN_ERROR_UNSUPPORTED_FEATURE = -600, SPLT_INVALID_AUDACITY_FILE = -700, SPLT_INVALID_REGEX = -800, SPLT_REGEX_NO_MATCH = -801,
  SPLT_REGEX_UNAVAILABLE = -802
}
enum  splt_options {
  SPLT_OPT_PRETEND_TO_SPLIT = 1, SPLT_OPT_QUIET_MODE, SPLT_OPT_DEBUG_MODE, SPLT_OPT_SPLIT_MODE,
  SPLT_OPT_TAGS, SPLT_OPT_XING, SPLT_OPT_CREATE_DIRS_FROM_FILENAMES, SPLT_OPT_OUTPUT_FILENAMES,
  SPLT_OPT_FRAME_MODE, SPLT_OPT_AUTO_ADJUST, SPLT_OPT_INPUT_NOT_SEEKABLE, SPLT_OPT_PARAM_NUMBER_TRACKS,
  SPLT_OPT_PARAM_SHOTS, SPLT_OPT_PARAM_REMOVE_SILENCE, SPLT_OPT_PARAM_GAP, SPLT_OPT_ENABLE_SILENCE_LOG,
  SPLT_OPT_FORCE_TAGS_VERSION, SPLT_OPT_LENGTH_SPLIT_FILE_NUMBER, SPLT_OPT_REPLACE_TAGS_IN_TAGS, SPLT_OPT_OVERLAP_TIME,
  SPLT_OPT_SPLIT_TIME, SPLT_OPT_PARAM_THRESHOLD, SPLT_OPT_PARAM_OFFSET, SPLT_OPT_PARAM_MIN_LENGTH,
  SPLT_OPT_PARAM_MIN_TRACK_LENGTH, SPLT_OPT_PARAM_MIN_TRACK_JOIN, SPLT_OPT_ARTIST_TAG_FORMAT, SPLT_OPT_ALBUM_TAG_FORMAT,
  SPLT_OPT_TITLE_TAG_FORMAT, SPLT_OPT_COMMENT_TAG_FORMAT, SPLT_OPT_REPLACE_UNDERSCORES_TAG_FORMAT, SPLT_OPT_SET_FILE_FROM_CUE_IF_FILE_TAG_FOUND,
  SPLT_OPT_KEEP_SILENCE_LEFT, SPLT_OPT_KEEP_SILENCE_RIGHT, SPLT_OPT_CUE_SET_SPLITPOINT_NAMES_FROM_REM_NAME, SPLT_OPT_CUE_DISABLE_CUE_FILE_CREATED_MESSAGE,
  SPLT_OPT_CUE_CDDB_ADD_TAGS_WITH_KEEP_ORIGINAL_TAGS, SPLT_OPT_ID3V2_ENCODING, SPLT_OPT_INPUT_TAGS_ENCODING
}
enum  splt_split_mode_options {
  SPLT_OPTION_NORMAL_MODE, SPLT_OPTION_WRAP_MODE, SPLT_OPTION_SILENCE_MODE, SPLT_OPTION_TRIM_SILENCE_MODE,
  SPLT_OPTION_ERROR_MODE, SPLT_OPTION_TIME_MODE, SPLT_OPTION_LENGTH_MODE
}
enum  splt_id3v2_encoding { SPLT_ID3V2_LATIN1, SPLT_ID3V2_UTF8, SPLT_ID3V2_UTF16 }
enum  splt_output_filenames_options { SPLT_OUTPUT_FORMAT, SPLT_OUTPUT_DEFAULT, SPLT_OUTPUT_CUSTOM }
enum  splt_tags_options { SPLT_TAGS_ORIGINAL_FILE, SPLT_CURRENT_TAGS, SPLT_NO_TAGS, SPLT_TAGS_FROM_FILENAME_REGEX }
enum  splt_str_format {
  SPLT_NO_CONVERSION, SPLT_TO_LOWERCASE, SPLT_TO_UPPERCASE, SPLT_TO_FIRST_UPPERCASE,
  SPLT_TO_WORD_FIRST_UPPERCASE
}
enum  splt_message_type { SPLT_MESSAGE_INFO, SPLT_MESSAGE_DEBUG }
enum  splt_progress_messages { SPLT_PROGRESS_PREPARE, SPLT_PROGRESS_CREATE, SPLT_PROGRESS_SEARCH_SYNC, SPLT_PROGRESS_SCAN_SILENCE }
enum  splt_type_of_splitpoint { SPLT_SPLITPOINT, SPLT_SKIPPOINT }
enum  splt_tag_key {
  SPLT_TAGS_TITLE = 1, SPLT_TAGS_ARTIST = 2, SPLT_TAGS_ALBUM = 3, SPLT_TAGS_YEAR = 4,
  SPLT_TAGS_COMMENT = 5, SPLT_TAGS_TRACK = 6, SPLT_TAGS_GENRE = 7, SPLT_TAGS_PERFORMER = 8,
  SPLT_TAGS_ORIGINAL = 900
}
enum  splt_import_type { CUE_IMPORT, CDDB_IMPORT, AUDACITY_LABELS_IMPORT }
enum  splt_export_type { CUE_EXPORT }

Functions

splt_statemp3splt_new_state (splt_code *error)
splt_code mp3splt_free_state (splt_state *state)
splt_code mp3splt_append_plugins_scan_dir (splt_state *state, const char *directory)
splt_code mp3splt_find_plugins (splt_state *state)
char * mp3splt_get_strerror (splt_state *state, splt_code error)
splt_code mp3splt_set_int_option (splt_state *state, splt_options option, int value)
splt_code mp3splt_set_long_option (splt_state *state, splt_options option, long value)
splt_code mp3splt_set_float_option (splt_state *state, splt_options option, float value)
int mp3splt_get_int_option (splt_state *state, splt_options option, splt_code *error)
long mp3splt_get_long_option (splt_state *state, splt_options option, splt_code *error)
float mp3splt_get_float_option (splt_state *state, splt_options option, splt_code *error)
splt_code mp3splt_set_oformat (splt_state *state, const char *format)
splt_code mp3splt_set_filename_to_split (splt_state *state, const char *filename)
splt_code mp3splt_set_path_of_split (splt_state *state, const char *path_of_split)
const char * mp3splt_get_filename_to_split (splt_state *state)
splt_code mp3splt_set_m3u_filename (splt_state *state, const char *m3u_filename)
splt_code mp3splt_set_silence_log_filename (splt_state *state, const char *filename)
splt_code mp3splt_set_silence_full_log_filename (splt_state *state, const char *filename)
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)
splt_pointmp3splt_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_pointsmp3splt_get_splitpoints (splt_state *state, splt_code *error)
void mp3splt_points_init_iterator (splt_points *splitpoints)
const splt_pointmp3splt_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)
splt_tagsmp3splt_tags_new (splt_code *error)
splt_code mp3splt_tags_set (splt_tags *tags,...)
splt_code mp3splt_append_tags (splt_state *state, splt_tags *tags)
splt_tags_groupmp3splt_get_tags_group (splt_state *state, splt_code *error)
splt_code mp3splt_remove_tags_of_skippoints (splt_state *state)
void mp3splt_tags_group_init_iterator (splt_tags_group *tags_group)
splt_tagsmp3splt_tags_group_next (splt_tags_group *tags_group)
char * mp3splt_tags_get (splt_tags *tags, splt_tag_key key)
int mp3splt_put_tags_from_string (splt_state *state, const char *tags, splt_code *error)
splt_code mp3splt_read_original_tags (splt_state *state)
splt_code mp3splt_erase_all_tags (splt_state *state)
splt_code mp3splt_set_input_filename_regex (splt_state *state, const char *regex)
splt_code mp3splt_set_default_comment_tag (splt_state *state, const char *default_comment_tag)
splt_code mp3splt_set_default_genre_tag (splt_state *state, const char *default_genre_tag)
splt_tagsmp3splt_parse_filename_regex (splt_state *state, splt_code *error)
void mp3splt_free_one_tag (splt_tags *tags)
splt_code mp3splt_split (splt_state *state)
splt_code mp3splt_stop_split (splt_state *state)
char ** mp3splt_find_filenames (splt_state *state, const char *filename, int *num_of_files_found, splt_code *error)
splt_code mp3splt_import (splt_state *state, splt_import_type type, const char *file)
splt_code mp3splt_use_proxy (splt_state *state, const char *proxy_address, int proxy_port)
splt_code mp3splt_use_base64_authentification (splt_state *state, const char *base64_authentification)
char * mp3splt_encode_in_base64 (splt_state *state, const char *input, int *error)
void mp3splt_clear_proxy (splt_state *state)
splt_freedb_resultsmp3splt_get_freedb_search (splt_state *state, const char *searched_string, splt_code *error, int search_type, const char *search_server, int port)
void mp3splt_freedb_init_iterator (splt_freedb_results *freedb_results)
const splt_freedb_one_resultmp3splt_freedb_next (splt_freedb_results *freedb_results)
int mp3splt_freedb_get_id (const splt_freedb_one_result *result)
const char * mp3splt_freedb_get_name (const splt_freedb_one_result *result)
int mp3splt_freedb_get_number_of_revisions (const splt_freedb_one_result *result)
splt_code mp3splt_write_freedb_file_result (splt_state *state, int disc_id, const char *output_file, int cddb_get_type, const char *cddb_get_server, int port)
splt_code mp3splt_export (splt_state *state, splt_export_type type, const char *file, int stop_at_total_time)
splt_wrapmp3splt_get_wrap_files (splt_state *state, splt_code *error)
void mp3splt_wrap_init_iterator (splt_wrap *wrap)
const splt_one_wrapmp3splt_wrap_next (splt_wrap *wrap)
char * mp3splt_wrap_get_wrapped_file (const splt_one_wrap *one_wrap)
int mp3splt_set_silence_points (splt_state *state, splt_code *error)
splt_code mp3splt_set_trim_silence_points (splt_state *state)
char * mp3splt_get_version ()
int mp3splt_check_if_directory (const char *filename)

Variables

const char splt_id3v1_genres [SPLT_ID3V1_NUMBER_OF_GENRES][25]

Detailed Description

libmp3splt API

Definition in file mp3splt.h.


Macro Definition Documentation

#define SPLT_TRUE   1

True value.

Definition at line 89 of file mp3splt.h.

#define SPLT_FALSE   0

False value.

Definition at line 93 of file mp3splt.h.

#define MP3SPLT_MP3SPLT_H

Allow several inclusions of this file.

Definition at line 2251 of file mp3splt.h.