10#ifndef LIBOPENMPT_EXT_H
11#define LIBOPENMPT_EXT_H
105#ifndef LIBOPENMPT_EXT_C_INTERFACE_PATTERN_VIS
106#define LIBOPENMPT_EXT_C_INTERFACE_PATTERN_VIS "pattern_vis"
110#define OPENMPT_MODULE_EXT_INTERFACE_PATTERN_VIS_EFFECT_TYPE_UNKNOWN 0
111#define OPENMPT_MODULE_EXT_INTERFACE_PATTERN_VIS_EFFECT_TYPE_GENERAL 1
112#define OPENMPT_MODULE_EXT_INTERFACE_PATTERN_VIS_EFFECT_TYPE_GLOBAL 2
113#define OPENMPT_MODULE_EXT_INTERFACE_PATTERN_VIS_EFFECT_TYPE_VOLUME 3
114#define OPENMPT_MODULE_EXT_INTERFACE_PATTERN_VIS_EFFECT_TYPE_PANNING 4
115#define OPENMPT_MODULE_EXT_INTERFACE_PATTERN_VIS_EFFECT_TYPE_PITCH 5
143#ifndef LIBOPENMPT_EXT_C_INTERFACE_INTERACTIVE
144#define LIBOPENMPT_EXT_C_INTERFACE_INTERACTIVE "interactive"
311#ifndef LIBOPENMPT_EXT_C_INTERFACE_INTERACTIVE2
312#define LIBOPENMPT_EXT_C_INTERFACE_INTERACTIVE2 "interactive2"
393#ifndef LIBOPENMPT_EXT_C_INTERFACE_INTERACTIVE3
394#define LIBOPENMPT_EXT_C_INTERFACE_INTERACTIVE3 "interactive3"
int(* openmpt_error_func)(int error, void *user)
Error function.
Definition: libopenmpt.h:435
struct openmpt_module openmpt_module
Opaque type representing a libopenmpt module.
Definition: libopenmpt.h:660
void(* openmpt_log_func)(const char *message, void *user)
Logging function.
Definition: libopenmpt.h:329
struct openmpt_module_ext_interface_pattern_vis openmpt_module_ext_interface_pattern_vis
int openmpt_module_ext_get_interface(openmpt_module_ext *mod_ext, const char *interface_id, void *interface, size_t interface_size)
openmpt_module_ext * openmpt_module_ext_create_from_memory(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_ext.
struct openmpt_module_ext_interface_interactive2 openmpt_module_ext_interface_interactive2
void openmpt_module_ext_destroy(openmpt_module_ext *mod_ext)
Unload a previously created openmpt_module_ext from memory.
openmpt_module * openmpt_module_ext_get_module(openmpt_module_ext *mod_ext)
Retrieve the openmpt_module handle from an openmpt_module_ext handle.
openmpt_module_ext * openmpt_module_ext_create(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_ext.
struct openmpt_module_ext_interface_interactive3 openmpt_module_ext_interface_interactive3
struct openmpt_module_ext openmpt_module_ext
Opaque type representing a libopenmpt extension module.
Definition: libopenmpt_ext.h:39
struct openmpt_module_ext_interface_interactive openmpt_module_ext_interface_interactive
#define LIBOPENMPT_DEPRECATED
Definition: libopenmpt_config.h:315
Definition: libopenmpt_ext.h:315
int(* note_off)(openmpt_module_ext *mod_ext, int32_t channel)
Sends a key-off command for the note playing on the specified channel.
Definition: libopenmpt_ext.h:327
double(* get_channel_panning)(openmpt_module_ext *mod_ext, int32_t channel)
Get the current panning position for a channel.
Definition: libopenmpt_ext.h:362
int(* note_fade)(openmpt_module_ext *mod_ext, int32_t channel)
Sends a note fade command for the note playing on the specified channel.
Definition: libopenmpt_ext.h:340
double(* get_note_finetune)(openmpt_module_ext *mod_ext, int32_t channel)
Get the finetune for the currently playing note on a channel.
Definition: libopenmpt_ext.h:387
int(* set_channel_panning)(openmpt_module_ext *mod_ext, int32_t channel, double panning)
Set the current panning for a channel.
Definition: libopenmpt_ext.h:352
int(* set_note_finetune)(openmpt_module_ext *mod_ext, int32_t channel, double finetune)
Set the finetune for the currently playing note on a channel.
Definition: libopenmpt_ext.h:375
Definition: libopenmpt_ext.h:397
int(* set_current_tempo2)(openmpt_module_ext *mod_ext, double tempo)
Definition: libopenmpt_ext.h:407
Definition: libopenmpt_ext.h:147
int(* set_tempo_factor)(openmpt_module_ext *mod_ext, double factor)
Definition: libopenmpt_ext.h:177
int(* set_pitch_factor)(openmpt_module_ext *mod_ext, double factor)
Definition: libopenmpt_ext.h:196
int(* get_instrument_mute_status)(openmpt_module_ext *mod_ext, int32_t instrument)
Definition: libopenmpt_ext.h:280
int(* stop_note)(openmpt_module_ext *mod_ext, int32_t channel)
Definition: libopenmpt_ext.h:305
int(* get_channel_mute_status)(openmpt_module_ext *mod_ext, int32_t channel)
Definition: libopenmpt_ext.h:261
double(* get_pitch_factor)(openmpt_module_ext *mod_ext)
Definition: libopenmpt_ext.h:204
int(* set_channel_volume)(openmpt_module_ext *mod_ext, int32_t channel, double volume)
Definition: libopenmpt_ext.h:233
double(* get_global_volume)(openmpt_module_ext *mod_ext)
Definition: libopenmpt_ext.h:222
double(* get_tempo_factor)(openmpt_module_ext *mod_ext)
Definition: libopenmpt_ext.h:185
int(* set_instrument_mute_status)(openmpt_module_ext *mod_ext, int32_t instrument, int mute)
Definition: libopenmpt_ext.h:271
int32_t(* play_note)(openmpt_module_ext *mod_ext, int32_t instrument, int32_t note, double volume, double panning)
Definition: libopenmpt_ext.h:294
int(* set_global_volume)(openmpt_module_ext *mod_ext, double volume)
Definition: libopenmpt_ext.h:214
double(* get_channel_volume)(openmpt_module_ext *mod_ext, int32_t channel)
Definition: libopenmpt_ext.h:242
int(* set_channel_mute_status)(openmpt_module_ext *mod_ext, int32_t channel, int mute)
Definition: libopenmpt_ext.h:252
int(* set_current_tempo)(openmpt_module_ext *mod_ext, int32_t tempo)
Definition: libopenmpt_ext.h:167
int(* set_current_speed)(openmpt_module_ext *mod_ext, int32_t speed)
Definition: libopenmpt_ext.h:156
Definition: libopenmpt_ext.h:117
int(* get_pattern_row_channel_effect_type)(openmpt_module_ext *mod_ext, int32_t pattern, int32_t row, int32_t channel)
Definition: libopenmpt_ext.h:138
int(* get_pattern_row_channel_volume_effect_type)(openmpt_module_ext *mod_ext, int32_t pattern, int32_t row, int32_t channel)
Definition: libopenmpt_ext.h:127
Definition: libopenmpt.h:662
Stream callbacks.
Definition: libopenmpt.h:300