TracktionEngine
|
Public Member Functions | |
PhysicalMidiInputDevice (Engine &, const juce::String &name, int deviceIndex) | |
~PhysicalMidiInputDevice () override | |
InputDeviceInstance * | createInstance (EditPlaybackContext &) override |
Creates an instance to use for a given playback context. More... | |
void | setReadingMidiTimecode (bool) |
void | setIgnoresHours (bool) |
bool | isIgnoringHours () const noexcept |
void | setAcceptingMMC (bool) |
void | setReadingControllerMessages (bool) |
bool | isAvailableToEdit () const override |
void | setExternalController (ExternalController *) |
sets the external controller to send the messages to. More... | |
void | removeExternalController (ExternalController *) |
bool | isUsedForExternalControl () const |
void | handleIncomingMidiMessage (const juce::MidiMessage &) override |
void | loadProps () override |
void | saveProps () override |
DeviceType | getDeviceType () const override |
void | handleIncomingMidiMessage (juce::MidiInput *, const juce::MidiMessage &) override |
virtual void | handleIncomingMidiMessage (const juce::MidiMessage &)=0 |
Public Member Functions inherited from tracktion::engine::MidiInputDevice | |
MidiInputDevice (Engine &, const juce::String &type, const juce::String &name) | |
~MidiInputDevice () override | |
void | setEnabled (bool) override |
bool | isMidi () const override |
MidiChannel | getChannelToUse () const noexcept |
void | setChannelToUse (int) |
int | getProgramToUse () const noexcept |
void | setProgramToUse (int) |
void | setBankToUse (int) |
int | getBankToUse () const |
void | setChannelAllowed (int midiChannel, bool) |
bool | isChannelAllowed (int midiChannel) const |
void | setEndToEndEnabled (bool) |
bool | isEndToEndEnabled () const |
void | setOverridingNoteVelocities (bool) |
bool | isOverridingNoteVelocities () const |
void | setManualAdjustmentMs (double) |
double | getManualAdjustmentMs () const |
bool | isMPEDevice () const |
Returns true if the given device is an MPE device and so should always record incoming MIDI to Note Expression. More... | |
void | flipEndToEnd () override |
void | masterTimeUpdate (double time) override |
This is a bit of a hack but allows the time for MIDI devices to be set through the base class interface. More... | |
void | connectionStateChanged () |
void | addInstance (MidiInputDeviceInstanceBase *) |
void | removeInstance (MidiInputDeviceInstanceBase *) |
Clip * | addMidiToTrackAsTransaction (Clip *takeClip, AudioTrack &, juce::MidiMessageSequence &, TimeRange position, MergeMode, MidiChannel, SelectionManager *) |
void | handleIncomingMidiMessage (juce::MidiInput *, const juce::MidiMessage &) override |
RetrospectiveMidiBuffer * | getRetrospectiveMidiBuffer () const |
void | updateRetrospectiveBufferLength (double length) override |
double | getAdjustSecs () const |
juce::Array< AudioTrack * > | getDestinationTracks () |
MidiChannel | getMidiChannelFor (int rawChannelNumber) const |
MidiMessageArray::MPESourceID | getMPESourceID () const |
Public Member Functions inherited from tracktion::engine::InputDevice | |
InputDevice (Engine &, const juce::String &type, const juce::String &name) | |
~InputDevice () override | |
const juce::String & | getName () const |
const juce::String & | getType () const |
bool | isTrackDevice () const |
juce::String | getAlias () const |
the alias is the name shown in the draggable input device components More... | |
void | setAlias (const juce::String &newAlias) |
void | initialiseDefaultAlias () |
Called after all devices are constructed, so it can use all the device names in its calculations. More... | |
bool | isEnabled () const |
bool | isEndToEndEnabled () const |
juce::String | getSelectableDescription () override |
Subclasses must return a description of what they are. More... | |
juce::String | getGlobalPropertyName () const |
Public Member Functions inherited from tracktion::engine::Selectable | |
Selectable () | |
virtual | ~Selectable () |
virtual void | selectionStatusChanged (bool isNowSelected) |
Can be overridden to tell this object that it has just been selected or deselected. More... | |
virtual void | changed () |
This should be called to send a change notification to any SelectableListeners that are registered with this object. More... | |
virtual void | selectableAboutToBeDeleted () |
Called just before the selectable is about to be deleted so any subclasses should still be valid at this point. More... | |
void | addSelectableListener (SelectableListener *) |
void | removeSelectableListener (SelectableListener *) |
void | cancelAnyPendingUpdates () |
If changed() has been called, this will cancel any pending async change notificaions. More... | |
void | deselect () |
void | propertiesChanged () |
void | notifyListenersOfDeletion () |
WeakRef | getWeakRef () |
Public Attributes | |
bool | isTakingControllerMessages = true |
Public Attributes inherited from tracktion::engine::MidiInputDevice | |
bool | mergeRecordings = true |
bool | recordingEnabled = true |
bool | replaceExistingClips = false |
bool | livePlayOver = false |
bool | recordToNoteAutomation = false |
QuantisationType | quantisation |
juce::MidiKeyboardState | keyboardState |
Public Attributes inherited from tracktion::engine::InputDevice | |
Engine & | engine |
LevelMeasurer | levelMeasurer |
Public Attributes inherited from tracktion::engine::Selectable | |
WeakRef::Master | masterReference |
Protected Member Functions | |
juce::String | openDevice () override |
void | closeDevice () override |
Protected Member Functions inherited from tracktion::engine::MidiInputDevice | |
void | handleNoteOn (juce::MidiKeyboardState *, int midiChannel, int midiNoteNumber, float velocity) override |
void | handleNoteOff (juce::MidiKeyboardState *, int midiChannel, int midiNoteNumber, float velocity) override |
void | timerCallback () override |
void | sendNoteOnToMidiKeyListeners (juce::MidiMessage &) |
void | loadProps (const juce::XmlElement *) |
void | saveProps (juce::XmlElement &) |
void | sendMessageToInstances (const juce::MidiMessage &) |
Additional Inherited Members | |
Public Types inherited from tracktion::engine::MidiInputDevice | |
enum class | MergeMode { always , never , optional } |
Public Types inherited from tracktion::engine::InputDevice | |
enum | DeviceType { waveDevice , trackWaveDevice , physicalMidiDevice , virtualMidiDevice , trackMidiDevice } |
enum to allow quick querying of the device type. More... | |
Public Types inherited from tracktion::engine::Selectable | |
using | WeakRef = juce::WeakReference< Selectable > |
Static Public Member Functions inherited from tracktion::engine::InputDevice | |
static void | setRetrospectiveLock (Engine &engine, const juce::Array< InputDeviceInstance * > &devices, bool lock) |
Static Public Member Functions inherited from tracktion::engine::Selectable | |
static void | initialise () |
static bool | isSelectableValid (const Selectable *) noexcept |
checks whether this object has been deleted. More... | |
Protected Attributes inherited from tracktion::engine::MidiInputDevice | |
std::atomic< double > | adjustSecs { 0 } |
double | manualAdjustMs = 0 |
bool | overrideNoteVels = false |
bool | eventReceivedFromDevice = false |
juce::BigInteger | disallowedChannels |
MidiChannel | channelToUse |
int | programToUse = 0 |
bool | firstSetEnabledCall = true |
int | bankToUse = 0 |
MidiMessageArray::MPESourceID | midiSourceID = MidiMessageArray::createUniqueMPESourceID() |
juce::CriticalSection | noteLock |
bool | keysDown [128] |
bool | keysUp [128] |
uint8_t | keyDownVelocities [128] |
juce::SharedResourcePointer< MidiKeyChangeDispatcher > | midiKeyChangeDispatcher |
juce::CriticalSection | instanceLock |
juce::Array< MidiInputDeviceInstanceBase * > | instances |
std::unique_ptr< RetrospectiveMidiBuffer > | retrospectiveBuffer |
Protected Attributes inherited from tracktion::engine::InputDevice | |
std::atomic< bool > | enabled { false } |
bool | endToEndEnabled = false |
bool | retrospectiveRecordLock = false |
tracktion::engine::PhysicalMidiInputDevice::PhysicalMidiInputDevice | ( | Engine & | , |
const juce::String & | name, | ||
int | deviceIndex | ||
) |
|
override |
|
overridevirtual |
Creates an instance to use for a given playback context.
Implements tracktion::engine::InputDevice.
void tracktion::engine::PhysicalMidiInputDevice::setReadingMidiTimecode | ( | bool | ) |
void tracktion::engine::PhysicalMidiInputDevice::setIgnoresHours | ( | bool | ) |
|
noexcept |
void tracktion::engine::PhysicalMidiInputDevice::setAcceptingMMC | ( | bool | ) |
void tracktion::engine::PhysicalMidiInputDevice::setReadingControllerMessages | ( | bool | ) |
|
overridevirtual |
Reimplemented from tracktion::engine::InputDevice.
void tracktion::engine::PhysicalMidiInputDevice::setExternalController | ( | ExternalController * | ) |
sets the external controller to send the messages to.
void tracktion::engine::PhysicalMidiInputDevice::removeExternalController | ( | ExternalController * | ) |
bool tracktion::engine::PhysicalMidiInputDevice::isUsedForExternalControl | ( | ) | const |
|
overridevirtual |
Implements tracktion::engine::MidiInputDevice.
|
overridevirtual |
Implements tracktion::engine::MidiInputDevice.
|
overridevirtual |
Implements tracktion::engine::MidiInputDevice.
|
overridevirtual |
Implements tracktion::engine::InputDevice.
References tracktion::engine::InputDevice::physicalMidiDevice.
|
overrideprotectedvirtual |
Implements tracktion::engine::MidiInputDevice.
|
overrideprotectedvirtual |
Implements tracktion::engine::MidiInputDevice.
|
override |
virtual void tracktion::engine::MidiInputDevice::handleIncomingMidiMessage |
bool tracktion::engine::PhysicalMidiInputDevice::isTakingControllerMessages = true |