Native

NAME

OpenMPT::Bindings::Native - Raw NativeCall declarations for libopenmpt

DESCRIPTION

Provides is export subroutines for every function exported by libopenmpt.so. These are thin FFI wrappers — most users will want the OOP interface in OpenMPT::Bindings::Module instead.

FUNCTION GROUPS

Library info

openmpt_get_library_version()            returns uint32
    openmpt_get_core_version()               returns uint32
    openmpt_get_string(Str $key)             returns Pointer[uint8]  (free)
    openmpt_get_supported_extensions()       returns Pointer[uint8]  (free)
    openmpt_is_extension_supported(Str)      returns int32
    openmpt_free_string(Pointer[uint8])

Error utilities

openmpt_error_is_transient(int32 $error)          returns int32
    openmpt_error_string(int32 $error)                returns Pointer[uint8]  (const, do not free)

File probing

openmpt_probe_file_header_get_recommended_size()  returns size_t
    openmpt_probe_file_header(...)                     returns int32
    openmpt_probe_file_header_without_filesize(...)    returns int32

Module creation/destruction

openmpt_module_create_from_memory2(...)   returns Pointer[void]
    openmpt_module_destroy(Pointer[void])

Per-module log/error

openmpt_module_set_log_func(Pointer[void], &, Pointer[void])
    openmpt_module_set_error_func(Pointer[void], &, Pointer[void])
    openmpt_module_error_get_last(Pointer[void])          returns int32
    openmpt_module_error_get_last_message(Pointer[void])  returns Pointer[uint8]  (free)
    openmpt_module_error_set_last(Pointer[void], int32)
    openmpt_module_error_clear(Pointer[void])

Playback control

openmpt_module_select_subsong(Pointer[void], int32)      returns int32
    openmpt_module_get_selected_subsong(Pointer[void])       returns int32
    openmpt_module_set_repeat_count(Pointer[void], int32)    returns int32
    openmpt_module_get_repeat_count(Pointer[void])           returns int32

Position / duration

openmpt_module_get_duration_seconds(Pointer[void])       returns num64
    openmpt_module_set_position_seconds(Pointer[void], num64) returns num64
    openmpt_module_get_position_seconds(Pointer[void])       returns num64
    openmpt_module_set_position_order_row(Pointer[void], int32, int32) returns num64
    openmpt_module_get_time_at_position(Pointer[void], int32, int32)  returns num64

Render parameters

openmpt_module_get_render_param(Pointer[void], int32, Pointer[int32]) returns int32
    openmpt_module_set_render_param(Pointer[void], int32, int32)          returns int32

Audio rendering — float

openmpt_module_read_float_mono(Pointer[void], int32, size_t, CArray[num32])          returns size_t
    openmpt_module_read_float_stereo(Pointer[void], int32, size_t, CArray[num32], CArray[num32])  returns size_t
    openmpt_module_read_float_quad(Pointer[void], int32, size_t, CArray[num32], CArray[num32], CArray[num32], CArray[num32])  returns size_t
    openmpt_module_read_interleaved_float_stereo(Pointer[void], int32, size_t, CArray[num32])  returns size_t
    openmpt_module_read_interleaved_float_quad(Pointer[void], int32, size_t, CArray[num32])    returns size_t

Audio rendering — int16

openmpt_module_read_mono(Pointer[void], int32, size_t, CArray[int16])             returns size_t
    openmpt_module_read_stereo(Pointer[void], int32, size_t, CArray[int16], CArray[int16])  returns size_t
    openmpt_module_read_quad(Pointer[void], int32, size_t, CArray[int16], CArray[int16], CArray[int16], CArray[int16])  returns size_t
    openmpt_module_read_interleaved_stereo(Pointer[void], int32, size_t, CArray[int16])  returns size_t
    openmpt_module_read_interleaved_quad(Pointer[void], int32, size_t, CArray[int16])    returns size_t

Metadata

openmpt_module_get_metadata(Pointer[void], Str $key)       returns Pointer[uint8]  (free)
    openmpt_module_get_metadata_keys(Pointer[void])            returns Pointer[uint8]  (free)

Module info — counts

openmpt_module_get_num_subsongs(Pointer[void])    returns int32
    openmpt_module_get_num_channels(Pointer[void])    returns int32
    openmpt_module_get_num_orders(Pointer[void])      returns int32
    openmpt_module_get_num_patterns(Pointer[void])    returns int32
    openmpt_module_get_num_instruments(Pointer[void]) returns int32
    openmpt_module_get_num_samples(Pointer[void])     returns int32
    openmpt_module_get_restart_order(Pointer[void], int32) returns int32
    openmpt_module_get_restart_row(Pointer[void], int32)   returns int32

Module info — names (must free)

