![]() |
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.
|
#include <Profile.h>
Public Member Functions | |
Profile (const CommandSet &command_set) noexcept | |
bool | CommandHasAssociatedMessage (const std::string &command) const |
void | FromXml (const juce::XmlElement *root) |
const std::string & | GetCommandForMessage (rsj::MidiMessageId message) const |
rsj::MidiMessageId | GetMessageForNumber (size_t num) const |
std::vector< rsj::MidiMessageId > | GetMessagesForCommand (const std::string &command) const |
int | GetRowForMessage (rsj::MidiMessageId message) const |
void | InsertOrAssign (const std::string &command, rsj::MidiMessageId message) |
void | InsertOrAssign (size_t command, rsj::MidiMessageId message) |
void | InsertUnassigned (rsj::MidiMessageId message) |
bool | MessageExistsInMap (rsj::MidiMessageId message) const |
bool | ProfileUnsaved () const |
void | RemoveAllRows () |
void | RemoveMessage (rsj::MidiMessageId message) |
void | RemoveRow (size_t row) |
void | RemoveUnassignedMessages () |
void | Resort (std::pair< int, bool > new_order) |
size_t | Size () const |
void | ToXmlFile (const juce::File &file) |
Private Types | |
using | mm_abbrv_lmnt_t = std::pair< rsj::MidiMessageId, std::string > |
Private Member Functions | |
void | InsertOrAssignI (const std::string &command, const rsj::MidiMessageId &message) |
bool | MessageExistsInMapI (rsj::MidiMessageId message) const |
void | SortI () |
Private Attributes | |
const CommandSet & | command_set_ |
std::pair< int, bool > | current_sort_ {2, true} |
std::vector< mm_abbrv_lmnt_t > | mm_abbrv_table_ {} |
std::shared_mutex | mutex_ |
bool | profile_unsaved_ {false} |
std::vector< mm_abbrv_lmnt_t > | saved_mm_abbrv_table_ {} |
std::mutex | saved_table_mtx_ |
|
private |
|
inlineexplicitnoexcept |
|
inline |
void Profile::FromXml | ( | const juce::XmlElement * | root | ) |
|
inline |
|
inline |
std::vector< rsj::MidiMessageId > Profile::GetMessagesForCommand | ( | const std::string & | command | ) | const |
|
inline |
|
inline |
|
inline |
|
private |
void Profile::InsertUnassigned | ( | rsj::MidiMessageId | message | ) |
|
inline |
|
inlineprivate |
|
inline |
void Profile::RemoveAllRows | ( | ) |
void Profile::RemoveMessage | ( | rsj::MidiMessageId | message | ) |
void Profile::RemoveRow | ( | size_t | row | ) |
void Profile::RemoveUnassignedMessages | ( | ) |
void Profile::Resort | ( | std::pair< int, bool > | new_order | ) |
|
inline |
|
private |
void Profile::ToXmlFile | ( | const juce::File & | file | ) |
|
private |
|
private |
|
private |
|
mutableprivate |
|
private |
|
private |
|
mutableprivate |