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
CommandTable Class Referencefinal

#include <CommandTable.h>

+ Inheritance diagram for CommandTable:

Public Member Functions

 CommandTable (CommandTable &&other)=delete
 
 CommandTable (const CommandTable &other)=delete
 
 CommandTable (const juce::String &component_name, CommandTableModel *model)
 
 ~CommandTable ()
 
CommandTableoperator= (CommandTable &&other)=delete
 
CommandTableoperator= (const CommandTable &other)=delete
 

Private Member Functions

bool keyPressed (const juce::KeyPress &k) override
 

Constructor & Destructor Documentation

◆ CommandTable() [1/3]

CommandTable::CommandTable ( const juce::String &  component_name,
CommandTableModel model 
)
28 : juce
29 ::TableListBox {component_name, model}
30 {
31 juce::TableListBox::setHeader(std::make_unique<juce::TableHeaderComponent>());
32 juce::TableListBox::getHeader().addColumn(juce::translate("MIDI Command"), 1, 150, 30, -1,
33 juce::TableHeaderComponent::notResizable | juce::TableHeaderComponent::sortable);
34 juce::TableListBox::getHeader().addColumn(juce::translate("LR Command"), 2, 350, 30, -1,
35 juce::TableHeaderComponent::notResizable | juce::TableHeaderComponent::sortable
36 | juce::TableHeaderComponent::sortedForwards);
37 }
38
39catch (const std::exception& e) {
41 throw;
42}
void ExceptionResponse(gsl::czstring id, gsl::czstring fu, const std::exception &e) noexcept

◆ ~CommandTable()

CommandTable::~CommandTable ( )
inline
26{ juce::TableListBox::setModel(nullptr); } // NOLINT(modernize-use-override)

◆ CommandTable() [2/3]

CommandTable::CommandTable ( const CommandTable other)
delete

◆ CommandTable() [3/3]

CommandTable::CommandTable ( CommandTable &&  other)
delete

Member Function Documentation

◆ keyPressed()

bool CommandTable::keyPressed ( const juce::KeyPress &  k)
overrideprivate
45{
46 try {
47 const auto key_pressed {k.getKeyCode()};
48 if (key_pressed == juce::KeyPress::deleteKey) {
49 if (juce::ListBox::getSelectedRow() != -1) {
50 const auto last {
51 juce::ListBox::getSelectedRow() == juce::TableListBox::getNumRows() - 1};
52 if (const auto ptr {
53 dynamic_cast<CommandTableModel*>(juce::TableListBox::getTableListBoxModel())}) {
54 ptr->RemoveRow(gsl::narrow_cast<size_t>(juce::ListBox::getSelectedRow()));
55 }
56 juce::ListBox::updateContent();
57 if (last) { /* keep selection at the end */
58 juce::ListBox::selectRow(getNumRows() - 1);
59 }
60 return true;
61 }
62 return false;
63 }
64 if (key_pressed == juce::KeyPress::downKey) {
65 if (juce::ListBox::getSelectedRow() != -1
66 && juce::ListBox::getSelectedRow() < juce::TableListBox::getNumRows() - 1) {
67 juce::ListBox::selectRow(getSelectedRow() + 1);
68 return true;
69 }
70 return false;
71 }
72 if (key_pressed == juce::KeyPress::upKey) {
73 if (juce::ListBox::getSelectedRow() > 0 && juce::TableListBox::getNumRows() > 1) {
74 juce::ListBox::selectRow(getSelectedRow() - 1);
75 return true;
76 }
77 return false;
78 }
79 if (key_pressed == juce::KeyPress::pageUpKey) {
80 if (juce::TableListBox::getNumRows() > 0) {
81 juce::ListBox::selectRow(std::max(juce::ListBox::getSelectedRow() - 20, 0));
82 return true;
83 }
84 return false;
85 }
86 if (key_pressed == juce::KeyPress::pageDownKey) {
87 if (juce::TableListBox::getNumRows() > 0) {
88 juce::ListBox::selectRow(std::min(juce::ListBox::getSelectedRow() + 20,
89 juce::TableListBox::getNumRows() - 1));
90 return true;
91 }
92 return false;
93 }
94 if (key_pressed == juce::KeyPress::homeKey) {
95 if (juce::TableListBox::getNumRows() > 0) {
96 juce::ListBox::selectRow(0);
97 return true;
98 }
99 return false;
100 }
101 if (key_pressed == juce::KeyPress::endKey) {
102 if (juce::TableListBox::getNumRows() > 0) {
103 juce::ListBox::selectRow(juce::TableListBox::getNumRows() - 1);
104 return true;
105 }
106 return false;
107 }
108 return false;
109 }
110 catch (const std::exception& e) {
112 throw;
113 }
114}
Definition CommandTableModel.h:26

◆ operator=() [1/2]

CommandTable & CommandTable::operator= ( CommandTable &&  other)
delete

◆ operator=() [2/2]

CommandTable & CommandTable::operator= ( const CommandTable other)
delete

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