192 #define OPENMPT_STRING_LIBRARY_VERSION LIBOPENMPT_DEPRECATED_STRING( "library_version" )
194 #define OPENMPT_STRING_LIBRARY_FEATURES LIBOPENMPT_DEPRECATED_STRING( "library_features" )
196 #define OPENMPT_STRING_CORE_VERSION LIBOPENMPT_DEPRECATED_STRING( "core_version" )
198 #define OPENMPT_STRING_BUILD LIBOPENMPT_DEPRECATED_STRING( "build" )
200 #define OPENMPT_STRING_CREDITS LIBOPENMPT_DEPRECATED_STRING( "credits" )
202 #define OPENMPT_STRING_CONTACT LIBOPENMPT_DEPRECATED_STRING( "contact" )
204 #define OPENMPT_STRING_LICENSE LIBOPENMPT_DEPRECATED_STRING( "license" )
252 #define OPENMPT_STREAM_SEEK_SET 0
254 #define OPENMPT_STREAM_SEEK_CUR 1
256 #define OPENMPT_STREAM_SEEK_END 2
340 #define OPENMPT_ERROR_OK 0
343 #define OPENMPT_ERROR_BASE 256
346 #define OPENMPT_ERROR_UNKNOWN ( OPENMPT_ERROR_BASE + 1 )
349 #define OPENMPT_ERROR_EXCEPTION ( OPENMPT_ERROR_BASE + 11 )
352 #define OPENMPT_ERROR_OUT_OF_MEMORY ( OPENMPT_ERROR_BASE + 21 )
355 #define OPENMPT_ERROR_RUNTIME ( OPENMPT_ERROR_BASE + 30 )
357 #define OPENMPT_ERROR_RANGE ( OPENMPT_ERROR_BASE + 31 )
359 #define OPENMPT_ERROR_OVERFLOW ( OPENMPT_ERROR_BASE + 32 )
361 #define OPENMPT_ERROR_UNDERFLOW ( OPENMPT_ERROR_BASE + 33 )
364 #define OPENMPT_ERROR_LOGIC ( OPENMPT_ERROR_BASE + 40 )
366 #define OPENMPT_ERROR_DOMAIN ( OPENMPT_ERROR_BASE + 41 )
368 #define OPENMPT_ERROR_LENGTH ( OPENMPT_ERROR_BASE + 42 )
370 #define OPENMPT_ERROR_OUT_OF_RANGE ( OPENMPT_ERROR_BASE + 43 )
372 #define OPENMPT_ERROR_INVALID_ARGUMENT ( OPENMPT_ERROR_BASE + 44 )
375 #define OPENMPT_ERROR_GENERAL ( OPENMPT_ERROR_BASE + 101 )
377 #define OPENMPT_ERROR_INVALID_MODULE_POINTER ( OPENMPT_ERROR_BASE + 102 )
379 #define OPENMPT_ERROR_ARGUMENT_NULL_POINTER ( OPENMPT_ERROR_BASE + 103 )
403 #define OPENMPT_ERROR_FUNC_RESULT_NONE 0
405 #define OPENMPT_ERROR_FUNC_RESULT_LOG ( 1 << 0 )
407 #define OPENMPT_ERROR_FUNC_RESULT_STORE ( 1 << 1 )
409 #define OPENMPT_ERROR_FUNC_RESULT_DEFAULT ( OPENMPT_ERROR_FUNC_RESULT_LOG | OPENMPT_ERROR_FUNC_RESULT_STORE )
558 #define OPENMPT_PROBE_FILE_HEADER_FLAGS_MODULES 0x1ul
560 #define OPENMPT_PROBE_FILE_HEADER_FLAGS_CONTAINERS 0x2ul
563 #define OPENMPT_PROBE_FILE_HEADER_FLAGS_DEFAULT ( OPENMPT_PROBE_FILE_HEADER_FLAGS_MODULES | OPENMPT_PROBE_FILE_HEADER_FLAGS_CONTAINERS )
565 #define OPENMPT_PROBE_FILE_HEADER_FLAGS_NONE 0x0ul
568 #define OPENMPT_PROBE_FILE_HEADER_RESULT_SUCCESS 1
570 #define OPENMPT_PROBE_FILE_HEADER_RESULT_FAILURE 0
572 #define OPENMPT_PROBE_FILE_HEADER_RESULT_WANTMOREDATA (-1)
574 #define OPENMPT_PROBE_FILE_HEADER_RESULT_ERROR (-255)
811 #define OPENMPT_MODULE_RENDER_MASTERGAIN_MILLIBEL 1
818 #define OPENMPT_MODULE_RENDER_STEREOSEPARATION_PERCENT 2
831 #define OPENMPT_MODULE_RENDER_INTERPOLATIONFILTER_LENGTH 3
840 #define OPENMPT_MODULE_RENDER_VOLUMERAMPING_STRENGTH 4
849 #define OPENMPT_MODULE_COMMAND_NOTE 0
850 #define OPENMPT_MODULE_COMMAND_INSTRUMENT 1
851 #define OPENMPT_MODULE_COMMAND_VOLUMEEFFECT 2
852 #define OPENMPT_MODULE_COMMAND_EFFECT 3
853 #define OPENMPT_MODULE_COMMAND_VOLUME 4
854 #define OPENMPT_MODULE_COMMAND_PARAMETER 5
int32_t openmpt_module_get_current_tempo(openmpt_module *mod)
Get the current tempo.
uint32_t openmpt_get_core_version(void)
Get the core version number.
size_t openmpt_module_read_stereo(openmpt_module *mod, int32_t samplerate, size_t count, int16_t *left, int16_t *right)
Render audio data.
const char * openmpt_get_string(const char *key)
Get library related metadata.
#define LIBOPENMPT_DEPRECATED
Definition: libopenmpt_config.h:149
void openmpt_log_func_silent(const char *message, void *user)
Silent logging function.
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.
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 w...
int openmpt_error_func_store(int error, void *user)
Store error function.
int32_t openmpt_module_get_pattern_num_rows(openmpt_module *mod, int32_t pattern)
Get the number of rows in a pattern.
int openmpt_module_select_subsong(openmpt_module *mod, int32_t subsong)
Select a sub-song from a multi-song module.
size_t openmpt_module_read_float_stereo(openmpt_module *mod, int32_t samplerate, size_t count, float *left, float *right)
Render audio data.
struct openmpt_stream_callbacks openmpt_stream_callbacks
Stream callbacks.
int openmpt_module_get_render_param(openmpt_module *mod, int param, int32_t *value)
Get render parameter.
size_t openmpt_module_read_interleaved_float_stereo(openmpt_module *mod, int32_t samplerate, size_t count, float *interleaved_stereo)
Render audio data.
int(* openmpt_stream_seek_func)(void *stream, int64_t offset, int whence)
Seek stream position.
Definition: libopenmpt.h:281
const char * ctl
Definition: libopenmpt.h:659
const char * openmpt_module_get_instrument_name(openmpt_module *mod, int32_t index)
Get an instrument name.
int openmpt_module_set_repeat_count(openmpt_module *mod, int32_t repeat_count)
Set Repeat Count.
void openmpt_free_string(const char *str)
Free a string returned by libopenmpt.
double openmpt_module_set_position_seconds(openmpt_module *mod, double seconds)
Set approximate current song position.
int openmpt_error_func_ignore(int error, void *user)
Ignore error function.
int openmpt_error_func_errno(int error, void *user)
Errno error function.
int32_t openmpt_module_get_current_pattern(openmpt_module *mod)
Get the current pattern.
int64_t(* openmpt_stream_tell_func)(void *stream)
Tell stream position.
Definition: libopenmpt.h:290
openmpt_stream_tell_func tell
Tell callback.
Definition: libopenmpt.h:316
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.
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.
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.
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.
int openmpt_error_func_default(int error, void *user)
Default error function.
size_t openmpt_module_read_mono(openmpt_module *mod, int32_t samplerate, size_t count, int16_t *mono)
Render audio data.
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...
const char * openmpt_module_get_metadata(openmpt_module *mod, const char *key)
Get a metadata item value.
void(* openmpt_log_func)(const char *message, void *user)
Logging function.
Definition: libopenmpt.h:325
size_t openmpt_module_read_interleaved_quad(openmpt_module *mod, int32_t samplerate, size_t count, int16_t *interleaved_quad)
Render audio data.
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...
const char * value
Definition: libopenmpt.h:660
int32_t openmpt_module_get_num_patterns(openmpt_module *mod)
Get the number of patterns.
void openmpt_module_error_set_last(openmpt_module *mod, int error)
Set last error.
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_repeat_count(openmpt_module *mod)
Get Repeat Count.
int openmpt_module_error_get_last(openmpt_module *mod)
Get last error.
size_t openmpt_module_read_interleaved_stereo(openmpt_module *mod, int32_t samplerate, size_t count, int16_t *interleaved_stereo)
Render audio data.
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.
void * openmpt_error_func_errno_userdata(int *error)
User pointer for openmpt_error_func_errno.
struct openmpt_module openmpt_module
Opaque type representing a libopenmpt module.
Definition: libopenmpt.h:656
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 w...
const char * openmpt_module_get_order_name(openmpt_module *mod, int32_t index)
Get an order name.
int openmpt_module_ctl_set(openmpt_module *mod, const char *ctl, const char *value)
Set ctl value.
struct openmpt_module_initial_ctl openmpt_module_initial_ctl
double openmpt_module_set_position_order_row(openmpt_module *mod, int32_t order, int32_t row)
Set approximate current song position.
const char * openmpt_error_string(int error)
Convert error code to text.
const char * openmpt_module_get_metadata_keys(openmpt_module *mod)
Get the list of supported metadata item keys.
uint32_t openmpt_get_library_version(void)
Get the libopenmpt version number.
int openmpt_is_extension_supported(const char *extension)
Query whether a file extension is supported.
size_t openmpt_probe_file_header_get_recommended_size(void)
Get recommended header size for successfull format probing.
const char * openmpt_module_get_sample_name(openmpt_module *mod, int32_t index)
Get a sample name.
int openmpt_error_is_transient(int error)
Check whether the error is transient.
size_t(* openmpt_stream_read_func)(void *stream, void *dst, size_t bytes)
Read bytes from stream.
Definition: libopenmpt.h:268
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.
Stream callbacks.
Definition: libopenmpt.h:296
int32_t openmpt_module_get_num_samples(openmpt_module *mod)
Get the number of samples.
double openmpt_module_get_position_seconds(openmpt_module *mod)
Get current song position.
int openmpt_error_func_log(int error, void *user)
Log error function.
int openmpt_module_set_render_param(openmpt_module *mod, int param, int32_t value)
Set render parameter.
int32_t openmpt_module_get_current_playing_channels(openmpt_module *mod)
Get the current amount of playing channels.
size_t openmpt_module_read_float_mono(openmpt_module *mod, int32_t samplerate, size_t count, float *mono)
Render audio data.
int32_t openmpt_module_get_current_order(openmpt_module *mod)
Get the current order.
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_ctl_get(openmpt_module *mod, const char *ctl)
Get current ctl value.
void openmpt_module_error_clear(openmpt_module *mod)
Clear last error.
const char * openmpt_module_get_channel_name(openmpt_module *mod, int32_t index)
Get a channel name.
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.
const char * openmpt_module_get_pattern_name(openmpt_module *mod, int32_t index)
Get a pattern name.
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...
openmpt_stream_read_func read
Read callback.
Definition: libopenmpt.h:302
double openmpt_module_get_duration_seconds(openmpt_module *mod)
approximate song duration
int32_t openmpt_module_get_selected_subsong(openmpt_module *mod)
Get currently selected sub-song from a multi-song module.
const char * openmpt_module_get_subsong_name(openmpt_module *mod, int32_t index)
Get a sub-song name.
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.
void openmpt_module_destroy(openmpt_module *mod)
Unload a previously created openmpt_module from memory.
int32_t openmpt_module_get_num_channels(openmpt_module *mod)
Get the number of pattern channels.
void openmpt_module_set_log_func(openmpt_module *mod, openmpt_log_func logfunc, void *loguser)
Set logging function.
const char * openmpt_get_supported_extensions(void)
Get a list of supported file extensions.
int32_t openmpt_module_get_current_row(openmpt_module *mod)
Get the current row.
const char * openmpt_module_get_ctls(openmpt_module *mod)
Retrieve supported ctl keys.
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.
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.
int32_t openmpt_module_get_order_pattern(openmpt_module *mod, int32_t order)
Get pattern at order position.
void openmpt_module_set_error_func(openmpt_module *mod, openmpt_error_func errfunc, void *erruser)
Set error function.
float openmpt_module_get_current_channel_vu_mono(openmpt_module *mod, int32_t channel)
Get an approximate indication of the channel volume.
int32_t openmpt_module_get_num_orders(openmpt_module *mod)
Get the number of orders.
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.
openmpt_stream_seek_func seek
Seek callback.
Definition: libopenmpt.h:309
int32_t openmpt_module_get_num_instruments(openmpt_module *mod)
Get the number of instruments.
int32_t openmpt_module_get_num_subsongs(openmpt_module *mod)
Get the number of sub-songs.
Definition: libopenmpt.h:658
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.
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 w...
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.
int(* openmpt_error_func)(int error, void *user)
Error function.
Definition: libopenmpt.h:431
void openmpt_log_func_default(const char *message, void *user)
Default logging function.
int32_t openmpt_module_get_current_speed(openmpt_module *mod)
Get the current speed.
const char * openmpt_module_error_get_last_message(openmpt_module *mod)
Get last error message.