TracktionEngine
|
Create a software midi port on macOS. More...
#include <tracktion_MidiOutputDevice.h>
Public Member Functions | |
SoftwareMidiOutputDevice (Engine &e, const juce::String &deviceName) | |
![]() | |
MidiOutputDevice (Engine &, juce::MidiDeviceInfo) | |
~MidiOutputDevice () override | |
juce::String | openDevice () override |
void | closeDevice () override |
void | setEnabled (bool) override |
bool | isMidi () const override |
virtual MidiOutputDeviceInstance * | createInstance (EditPlaybackContext &) |
juce::String | prepareToPlay (Edit *, TimePosition) |
bool | start () |
void | stop () |
juce::String | getNameForMidiNoteNumber (int note, int midiChannel, bool useSharp=true) const |
bool | isConnectedToExternalController () const |
void | setExternalController (ExternalController *) |
sets the external controller messages are coming from | |
void | removeExternalController (ExternalController *) |
void | updateMidiTC (Edit *) |
void | setSendingMMC (bool) |
bool | isSendingMMC () const noexcept |
bool | isSendingClock () const noexcept |
void | setSendingClock (bool) |
bool | isSendingTimecode () const noexcept |
void | flipSendingTimecode () |
void | setSendControllerMidiClock (bool b) noexcept |
bool | isSendingControllerMidiClock () const noexcept |
void | fireMessage (const juce::MidiMessage &) |
void | sendNoteOffMessages () |
TimeDuration | getDeviceDelay () const noexcept |
int | getPreDelayMs () const noexcept |
void | setPreDelayMs (int) |
juce::StringArray | getProgramSets () const |
int | getCurrentSetIndex () const |
void | setCurrentProgramSet (const juce::String &) |
juce::String | getCurrentProgramSet () const |
juce::String | getProgramName (int programNumber, int bank) |
bool | canEditProgramSet (int index) const |
bool | canDeleteProgramSet (int index) const |
juce::String | getBankName (int bank) |
int | getBankID (int bank) |
bool | areMidiPatchesZeroBased () |
MidiProgramManager & | getMidiProgramManager () const |
![]() | |
OutputDevice (Engine &, juce::String type, juce::String name, juce::String deviceID) | |
~OutputDevice () override | |
virtual juce::String | getName () const |
juce::String | getAlias () const |
the alias is the name shown in the draggable input device components | |
void | setAlias (const juce::String &alias) |
juce::String | getDeviceID () const |
juce::String | getSelectableDescription () override |
Subclasses must return a description of what they are. | |
bool | isEnabled () const |
![]() | |
Selectable () | |
virtual | ~Selectable () |
virtual void | selectionStatusChanged (bool isNowSelected) |
Can be overridden to tell this object that it has just been selected or deselected. | |
virtual void | changed () |
This should be called to send a change notification to any SelectableListeners that are registered with this object. | |
virtual void | selectableAboutToBeDeleted () |
Called just before the selectable is about to be deleted so any subclasses should still be valid at this point. | |
void | addListener (SelectableListener *) |
void | removeListener (SelectableListener *) |
void | addSelectableListener (SelectableListener *) |
void | removeSelectableListener (SelectableListener *) |
void | cancelAnyPendingUpdates () |
If changed() has been called, this will cancel any pending async change notificaions. | |
void | deselect () |
void | propertiesChanged () |
void | notifyListenersOfDeletion () |
WeakRef | getWeakRef () |
Additional Inherited Members | |
![]() | |
using | WeakRef = juce::WeakReference< Selectable > |
![]() | |
static void | setControllerOffMessagesSent (Engine &, bool) |
static bool | getControllerOffMessagesSent (Engine &) |
![]() | |
static void | initialise () |
static bool | isSelectableValid (const Selectable *) noexcept |
checks whether this object has been deleted. | |
![]() | |
Engine & | engine |
![]() | |
WeakRef::Master | masterReference |
![]() | |
virtual void | sendMessageNow (const juce::MidiMessage &message) |
void | loadProps () |
void | saveProps () |
![]() | |
juce::MidiDeviceInfo | deviceInfo |
int | preDelayMillisecs = 0 |
int | audioAdjustmentDelay = 0 |
std::unique_ptr< MidiTimecodeGenerator > | timecodeGenerator |
std::unique_ptr< MidiClockGenerator > | midiClockGenerator |
bool | sendTimecode = false |
bool | sendMidiClock = false |
bool | playing = false |
juce::String | programNameSet |
double | sampleRate = 0 |
std::unique_ptr< juce::MidiOutput > | outputDevice |
bool | sendingMMC = false |
bool | sendControllerMidiClock = false |
bool | softDevice = false |
ExternalController * | externalController = nullptr |
juce::BigInteger | midiNotesOn |
juce::BigInteger | channelsUsed |
int | sustain = 0 |
MidiMessageArray | midiMessages |
juce::CriticalSection | noteOnLock |
![]() | |
bool | enabled = false |
Create a software midi port on macOS.
Not supported on other platforms
tracktion::engine::SoftwareMidiOutputDevice::SoftwareMidiOutputDevice | ( | Engine & | e, |
const juce::String & | deviceName | ||
) |