libopenmpt: libopenmpt/libopenmpt.h File Reference

libopenmpt 0.9.0-pre.12+r25544 cross-platform C++ and C library to decode tracked music files

Loading...
Searching...
No Matches
libopenmpt.h File Reference
`#include "libopenmpt_config.h"`
`#include <stddef.h>`
`#include <stdint.h>`

Go to the source code of this file.

## Classes
struct | openmpt_stream_callbacks
| Stream callbacks. More...
struct | openmpt_module_initial_ctl

## Macros
#define | OPENMPT_STRING_LIBRARY_VERSION LIBOPENMPT_DEPRECATED_STRING( "library_version" )
#define | OPENMPT_STRING_LIBRARY_FEATURES LIBOPENMPT_DEPRECATED_STRING( "library_features" )
#define | OPENMPT_STRING_CORE_VERSION LIBOPENMPT_DEPRECATED_STRING( "core_version" )
#define | OPENMPT_STRING_BUILD LIBOPENMPT_DEPRECATED_STRING( "build" )
#define | OPENMPT_STRING_CREDITS LIBOPENMPT_DEPRECATED_STRING( "credits" )
#define | OPENMPT_STRING_CONTACT LIBOPENMPT_DEPRECATED_STRING( "contact" )
#define | OPENMPT_STRING_LICENSE LIBOPENMPT_DEPRECATED_STRING( "license" )
#define | OPENMPT_STREAM_SEEK_SET 0
#define | OPENMPT_STREAM_SEEK_CUR 1
#define | OPENMPT_STREAM_SEEK_END 2
#define | OPENMPT_ERROR_OK 0
#define | OPENMPT_ERROR_BASE 256
#define | OPENMPT_ERROR_UNKNOWN ( OPENMPT_ERROR_BASE + 1 )
#define | OPENMPT_ERROR_EXCEPTION ( OPENMPT_ERROR_BASE + 11 )
#define | OPENMPT_ERROR_OUT_OF_MEMORY ( OPENMPT_ERROR_BASE + 21 )
#define | OPENMPT_ERROR_RUNTIME ( OPENMPT_ERROR_BASE + 30 )
#define | OPENMPT_ERROR_RANGE ( OPENMPT_ERROR_BASE + 31 )
#define | OPENMPT_ERROR_OVERFLOW ( OPENMPT_ERROR_BASE + 32 )
#define | OPENMPT_ERROR_UNDERFLOW ( OPENMPT_ERROR_BASE + 33 )
#define | OPENMPT_ERROR_LOGIC ( OPENMPT_ERROR_BASE + 40 )
#define | OPENMPT_ERROR_DOMAIN ( OPENMPT_ERROR_BASE + 41 )
#define | OPENMPT_ERROR_LENGTH ( OPENMPT_ERROR_BASE + 42 )
#define | OPENMPT_ERROR_OUT_OF_RANGE ( OPENMPT_ERROR_BASE + 43 )
#define | OPENMPT_ERROR_INVALID_ARGUMENT ( OPENMPT_ERROR_BASE + 44 )
#define | OPENMPT_ERROR_GENERAL ( OPENMPT_ERROR_BASE + 101 )
#define | OPENMPT_ERROR_INVALID_MODULE_POINTER ( OPENMPT_ERROR_BASE + 102 )
#define | OPENMPT_ERROR_ARGUMENT_NULL_POINTER ( OPENMPT_ERROR_BASE + 103 )
#define | OPENMPT_ERROR_FUNC_RESULT_NONE 0
#define | OPENMPT_ERROR_FUNC_RESULT_LOG ( 1 << 0 )
#define | OPENMPT_ERROR_FUNC_RESULT_STORE ( 1 << 1 )
#define | OPENMPT_ERROR_FUNC_RESULT_DEFAULT ( OPENMPT_ERROR_FUNC_RESULT_LOG | OPENMPT_ERROR_FUNC_RESULT_STORE )
#define | OPENMPT_PROBE_FILE_HEADER_FLAGS_MODULES 0x1ull
#define | OPENMPT_PROBE_FILE_HEADER_FLAGS_CONTAINERS 0x2ull
#define | OPENMPT_PROBE_FILE_HEADER_FLAGS_DEFAULT ( OPENMPT_PROBE_FILE_HEADER_FLAGS_MODULES | OPENMPT_PROBE_FILE_HEADER_FLAGS_CONTAINERS )
#define | OPENMPT_PROBE_FILE_HEADER_FLAGS_NONE 0x0ull
#define | OPENMPT_PROBE_FILE_HEADER_RESULT_SUCCESS 1
#define | OPENMPT_PROBE_FILE_HEADER_RESULT_FAILURE 0
#define | OPENMPT_PROBE_FILE_HEADER_RESULT_WANTMOREDATA (-1)
#define | OPENMPT_PROBE_FILE_HEADER_RESULT_ERROR (-255)
#define | OPENMPT_MODULE_RENDER_MASTERGAIN_MILLIBEL 1
| Master Gain.
#define | OPENMPT_MODULE_RENDER_STEREOSEPARATION_PERCENT 2
| Stereo Separation.
#define | OPENMPT_MODULE_RENDER_INTERPOLATIONFILTER_LENGTH 3
| Interpolation Filter.
#define | OPENMPT_MODULE_RENDER_VOLUMERAMPING_STRENGTH 4
| Volume Ramping Strength.
#define | OPENMPT_MODULE_COMMAND_NOTE 0
#define | OPENMPT_MODULE_COMMAND_INSTRUMENT 1
#define | OPENMPT_MODULE_COMMAND_VOLUMEEFFECT 2
#define | OPENMPT_MODULE_COMMAND_EFFECT 3
#define | OPENMPT_MODULE_COMMAND_VOLUME 4
#define | OPENMPT_MODULE_COMMAND_PARAMETER 5

