Zrythm v2.0.0-DEV
a highly automated and intuitive digital audio workstation
Loading...
Searching...
No Matches
MidiMapping Class Referencefinal

A mapping from a MIDI CC value to a destination ControlPort. More...

#include <src/gui/dsp/midi_mapping.h>

Inheritance diagram for MidiMapping:
Collaboration diagram for MidiMapping:

Public Types

using PortIdentifier = zrythm::dsp::PortIdentifier
 

Public Member Functions

 MidiMapping (QObject *parent=nullptr)
 
void init_after_cloning (const MidiMapping &other, ObjectCloneType clone_type) override
 Initializes the cloned object.
 
void set_enabled (bool enabled)
 
void apply (std::array< midi_byte_t, 3 > buf)
 
- Public Member Functions inherited from ICloneable< MidiMapping >
std::unique_ptr< MidiMappingclone_unique (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const
 
std::shared_ptr< MidiMappingclone_shared (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const
 
MidiMappingclone_raw_ptr (ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const
 
MidiMappingclone_qobject (QObject *parent, ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const
 
QScopedPointer< MidiMappingclone_unique_qobject (QObject *parent, ObjectCloneType clone_type=ObjectCloneType::Snapshot, Args &&... args) const
 

Data Fields

std::array< midi_byte_t, 3 > key_ = {}
 Raw MIDI signal.
 
std::unique_ptr< ExtPortdevice_port_
 The device that this connection will be mapped for.
 
std::optional< PortIdentifier::PortUuiddest_id_
 Destination.
 
Portdest_ = nullptr
 Destination pointer, for convenience.
 
std::atomic< bool > enabled_ = false
 Whether this binding is enabled.
 
- Data Fields inherited from ICloneable< MidiMapping >
friend Derived
 

Friends

void to_json (nlohmann::json &j, const MidiMapping &mapping)
 
void from_json (const nlohmann::json &j, MidiMapping &mapping)
 

Detailed Description

A mapping from a MIDI CC value to a destination ControlPort.

Definition at line 23 of file midi_mapping.h.

Member Typedef Documentation

◆ PortIdentifier

Member Function Documentation

◆ init_after_cloning()

void MidiMapping::init_after_cloning ( const MidiMapping & other,
ObjectCloneType clone_type )
overridevirtual

Initializes the cloned object.

Note
Only final classes should implement this.
Exceptions
ZrythmExceptionIf the object could not be cloned.

Implements ICloneable< MidiMapping >.

◆ set_enabled()

void MidiMapping::set_enabled ( bool enabled)
inline

Definition at line 37 of file midi_mapping.h.

Friends And Related Symbol Documentation

◆ from_json

void from_json ( const nlohmann::json & j,
MidiMapping & mapping )
friend

Definition at line 55 of file midi_mapping.h.

◆ to_json

void to_json ( nlohmann::json & j,
const MidiMapping & mapping )
friend

Definition at line 46 of file midi_mapping.h.

Field Documentation

◆ dest_

Port* MidiMapping::dest_ = nullptr

Destination pointer, for convenience.

Note
This pointer is not owned by this instance.

Definition at line 78 of file midi_mapping.h.

◆ dest_id_

std::optional<PortIdentifier::PortUuid> MidiMapping::dest_id_

Destination.

Definition at line 71 of file midi_mapping.h.

◆ device_port_

std::unique_ptr<ExtPort> MidiMapping::device_port_

The device that this connection will be mapped for.

Definition at line 68 of file midi_mapping.h.

◆ enabled_

std::atomic<bool> MidiMapping::enabled_ = false

Whether this binding is enabled.

Definition at line 82 of file midi_mapping.h.

◆ key_

std::array<midi_byte_t, 3> MidiMapping::key_ = {}

Raw MIDI signal.

Definition at line 65 of file midi_mapping.h.


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