libmp3splt  0.9.2
Lossless library for splitting audio formats like mp3, ogg vorbis and FLAC.
 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
 
struct  splt_plugin_func
 

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_ERROR_FAILED_BITRESERVOIR = -38,
  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_ERROR_INTERNAL_SHEET = -122, SPLT_ERROR_INTERNAL_SHEET_TYPE_NOT_SUPPORTED = -123,
  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,
  SPLT_ERROR_NO_AUTO_ADJUST_FOUND = -900, SPLT_ERROR_INVALID_CODE = -1000
}
 
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, SPLT_OPT_TIME_MINIMUM_THEORETICAL_LENGTH,
  SPLT_OPT_WARN_IF_NO_AUTO_ADJUST_FOUND, SPLT_OPT_STOP_IF_NO_AUTO_ADJUST_FOUND, SPLT_OPT_DECODE_AND_WRITE_FLAC_MD5SUM_FOR_CREATED_FILES, SPLT_OPT_HANDLE_BIT_RESERVOIR
}
 
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_WARNING, 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, PLUGIN_INTERNAL_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 90 of file mp3splt.h.

#define SPLT_FALSE   0

False value.

Definition at line 94 of file mp3splt.h.

#define MP3SPLT_MP3SPLT_H

Allow several inclusions of this file.

Definition at line 2320 of file mp3splt.h.