## Typedefs
typedef size_t(* | openmpt_stream_read_func) (void *stream, void *dst, size_t bytes)
| Read bytes from stream.
typedef int(* | openmpt_stream_seek_func) (void *stream, int64_t offset, int whence)
| Seek stream position.
typedef int64_t(* | openmpt_stream_tell_func) (void *stream)
| Tell stream position.
typedef struct openmpt_stream_callbacks | openmpt_stream_callbacks
| Stream callbacks.
typedef void(* | openmpt_log_func) (const char *message, void *user)
| Logging function.
typedef int(* | openmpt_error_func) (int error, void *user)
| Error function.
typedef struct openmpt_module | openmpt_module
| Opaque type representing a libopenmpt module.
typedef struct openmpt_module_initial_ctl | openmpt_module_initial_ctl

## Functions
uint32_t | openmpt_get_library_version (void)
| Get the libopenmpt version number.
uint32_t | openmpt_get_core_version (void)
| Get the core version number.
void | openmpt_free_string (const char *str)
| Free a string returned by libopenmpt.
const char * | openmpt_get_string (const char *key)
| Get library related metadata.
const char * | openmpt_get_supported_extensions (void)
| Get a list of supported file extensions.
int | openmpt_is_extension_supported (const char *extension)
| Query whether a file extension is supported.
void | openmpt_log_func_default (const char *message, void *user)
| Default logging function.
void | openmpt_log_func_silent (const char *message, void *user)
| Silent logging function.
int | openmpt_error_is_transient (int error)
| Check whether the error is transient.
const char * | openmpt_error_string (int error)
| Convert error code to text.
int | openmpt_error_func_default (int error, void *user)
| Default error function.
int | openmpt_error_func_log (int error, void *user)
| Log error function.
int | openmpt_error_func_store (int error, void *user)
| Store error function.
int | openmpt_error_func_ignore (int error, void *user)
| Ignore error function.
int | openmpt_error_func_errno (int error, void *user)
| Errno error function.
void * | openmpt_error_func_errno_userdata (int *error)
| User pointer for openmpt_error_func_errno.
double | openmpt_could_open_probability (openmpt_stream_callbacks stream_callbacks, void *stream, double effort, openmpt_log_func logfunc, void *user)
| Roughly scan the input stream to find out whether libopenmpt might be able to open it.
double | openmpt_could_open_propability (openmpt_stream_callbacks stream_callbacks, void *stream, double effort, openmpt_log_func logfunc, void *user)
| Roughly scan the input stream to find out whether libopenmpt might be able to open it.
double | openmpt_could_open_probability2 (openmpt_stream_callbacks stream_callbacks, void *stream, double effort, openmpt_log_func logfunc, void *loguser, openmpt_error_func errfunc, void *erruser, int *error, const char **error_message)
| Roughly scan the input stream to find out whether libopenmpt might be able to open it.
size_t | openmpt_probe_file_header_get_recommended_size (void)
| Get recommended header size for successfull format probing.
int | openmpt_probe_file_header (uint64_t flags, const void *data, size_t size, uint64_t filesize, openmpt_log_func logfunc, void *loguser, openmpt_error_func errfunc, void *erruser, int *error, const char **error_message)
| Probe the provided bytes from the beginning of a file for supported file format headers to find out whether libopenmpt might be able to open it.
int | openmpt_probe_file_header_without_filesize (uint64_t flags, const void *data, size_t size, openmpt_log_func logfunc, void *loguser, openmpt_error_func errfunc, void *erruser, int *error, const char **error_message)
| Probe the provided bytes from the beginning of a file for supported file format headers to find out whether libopenmpt might be able to open it.
int | openmpt_probe_file_header_from_stream (uint64_t flags, openmpt_stream_callbacks stream_callbacks, void *stream, openmpt_log_func logfunc, void *loguser, openmpt_error_func errfunc, void *erruser, int *error, const char **error_message)
| Probe the provided bytes from the beginning of a file for supported file format headers to find out whether libopenmpt might be able to open it.
openmpt_module * | openmpt_module_create (openmpt_stream_callbacks stream_callbacks, void *stream, openmpt_log_func logfunc, void *loguser, const openmpt_module_initial_ctl *ctls)
| Construct an openmpt_module.
openmpt_module * | openmpt_module_create2 (openmpt_stream_callbacks stream_callbacks, void *stream, openmpt_log_func logfunc, void *loguser, openmpt_error_func errfunc, void *erruser, int *error, const char **error_message, const openmpt_module_initial_ctl *ctls)
| Construct an openmpt_module.
openmpt_module * | openmpt_module_create_from_memory (const void *filedata, size_t filesize, openmpt_log_func logfunc, void *loguser, const openmpt_module_initial_ctl *ctls)
| Construct an openmpt_module.
openmpt_module * | openmpt_module_create_from_memory2 (const void *filedata, size_t filesize, openmpt_log_func logfunc, void *loguser, openmpt_error_func errfunc, void *erruser, int *error, const char **error_message, const openmpt_module_initial_ctl *ctls)
| Construct an openmpt_module.
void | openmpt_module_destroy (openmpt_module *mod)
| Unload a previously created openmpt_module from memory.
void | openmpt_module_set_log_func (openmpt_module *mod, openmpt_log_func logfunc, void *loguser)
| Set logging function.
void | openmpt_module_set_error_func (openmpt_module *mod, openmpt_error_func errfunc, void *erruser)
| Set error function.
int | openmpt_module_error_get_last (openmpt_module *mod)
| Get last error.
const char * | openmpt_module_error_get_last_message (openmpt_module *mod)
| Get last error message.
void | openmpt_module_error_set_last (openmpt_module *mod, int error)
| Set last error.
void | openmpt_module_error_clear (openmpt_module *mod)
| Clear last error.
int | openmpt_module_select_subsong (openmpt_module *mod, int32_t subsong)
| Select a sub-song from a multi-song module.
int32_t | openmpt_module_get_selected_subsong (openmpt_module *mod)
| Get currently selected sub-song from a multi-song module.
int32_t | openmpt_module_get_restart_order (openmpt_module *mod, int32_t subsong)
| Get the restart order of the specified sub-song.
int32_t | openmpt_module_get_restart_row (openmpt_module *mod, int32_t subsong)
| Get the restart row of the specified sub-song.
int | openmpt_module_set_repeat_count (openmpt_module *mod, int32_t repeat_count)
| Set Repeat Count.
int32_t | openmpt_module_get_repeat_count (openmpt_module *mod)
| Get Repeat Count.
double | openmpt_module_get_duration_seconds (openmpt_module *mod)
| approximate song duration
double | openmpt_module_get_time_at_position (openmpt_module *mod, int32_t order, int32_t row)
| Get approximate playback time in seconds at given position.
double | openmpt_module_set_position_seconds (openmpt_module *mod, double seconds)
| Set approximate current song position.
double | openmpt_module_get_position_seconds (openmpt_module *mod)
| Get current song position.
double | openmpt_module_set_position_order_row (openmpt_module *mod, int32_t order, int32_t row)
| Set approximate current song position.
int | openmpt_module_get_render_param (openmpt_module *mod, int param, int32_t *value)
| Get render parameter.
int | openmpt_module_set_render_param (openmpt_module *mod, int param, int32_t value)
| Set render parameter.
size_t | openmpt_module_read_mono (openmpt_module *mod, int32_t samplerate, size_t count, int16_t *mono)
| Render audio data.
size_t | openmpt_module_read_stereo (openmpt_module *mod, int32_t samplerate, size_t count, int16_t *left, int16_t *right)
| Render audio data.
size_t | openmpt_module_read_quad (openmpt_module *mod, int32_t samplerate, size_t count, int16_t *left, int16_t *right, int16_t *rear_left, int16_t *rear_right)
| Render audio data.
size_t | openmpt_module_read_float_mono (openmpt_module *mod, int32_t samplerate, size_t count, float *mono)
| Render audio data.
size_t | openmpt_module_read_float_stereo (openmpt_module *mod, int32_t samplerate, size_t count, float *left, float *right)
| Render audio data.
size_t | openmpt_module_read_float_quad (openmpt_module *mod, int32_t samplerate, size_t count, float *left, float *right, float *rear_left, float *rear_right)
| Render audio data.
size_t | openmpt_module_read_interleaved_stereo (openmpt_module *mod, int32_t samplerate, size_t count, int16_t *interleaved_stereo)
| Render audio data.
size_t | openmpt_module_read_interleaved_quad (openmpt_module *mod, int32_t samplerate, size_t count, int16_t *interleaved_quad)
| Render audio data.
size_t | openmpt_module_read_interleaved_float_stereo (openmpt_module *mod, int32_t samplerate, size_t count, float *interleaved_stereo)
| Render audio data.
size_t | openmpt_module_read_interleaved_float_quad (openmpt_module *mod, int32_t samplerate, size_t count, float *interleaved_quad)
| Render audio data.
const char * | openmpt_module_get_metadata_keys (openmpt_module *mod)
| Get the list of supported metadata item keys.
const char * | openmpt_module_get_metadata (openmpt_module *mod, const char *key)
| Get a metadata item value.
double | openmpt_module_get_current_estimated_bpm (openmpt_module *mod)
int32_t | openmpt_module_get_current_speed (openmpt_module *mod)
| Get the current speed.
int32_t | openmpt_module_get_current_tempo (openmpt_module *mod)
| Get the current tempo.
double | openmpt_module_get_current_tempo2 (openmpt_module *mod)
| Get the current tempo.
int32_t | openmpt_module_get_current_sequence (openmpt_module *mod)
| Get the current sequence.
int32_t | openmpt_module_get_current_order (openmpt_module *mod)
| Get the current order.
int32_t | openmpt_module_get_current_pattern (openmpt_module *mod)
| Get the current pattern.
int32_t | openmpt_module_get_current_row (openmpt_module *mod)
| Get the current row.
int32_t | openmpt_module_get_current_playing_channels (openmpt_module *mod)
| Get the current amount of playing channels.
float | openmpt_module_get_current_channel_vu_mono (openmpt_module *mod, int32_t channel)
| Get an approximate indication of the channel volume.
float | openmpt_module_get_current_channel_vu_left (openmpt_module *mod, int32_t channel)
| Get an approximate indication of the channel volume on the front-left speaker.
float | openmpt_module_get_current_channel_vu_right (openmpt_module *mod, int32_t channel)
| Get an approximate indication of the channel volume on the front-right speaker.
float | openmpt_module_get_current_channel_vu_rear_left (openmpt_module *mod, int32_t channel)
| Get an approximate indication of the channel volume on the rear-left speaker.
float | openmpt_module_get_current_channel_vu_rear_right (openmpt_module *mod, int32_t channel)
| Get an approximate indication of the channel volume on the rear-right speaker.
int32_t | openmpt_module_get_num_subsongs (openmpt_module *mod)
| Get the number of sub-songs.
int32_t | openmpt_module_get_num_channels (openmpt_module *mod)
| Get the number of pattern channels.
int32_t | openmpt_module_get_num_orders (openmpt_module *mod)
| Get the number of orders.
int32_t | openmpt_module_get_num_patterns (openmpt_module *mod)
| Get the number of patterns.
int32_t | openmpt_module_get_num_instruments (openmpt_module *mod)
| Get the number of instruments.
int32_t | openmpt_module_get_num_samples (openmpt_module *mod)
| Get the number of samples.
const char * | openmpt_module_get_subsong_name (openmpt_module *mod, int32_t index)
| Get a sub-song name.
const char * | openmpt_module_get_channel_name (openmpt_module *mod, int32_t index)
| Get a channel name.
const char * | openmpt_module_get_order_name (openmpt_module *mod, int32_t index)
| Get an order name.
const char * | openmpt_module_get_pattern_name (openmpt_module *mod, int32_t index)
| Get a pattern name.
const char * | openmpt_module_get_instrument_name (openmpt_module *mod, int32_t index)
| Get an instrument name.
const char * | openmpt_module_get_sample_name (openmpt_module *mod, int32_t index)
| Get a sample name.
int32_t | openmpt_module_get_order_pattern (openmpt_module *mod, int32_t order)
| Get pattern at order position.
int | openmpt_module_is_order_skip_entry (openmpt_module *mod, int32_t order)
| Check if specified order is a skip ("+++") item.
int | openmpt_module_is_pattern_skip_item (openmpt_module *mod, int32_t pattern)
| Check if specified pattern index is a skip ("+++") item.
int | openmpt_module_is_order_stop_entry (openmpt_module *mod, int32_t order)
| Check if specified order is a stop ("---") item.
int | openmpt_module_is_pattern_stop_item (openmpt_module *mod, int32_t pattern)
| Check if specified pattern index is a stop ("---") item.
int32_t | openmpt_module_get_pattern_num_rows (openmpt_module *mod, int32_t pattern)
| Get the number of rows in a pattern.
int32_t | openmpt_module_get_pattern_rows_per_beat (openmpt_module *mod, int32_t pattern)
| Get the rows per beat of a pattern.
int32_t | openmpt_module_get_pattern_rows_per_measure (openmpt_module *mod, int32_t pattern)
| Get the rows per measure of a pattern.
uint8_t | openmpt_module_get_pattern_row_channel_command (openmpt_module *mod, int32_t pattern, int32_t row, int32_t channel, int command)
| Get raw pattern content.
const char * | openmpt_module_format_pattern_row_channel_command (openmpt_module *mod, int32_t pattern, int32_t row, int32_t channel, int command)
| Get formatted (human-readable) pattern content.
const char * | openmpt_module_highlight_pattern_row_channel_command (openmpt_module *mod, int32_t pattern, int32_t row, int32_t channel, int command)
| Get highlighting information for formatted pattern content.
const char * | openmpt_module_format_pattern_row_channel (openmpt_module *mod, int32_t pattern, int32_t row, int32_t channel, size_t width, int pad)
| Get formatted (human-readable) pattern content.
const char * | openmpt_module_highlight_pattern_row_channel (openmpt_module *mod, int32_t pattern, int32_t row, int32_t channel, size_t width, int pad)
| Get highlighting information for formatted pattern content.
const char * | openmpt_module_get_ctls (openmpt_module *mod)
| Retrieve supported ctl keys.
const char * | openmpt_module_ctl_get (openmpt_module *mod, const char *ctl)
| Get current ctl value.
int | openmpt_module_ctl_get_boolean (openmpt_module *mod, const char *ctl)
| Get current ctl boolean value.
int64_t | openmpt_module_ctl_get_integer (openmpt_module *mod, const char *ctl)
| Get current ctl integer value.
double | openmpt_module_ctl_get_floatingpoint (openmpt_module *mod, const char *ctl)
| Get current ctl floatingpoint value.
const char * | openmpt_module_ctl_get_text (openmpt_module *mod, const char *ctl)
| Get current ctl string value.
int | openmpt_module_ctl_set (openmpt_module *mod, const char *ctl, const char *value)
| Set ctl value.
int | openmpt_module_ctl_set_boolean (openmpt_module *mod, const char *ctl, int value)
| Set ctl boolean value.
int | openmpt_module_ctl_set_integer (openmpt_module *mod, const char *ctl, int64_t value)
| Set ctl integer value.
int | openmpt_module_ctl_set_floatingpoint (openmpt_module *mod, const char *ctl, double value)
| Set ctl floatingpoint value.
int | openmpt_module_ctl_set_text (openmpt_module *mod, const char *ctl, const char *value)
| Set ctl string value.