Module openmpt::module [] [src]

The definition of the openmpt_module wrapper, analogous to the module class in the C++ API.

This contains everything needed to create instances Modules using module files or data. The rest is defined in the various submodules.

Thread-safety

This wrapper is written on top of the C API, which the openmpt developpers reccomand against attempting to access concurrently, unlike with the C++ API where const member functions are safe. This is because, while the C and C++ public APIs use the same underlying C++ functions, the C API tends to mutate the underlying object to store anything that cannot be returned immediately, such as exceptions.

Because of that, all methods for Module have been marked as requiring a mutable reference to self, in order to ensure that no concurrent access to the underlying object can ever be made.

Modules

ctls

Definitions for all types and methods used to set and query libopenmpt parameters for the loaded module

current

Definitions for all methods used to set and query the current state of the module

iteration

Definitions for all types and methods used to iterate on the module's pattern data

metadata

Definitions for all types and methods used query module metadata

render

Definitions for all methods related to module mixing and rendering only.

stream

Generic traits used to provide callbacks for Module::create().

Structs

Module

Enums

CouldOpenEffort

An enum containing the key effort values for could_open_propability

Logger

Functions

could_open_propability

Roughly scan the input stream to find out whether libopenmpt might be able to open it.