22 void closeDevice()
override;
24 void setEnabled (
bool)
override;
25 bool isMidi()
const override {
return true; }
34 static void setControllerOffMessagesSent (
Engine&,
bool);
35 static bool getControllerOffMessagesSent (
Engine&);
37 juce::String getNameForMidiNoteNumber (
int note,
int midiChannel,
bool useSharp =
true)
const;
39 bool isConnectedToExternalController()
const {
return externalController !=
nullptr; }
46 void updateMidiTC (
Edit*);
48 void setSendingMMC (
bool);
49 bool isSendingMMC()
const noexcept {
return sendingMMC; }
50 bool isSendingClock()
const noexcept {
return sendMidiClock; }
51 void setSendingClock (
bool);
53 bool isSendingTimecode()
const noexcept {
return sendTimecode; }
54 void flipSendingTimecode();
56 void setSendControllerMidiClock (
bool b)
noexcept { sendControllerMidiClock = b; }
57 bool isSendingControllerMidiClock()
const noexcept {
return sendControllerMidiClock; }
61 void sendNoteOffMessages();
65 int getPreDelayMs()
const noexcept {
return preDelayMillisecs; }
66 void setPreDelayMs (
int);
70 int getCurrentSetIndex()
const;
72 juce::String getCurrentProgramSet()
const {
return programNameSet; }
73 juce::String getProgramName (
int programNumber,
int bank);
74 bool canEditProgramSet (
int index)
const;
75 bool canDeleteProgramSet (
int index)
const;
78 int getBankID (
int bank);
79 bool areMidiPatchesZeroBased();
93 int preDelayMillisecs = 0, audioAdjustmentDelay = 0;
96 bool sendTimecode =
false, sendMidiClock =
false;
100 double sampleRate = 0;
103 bool sendingMMC =
false;
104 bool sendControllerMidiClock =
false;
105 bool softDevice =
false;