openmpt_module_get_subsong_name(Pointer[void], int32)    returns Pointer[uint8]  (free)
    openmpt_module_get_channel_name(Pointer[void], int32)   returns Pointer[uint8]  (free)
    openmpt_module_get_order_name(Pointer[void], int32)     returns Pointer[uint8]  (free)
    openmpt_module_get_pattern_name(Pointer[void], int32)   returns Pointer[uint8]  (free)
    openmpt_module_get_instrument_name(Pointer[void], int32) returns Pointer[uint8]  (free)
    openmpt_module_get_sample_name(Pointer[void], int32)    returns Pointer[uint8]  (free)

Playback status

openmpt_module_get_current_estimated_bpm(Pointer[void])   returns num64
    openmpt_module_get_current_speed(Pointer[void])            returns int32
    openmpt_module_get_current_tempo(Pointer[void])            returns int32  (deprecated)
    openmpt_module_get_current_tempo2(Pointer[void])           returns num64
    openmpt_module_get_current_order(Pointer[void])            returns int32
    openmpt_module_get_current_pattern(Pointer[void])          returns int32
    openmpt_module_get_current_row(Pointer[void])              returns int32
    openmpt_module_get_current_playing_channels(Pointer[void]) returns int32
    openmpt_module_get_current_channel_vu_mono(Pointer[void], int32)     returns num32
    openmpt_module_get_current_channel_vu_left(Pointer[void], int32)     returns num32
    openmpt_module_get_current_channel_vu_right(Pointer[void], int32)    returns num32
    openmpt_module_get_current_channel_vu_rear_left(Pointer[void], int32)  returns num32
    openmpt_module_get_current_channel_vu_rear_right(Pointer[void], int32) returns num32

Pattern / order access

openmpt_module_get_order_pattern(Pointer[void], int32)            returns int32
    openmpt_module_is_order_skip_entry(Pointer[void], int32)          returns int32
    openmpt_module_is_order_stop_entry(Pointer[void], int32)          returns int32
    openmpt_module_is_pattern_skip_item(Pointer[void], int32)         returns int32
    openmpt_module_is_pattern_stop_item(Pointer[void], int32)         returns int32
    openmpt_module_get_pattern_num_rows(Pointer[void], int32)         returns int32
    openmpt_module_get_pattern_rows_per_beat(Pointer[void], int32)    returns int32
    openmpt_module_get_pattern_rows_per_measure(Pointer[void], int32) returns int32
    openmpt_module_get_pattern_row_channel_command(Pointer[void], int32, int32, int32, int32) returns uint8
    openmpt_module_format_pattern_row_channel_command(Pointer[void], int32, int32, int32, int32) returns Pointer[uint8]  (free)
    openmpt_module_highlight_pattern_row_channel_command(Pointer[void], int32, int32, int32, int32) returns Pointer[uint8]  (free)
    openmpt_module_format_pattern_row_channel(Pointer[void], int32, int32, int32, size_t, int32) returns Pointer[uint8]  (free)
    openmpt_module_highlight_pattern_row_channel(Pointer[void], int32, int32, int32, size_t, int32) returns Pointer[uint8]  (free)

CTL interface

openmpt_module_get_ctls(Pointer[void])                       returns Pointer[uint8]  (free)
    openmpt_module_ctl_get_boolean(Pointer[void], Str)           returns int32
    openmpt_module_ctl_get_integer(Pointer[void], Str)           returns int64
    openmpt_module_ctl_get_floatingpoint(Pointer[void], Str)     returns num64
    openmpt_module_ctl_get_text(Pointer[void], Str)              returns Pointer[uint8]  (free)
    openmpt_module_ctl_set_boolean(Pointer[void], Str, int32)    returns int32
    openmpt_module_ctl_set_integer(Pointer[void], Str, int64)    returns int32
    openmpt_module_ctl_set_floatingpoint(Pointer[void], Str, num64) returns int32
    openmpt_module_ctl_set_text(Pointer[void], Str, Str)         returns int32

NOTES

Functions marked (free) return allocated strings that must be freed with openmpt_free_string. The exception is openmpt_error_string which returns a const char* — do not free its result.

SEE ALSO

OpenMPT::Bindings v0.0.3

Raku bindings for libopenmpt (module music rendering)

Authors

  • Sasha Abbott

License

CC0-1.0

Dependencies

Test Dependencies

Provides

  • OpenMPT::Bindings
  • OpenMPT::Bindings::Exception
  • OpenMPT::Bindings::Module
  • OpenMPT::Bindings::ModuleExt
  • OpenMPT::Bindings::Native
  • OpenMPT::Bindings::NativeLib
  • OpenMPT::Bindings::Types
  • OpenMPT::Bindings::Util

Documentation

The Camelia image is copyright 2009 by Larry Wall. "Raku" is a trademark of the Yet Another Society. All rights reserved.

Built with Podlite — the markup and publishing tools behind this site.