MIDI2LR 6.1.0.0
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

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]

constexpr rsj::MidiMessageId::MidiMessageId ( )
constexprdefaultnoexcept

◆ MidiMessageId() [2/3]

constexpr rsj::MidiMessageId::MidiMessageId ( int  ch,
int  dat,
MessageType  msgType 
)
inlineconstexprnoexcept
153 : channel(ch), control_number(dat), msg_id_type(msgType)
154 {
155 }
MessageType msg_id_type
Definition MidiUtilities.h:148
int channel
Definition MidiUtilities.h:146
int control_number
Definition MidiUtilities.h:147

◆ MidiMessageId() [3/3]

constexpr rsj::MidiMessageId::MidiMessageId ( const MidiMessage other)
inlineexplicitconstexprnoexcept
158 : channel {other.channel + 1}, control_number {other.control_number},
159 msg_id_type {other.message_type_byte}
160 {
161 }

Member Function Documentation

◆ operator<()

constexpr bool rsj::MidiMessageId::operator< ( const MidiMessageId other) const
inlineconstexprnoexcept
173 {
174 if (channel < other.channel) { return true; }
175 if (channel == other.channel) {
176 if (control_number < other.control_number) { return true; }
177 if (control_number == other.control_number && msg_id_type < other.msg_id_type) {
178 return true;
179 }
180 }
181 return false;
182 }

◆ operator==()

constexpr bool rsj::MidiMessageId::operator== ( const MidiMessageId other) const
inlineconstexprnoexcept
167 {
168 return msg_id_type == other.msg_id_type && channel == other.channel
169 && control_number == other.control_number;
170 }

Member Data Documentation

◆ channel

int rsj::MidiMessageId::channel {1}
146{1}; /* 1-based */

◆ control_number

int rsj::MidiMessageId::control_number {0}
147{0};

◆ msg_id_type

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

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