![]() |
MIDI2LR 6.2.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.
|
#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 |