MIDI2LR 6.3.0.1
MIDI2LR is an application that interfaces MIDI controllers with Lightroom 6+/CC Classic. It processes MIDI input into develop parameter updates and photo actions, and sends MIDI output when parameters are changed for motorized feedback (on controllers that have motorized faders). A listing of available LightRoom commands is in the Wiki. Assistance on the code and design is welcome.
Loading...
Searching...
No Matches
rsj::MidiMessageId Struct Reference

#include <MidiUtilities.h>

Public Member Functions

constexpr MidiMessageId () noexcept=default
constexpr MidiMessageId (const MidiMessage &other) noexcept
constexpr MidiMessageId (int ch, int dat, MessageType msgType) noexcept
constexpr bool operator< (const MidiMessageId &other) const noexcept
constexpr bool operator== (const MidiMessageId &other) const noexcept

Public Attributes

int channel {1}
int control_number {0}
MessageType msg_id_type {MessageType::kNoteOn}

Constructor & Destructor Documentation

◆ MidiMessageId() [1/3]

rsj::MidiMessageId::MidiMessageId ( )
constexprdefaultnoexcept

◆ MidiMessageId() [2/3]

rsj::MidiMessageId::MidiMessageId ( int ch,
int dat,
MessageType msgType )
inlineconstexprnoexcept
150 : channel(ch), control_number(dat), msg_id_type(msgType)
151 {
152 }
MessageType msg_id_type
Definition MidiUtilities.h:145
int channel
Definition MidiUtilities.h:143
int control_number
Definition MidiUtilities.h:144

References channel, and control_number.

◆ MidiMessageId() [3/3]

rsj::MidiMessageId::MidiMessageId ( const MidiMessage & other)
inlineexplicitconstexprnoexcept
155 : channel {other.channel + 1}, control_number {other.control_number},
156 msg_id_type {other.message_type_byte}
157 {
158 }

References rsj::MidiMessage::channel, and channel.

Referenced by LrIpcOut::MidiCmdCallback(), MainContentComponent::MidiCmdCallback(), and ProfileManager::MidiCmdCallback().

Member Function Documentation

◆ operator<()

bool rsj::MidiMessageId::operator< ( const MidiMessageId & other) const
inlinenodiscardconstexprnoexcept
170 {
171 if (channel < other.channel) { return true; }
172 if (channel == other.channel) {
173 if (control_number < other.control_number) { return true; }
174 if (control_number == other.control_number && msg_id_type < other.msg_id_type) {
175 return true;
176 }
177 }
178 return false;
179 }

References channel, and control_number.

◆ operator==()

bool rsj::MidiMessageId::operator== ( const MidiMessageId & other) const
inlinenodiscardconstexprnoexcept
164 {
165 return msg_id_type == other.msg_id_type && channel == other.channel
166 && control_number == other.control_number;
167 }

Member Data Documentation

◆ channel

◆ control_number

◆ msg_id_type

MessageType rsj::MidiMessageId::msg_id_type {MessageType::kNoteOn}

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