libopenmpt 0.7.6+release
cross-platform C++ and C library to decode tracked music files
openmpt::ext::interactive2 Class Referenceabstract

#include <libopenmpt/libopenmpt_ext.hpp>

Public Member Functions

virtual void note_off (int32_t channel)=0
 Sends a key-off command for the note playing on the specified channel. More...
 
virtual void note_fade (int32_t channel)=0
 Sends a note fade command for the note playing on the specified channel. More...
 
virtual void set_channel_panning (int32_t channel, double panning)=0
 Set the current panning position for a channel. More...
 
virtual double get_channel_panning (int32_t channel)=0
 Get the current panning position for a channel. More...
 
virtual void set_note_finetune (int32_t channel, double finetune)=0
 Set the finetune for the currently playing note on a channel. More...
 
virtual double get_note_finetune (int32_t channel)=0
 Get the finetune for the currently playing note on a channel. More...
 

Protected Member Functions

 interactive2 ()
 
virtual ~interactive2 ()
 

Constructor & Destructor Documentation

◆ interactive2()

openmpt::ext::interactive2::interactive2 ( )
inlineprotected

◆ ~interactive2()

virtual openmpt::ext::interactive2::~interactive2 ( )
inlineprotectedvirtual

Member Function Documentation

◆ get_channel_panning()

virtual double openmpt::ext::interactive2::get_channel_panning ( int32_t  channel)
pure virtual

Get the current panning position for a channel.

Parameters
channelThe channel whose panning should be retrieved, in range [0, openmpt::module::get_num_channels()[
Returns
The current channel panning, in range [-1.0, 1.0], 0.0 is center.
Exceptions
openmpt::exceptionThrows an exception derived from openmpt::exception if the channel is outside the specified range.
See also
openmpt::ext::interactive2::set_channel_panning
Since
0.6.0

◆ get_note_finetune()

virtual double openmpt::ext::interactive2::get_note_finetune ( int32_t  channel)
pure virtual

Get the finetune for the currently playing note on a channel.

Parameters
channelThe channel whose finetune should be retrieved, in range [0, openmpt::module::get_num_channels()[
Returns
The current channel finetune, in range [-1.0, 1.0], 0.0 is center.
Exceptions
openmpt::exceptionThrows an exception derived from openmpt::exception if the channel is outside the specified range.
Remarks
The finetune range depends on the pitch wheel depth of the instrument playing on the current channel; for sample-based modules, the depth of this command is fixed to +/-1 semitone.
See also
openmpt::ext::interactive2::set_note_finetune
Since
0.6.0

◆ note_fade()

virtual void openmpt::ext::interactive2::note_fade ( int32_t  channel)
pure virtual

Sends a note fade command for the note playing on the specified channel.

Parameters
channelThe channel on which the note should be faded. This is the value returned by a previous play_note call.
Exceptions
openmpt::exceptionThrows an exception derived from openmpt::exception if the channel index is invalid.
Remarks
This method uses the instrument's fade-out value. If the module does not use instruments, or the instrument's fade-out value is 0, it does nothing.
See also
openmpt::ext::interactive::play_note
openmpt::ext::interactive::stop_note
openmpt::ext::interactive2::note_off
Since
0.6.0

◆ note_off()

virtual void openmpt::ext::interactive2::note_off ( int32_t  channel)
pure virtual

Sends a key-off command for the note playing on the specified channel.

Parameters
channelThe channel on which the key-off event should be triggered. This is the value returned by a previous play_note call.
Exceptions
openmpt::exceptionThrows an exception derived from openmpt::exception if the channel index is invalid.
Remarks
This method releases envelopes and sample sustain loops. If the sample has no sustain loop, or if the module does not use instruments, it does nothing.
See also
openmpt::ext::interactive::play_note
openmpt::ext::interactive::stop_note
openmpt::ext::interactive2::note_fade
Since
0.6.0

◆ set_channel_panning()

virtual void openmpt::ext::interactive2::set_channel_panning ( int32_t  channel,
double  panning 
)
pure virtual

Set the current panning position for a channel.

Parameters
channelThe channel whose panning will be changed, in range [0, openmpt::module::get_num_channels()[
panningThe panning position to set on the channel, in range [-1.0, 1.0], 0.0 is center.
Exceptions
openmpt::exceptionThrows an exception derived from openmpt::exception if the channel index is invalid.
Remarks
This command affects subsequent notes played on the same channel, and may itself be overridden by subsequent panning commands encountered in the module itself.
See also
openmpt::ext::interactive2::get_channel_panning
Since
0.6.0

◆ set_note_finetune()

virtual void openmpt::ext::interactive2::set_note_finetune ( int32_t  channel,
double  finetune 
)
pure virtual

Set the finetune for the currently playing note on a channel.

Parameters
channelThe channel whose finetune will be changed, in range [0, openmpt::module::get_num_channels()[
finetuneThe finetune to set on the channel, in range [-1.0, 1.0], 0.0 is center.
Exceptions
openmpt::exceptionThrows an exception derived from openmpt::exception if the channel index is invalid.
Remarks
The finetune range depends on the pitch wheel depth of the instrument playing on the current channel; for sample-based modules, the depth of this command is fixed to +/-1 semitone.
This command does not affect subsequent notes played on the same channel, but may itself be overridden by subsequent finetune commands encountered in the module itself.
See also
openmpt::ext::interactive2::get_note_finetune
Since
0.6.0

The documentation for this class was generated from the following file: