|
tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications
« « « Anklang Documentation |
Classes | |
| struct | MidiKeyChangeDispatcher |
| Gets notified (lazily, not in real-time) when any MidiInputDevice's key's state changes. More... | |
| class | NoteDispatcher |
| Polls a set of targets to see if they should be stopped. More... | |
| struct | NoteFilterRange |
Public Types | |
| 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... | |
| enum class | MonitorMode { off , automatic , on } |
| Enum to describe monitor modes. More... | |
Public Types inherited from tracktion::engine::Selectable | |
| using | WeakRef = juce::WeakReference< Selectable > |
Public Member Functions | |
| MidiInputDevice (Engine &, juce::String type, juce::String name, juce::String deviceID) | |
| virtual juce::String | openDevice ()=0 |
| virtual void | closeDevice ()=0 |
| 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 | setNoteFilterRange (NoteFilterRange) |
| NoteFilterRange | getNoteFilterRange () const |
| void | setOverridingNoteVelocities (bool) |
| bool | isOverridingNoteVelocities () const |
| void | setManualAdjustmentMs (double) |
| double | getManualAdjustmentMs () const |
| void | setMinimumLengthMs (double) |
| double | getMinimumLengthMs () const |
| bool | isMPEDevice () const |
| Returns true if the given device is an MPE device and so should always record incoming MIDI to Note Expression. | |
| 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. | |
| void | connectionStateChanged () |
| bool | handleIncomingMessage (juce::MidiMessage &) |
| Updates the timestamp of the message and handles sending it out to listeners. | |
| void | addInstance (MidiInputDeviceInstanceBase *) |
| void | removeInstance (MidiInputDeviceInstanceBase *) |
| virtual void | loadProps ()=0 |
| Clip * | addMidiAsTransaction (Edit &, EditItemID targetID, Clip *takeClip, juce::MidiMessageSequence, TimeRange markedRange, MergeMode, MidiChannel) |
| void | handleIncomingMidiMessage (juce::MidiInput *, const juce::MidiMessage &) override |
| virtual void | handleIncomingMidiMessage (const juce::MidiMessage &)=0 |
| 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 &, juce::String type, juce::String name, juce::String deviceID) | |
| const juce::String & | getName () const |
| const juce::String & | getType () const |
| juce::String | getDeviceID () const |
| virtual DeviceType | getDeviceType () const =0 |
| bool | isTrackDevice () const |
| juce::String | getAlias () const |
| the alias is the name shown in the draggable input device components | |
| void | setAlias (const juce::String &newAlias) |
| virtual bool | isAvailableToEdit () const |
| bool | isEnabled () const |
| MonitorMode | getMonitorMode () const |
| void | setMonitorMode (MonitorMode) |
| virtual InputDeviceInstance * | createInstance (EditPlaybackContext &)=0 |
| Creates an instance to use for a given playback context. | |
| juce::String | getSelectableDescription () override |
| Subclasses must return a description of what they are. | |
| virtual void | saveProps ()=0 |
Public Member Functions inherited from tracktion::engine::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 () |
Public Member Functions inherited from juce::MidiInputCallback | |
| virtual void | handlePartialSysexMessage (MidiInput *source, const uint8 *messageData, int numBytesSoFar, double timestamp) |
Public Attributes | |
| bool | mergeRecordings |
| bool | recordingEnabled |
| bool | replaceExistingClips |
| bool | recordToNoteAutomation |
| 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 | |
| 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 | loadMidiProps (const juce::XmlElement *) |
| void | saveMidiProps (juce::XmlElement &) |
| void | sendMessageToInstances (const juce::MidiMessage &) |
Protected Attributes | |
| std::atomic< double > | adjustSecs |
| double | manualAdjustMs |
| double | minimumLengthMs |
| bool | overrideNoteVels |
| bool | eventReceivedFromDevice |
| juce::BigInteger | disallowedChannels |
| MidiChannel | channelToUse |
| int | programToUse |
| int | bankToUse |
| NoteFilterRange | noteFilterRange |
| MidiMessageArray::MPESourceID | midiSourceID |
| std::unique_ptr< NoteDispatcher > | noteDispatcher |
| std::vector< double > | lastNoteOns |
| 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 |
| MonitorMode | monitorMode |
| MonitorMode | defaultMonitorMode |
| bool | retrospectiveRecordLock |
Additional Inherited Members | |
Static Public Member Functions inherited from tracktion::engine::InputDevice | |
| static void | setRetrospectiveLock (Engine &, const juce::Array< InputDeviceInstance * > &, 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. | |
Definition at line 15 of file tracktion_MidiInputDevice.h.
|
strong |
Definition at line 91 of file tracktion_MidiInputDevice.h.
| tracktion::engine::MidiInputDevice::MidiInputDevice | ( | Engine & | e, |
| juce::String | type, | ||
| juce::String | name, | ||
| juce::String | deviceID | ||
| ) |
Definition at line 333 of file tracktion_MidiInputDevice.cpp.
|
override |
Definition at line 346 of file tracktion_MidiInputDevice.cpp.
| void tracktion::engine::MidiInputDevice::addInstance | ( | MidiInputDeviceInstanceBase * | i | ) |
Definition at line 562 of file tracktion_MidiInputDevice.cpp.
| Clip * tracktion::engine::MidiInputDevice::addMidiAsTransaction | ( | Edit & | ed, |
| EditItemID | targetID, | ||
| Clip * | takeClip, | ||
| juce::MidiMessageSequence | ms, | ||
| TimeRange | markedRange, | ||
| MergeMode | merge, | ||
| MidiChannel | midiChannel | ||
| ) |
Definition at line 692 of file tracktion_MidiInputDevice.cpp.
| void tracktion::engine::MidiInputDevice::connectionStateChanged | ( | ) |
Definition at line 565 of file tracktion_MidiInputDevice.cpp.
| double tracktion::engine::MidiInputDevice::getAdjustSecs | ( | ) | const |
Definition at line 104 of file tracktion_MidiInputDevice.h.
| int tracktion::engine::MidiInputDevice::getBankToUse | ( | ) | const |
Definition at line 37 of file tracktion_MidiInputDevice.h.
|
noexcept |
Definition at line 30 of file tracktion_MidiInputDevice.h.
| juce::Array< AudioTrack * > tracktion::engine::MidiInputDevice::getDestinationTracks | ( | ) |
Definition at line 436 of file tracktion_MidiInputDevice.cpp.
| double tracktion::engine::MidiInputDevice::getManualAdjustmentMs | ( | ) | const |
Definition at line 62 of file tracktion_MidiInputDevice.h.
| double tracktion::engine::MidiInputDevice::getMinimumLengthMs | ( | ) | const |
Definition at line 65 of file tracktion_MidiInputDevice.h.
| MidiMessageArray::MPESourceID tracktion::engine::MidiInputDevice::getMPESourceID | ( | ) | const |
Definition at line 109 of file tracktion_MidiInputDevice.h.
| NoteFilterRange tracktion::engine::MidiInputDevice::getNoteFilterRange | ( | ) | const |
Definition at line 56 of file tracktion_MidiInputDevice.h.
|
noexcept |
Definition at line 33 of file tracktion_MidiInputDevice.h.
| RetrospectiveMidiBuffer * tracktion::engine::MidiInputDevice::getRetrospectiveMidiBuffer | ( | ) | const |
Definition at line 102 of file tracktion_MidiInputDevice.h.
| bool tracktion::engine::MidiInputDevice::handleIncomingMessage | ( | juce::MidiMessage & | m | ) |
Updates the timestamp of the message and handles sending it out to listeners.
false if the given message has been filtered out by channel or number.
Definition at line 1581 of file tracktion_MidiInputDevice.cpp.
|
overridevirtual |
Implements juce::MidiInputCallback.
Definition at line 548 of file tracktion_MidiInputDevice.cpp.
|
overrideprotected |
Definition at line 540 of file tracktion_MidiInputDevice.cpp.
|
overrideprotected |
Definition at line 532 of file tracktion_MidiInputDevice.cpp.
| bool tracktion::engine::MidiInputDevice::isChannelAllowed | ( | int | midiChannel | ) | const |
Definition at line 40 of file tracktion_MidiInputDevice.h.
|
overridevirtual |
Reimplemented from tracktion::engine::InputDevice.
Definition at line 28 of file tracktion_MidiInputDevice.h.
| bool tracktion::engine::MidiInputDevice::isMPEDevice | ( | ) | const |
Returns true if the given device is an MPE device and so should always record incoming MIDI to Note Expression.
Definition at line 526 of file tracktion_MidiInputDevice.cpp.
| bool tracktion::engine::MidiInputDevice::isOverridingNoteVelocities | ( | ) | const |
Definition at line 59 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 362 of file tracktion_MidiInputDevice.cpp.
|
overridevirtual |
This is a bit of a hack but allows the time for MIDI devices to be set through the base class interface.
Implements tracktion::engine::InputDevice.
Definition at line 1609 of file tracktion_MidiInputDevice.cpp.
| void tracktion::engine::MidiInputDevice::removeInstance | ( | MidiInputDeviceInstanceBase * | i | ) |
Definition at line 563 of file tracktion_MidiInputDevice.cpp.
|
protected |
Definition at line 410 of file tracktion_MidiInputDevice.cpp.
|
protected |
Definition at line 1619 of file tracktion_MidiInputDevice.cpp.
|
protected |
Definition at line 587 of file tracktion_MidiInputDevice.cpp.
| void tracktion::engine::MidiInputDevice::setBankToUse | ( | int | bank | ) |
Definition at line 484 of file tracktion_MidiInputDevice.cpp.
| void tracktion::engine::MidiInputDevice::setChannelAllowed | ( | int | midiChannel, |
| bool | allowed | ||
| ) |
Definition at line 445 of file tracktion_MidiInputDevice.cpp.
| void tracktion::engine::MidiInputDevice::setChannelToUse | ( | int | newChan | ) |
Definition at line 466 of file tracktion_MidiInputDevice.cpp.
|
overridevirtual |
Implements tracktion::engine::InputDevice.
Definition at line 352 of file tracktion_MidiInputDevice.cpp.
| void tracktion::engine::MidiInputDevice::setManualAdjustmentMs | ( | double | ms | ) |
Definition at line 499 of file tracktion_MidiInputDevice.cpp.
| void tracktion::engine::MidiInputDevice::setMinimumLengthMs | ( | double | ms | ) |
Definition at line 509 of file tracktion_MidiInputDevice.cpp.
| void tracktion::engine::MidiInputDevice::setNoteFilterRange | ( | NoteFilterRange | newRange | ) |
Definition at line 455 of file tracktion_MidiInputDevice.cpp.
| void tracktion::engine::MidiInputDevice::setOverridingNoteVelocities | ( | bool | b | ) |
Definition at line 489 of file tracktion_MidiInputDevice.cpp.
| void tracktion::engine::MidiInputDevice::setProgramToUse | ( | int | prog | ) |
Definition at line 478 of file tracktion_MidiInputDevice.cpp.
|
overrideprotectedvirtual |
Implements juce::Timer.
Definition at line 619 of file tracktion_MidiInputDevice.cpp.
|
overridevirtual |
Implements tracktion::engine::InputDevice.
Definition at line 555 of file tracktion_MidiInputDevice.cpp.
|
protected |
Definition at line 134 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 141 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 139 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 138 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 137 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 154 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 155 of file tracktion_MidiInputDevice.h.
| juce::MidiKeyboardState tracktion::engine::MidiInputDevice::keyboardState |
Definition at line 97 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 151 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 150 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 150 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 147 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 135 of file tracktion_MidiInputDevice.h.
| bool tracktion::engine::MidiInputDevice::mergeRecordings |
Definition at line 85 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 152 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 144 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 136 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 146 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 142 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 149 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 137 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 140 of file tracktion_MidiInputDevice.h.
| QuantisationType tracktion::engine::MidiInputDevice::quantisation |
Definition at line 89 of file tracktion_MidiInputDevice.h.
| bool tracktion::engine::MidiInputDevice::recordingEnabled |
Definition at line 86 of file tracktion_MidiInputDevice.h.
| bool tracktion::engine::MidiInputDevice::recordToNoteAutomation |
Definition at line 88 of file tracktion_MidiInputDevice.h.
| bool tracktion::engine::MidiInputDevice::replaceExistingClips |
Definition at line 87 of file tracktion_MidiInputDevice.h.
|
protected |
Definition at line 156 of file tracktion_MidiInputDevice.h.