TracktionEngine
|
Base class for types of control surface. More...
Public Member Functions | |
ControlSurface (ExternalControllerManager &) | |
~ControlSurface () override | |
virtual void | initialiseDevice ([[maybe_unused]] bool connect) |
virtual void | shutDownDevice () |
virtual void | updateOSCSettings (int, int, juce::String) |
virtual void | updateMiscFeatures () |
virtual void | numExtendersChanged ([[maybe_unused]] int num, [[maybe_unused]] int main) |
virtual void | acceptMidiMessage ([[maybe_unused]] int idx, const juce::MidiMessage &) |
virtual void | moveFader (int channelNum, float newSliderPos) |
virtual void | moveMasterLevelFader (float newLeftSliderPos, float newRightSliderPos) |
virtual void | movePanPot ([[maybe_unused]] int channelNum, [[maybe_unused]] float newPan) |
virtual void | moveAux ([[maybe_unused]] int channel, [[maybe_unused]] const char *bus, [[maybe_unused]] float newPos) |
virtual void | clearAux (int) |
virtual void | updateSoloAndMute ([[maybe_unused]] int channelNum, Track::MuteAndSoloLightState, [[maybe_unused]] bool isBright) |
virtual void | soloCountChanged ([[maybe_unused]] bool anySoloTracks) |
virtual void | playStateChanged ([[maybe_unused]] bool isPlaying) |
virtual void | recordStateChanged ([[maybe_unused]] bool isRecording) |
virtual void | automationReadModeChanged ([[maybe_unused]] bool isReading) |
virtual void | automationWriteModeChanged ([[maybe_unused]] bool isWriting) |
virtual void | faderBankChanged ([[maybe_unused]] int newStartChannelNumber, [[maybe_unused]] const juce::StringArray &trackNames) |
virtual void | channelLevelChanged ([[maybe_unused]] int channel, [[maybe_unused]] float l, [[maybe_unused]] float r) |
virtual void | trackSelectionChanged ([[maybe_unused]] int channel, [[maybe_unused]] bool isSelected) |
virtual void | trackRecordEnabled ([[maybe_unused]] int channel, [[maybe_unused]] bool isEnabled) |
virtual void | masterLevelsChanged ([[maybe_unused]] float leftLevel, [[maybe_unused]] float rightLevel) |
virtual void | timecodeChanged ([[maybe_unused]] int barsOrHours, [[maybe_unused]] int beatsOrMinutes, [[maybe_unused]] int ticksOrSeconds, [[maybe_unused]] int millisecs, [[maybe_unused]] bool isBarsBeats, [[maybe_unused]] bool isFrames) |
virtual void | clickOnOffChanged ([[maybe_unused]] bool isClickOn) |
virtual void | snapOnOffChanged ([[maybe_unused]] bool isSnapOn) |
virtual void | loopOnOffChanged ([[maybe_unused]] bool isLoopOn) |
virtual void | slaveOnOffChanged ([[maybe_unused]] bool isSlaving) |
virtual void | punchOnOffChanged ([[maybe_unused]] bool isPunching) |
virtual void | scrollOnOffChanged ([[maybe_unused]] bool isScroll) |
virtual void | undoStatusChanged ([[maybe_unused]] bool canUundo, [[maybe_unused]] bool canReo) |
virtual void | parameterChanged ([[maybe_unused]] int parameterNumber, [[maybe_unused]] const ParameterSetting &newValue) |
virtual void | clearParameter ([[maybe_unused]] int parameterNumber) |
virtual void | markerChanged ([[maybe_unused]] int parameterNumber, [[maybe_unused]] const MarkerSetting &newValue) |
virtual void | clearMarker ([[maybe_unused]] int parameterNumber) |
virtual void | auxBankChanged (int) |
virtual bool | wantsMessage (int, const juce::MidiMessage &) |
virtual bool | eatsAllMessages () |
virtual bool | canSetEatsAllMessages () |
virtual void | setEatsAllMessages (bool) |
virtual bool | canChangeSelectedPlugin () |
virtual void | currentSelectionChanged (juce::String) |
juce::String | getSelectableDescription () override |
Subclasses must return a description of what they are. More... | |
virtual bool | showingPluginParams () |
virtual bool | showingMarkers () |
virtual bool | showingTracks () |
virtual void | deleteController () |
virtual void | pluginBypass (bool) |
virtual bool | isPluginSelected (Plugin *) |
virtual void | currentEditChanged (Edit *e) |
Edit * | getEdit () const noexcept |
TransportControl * | getTransport () const noexcept |
bool | isSafeRecording () const |
int | getMarkerBankOffset () const |
int | getFaderBankOffset () const |
int | getAuxBankOffset () const |
int | getParamBankOffset () const |
void | sendMidiCommandToController (int idx, const void *midiData, int numBytes) |
void | sendMidiCommandToController (int idx, const juce::MidiMessage &) |
template<size_t size> | |
void | sendMidiArray (int idx, const uint8_t(&rawData)[size]) |
void | userMovedFader (int channelNum, float newFaderPosition, bool delta=false) |
void | userMovedPanPot (int channelNum, float newPanPosition, bool delta=false) |
void | userMovedMasterLevelFader (float newLevel, bool delta=false) |
void | userMovedMasterPanPot (float newLevel) |
void | userMovedAux (int channelNum, float newPosition) |
void | userPressedAux (int channelNum) |
void | userMovedQuickParam (float newLevel) |
void | userPressedSolo (int channelNum) |
void | userPressedSoloIsolate (int channelNum) |
void | userPressedMute (int channelNum, bool muteVolumeControl) |
void | userSelectedTrack (int channelNum) |
void | userSelectedClipInTrack (int channelNum) |
void | userSelectedPluginInTrack (int channelNum) |
void | userPressedRecEnable (int channelNum, bool enableEtoE) |
void | userPressedPlay () |
void | userPressedRecord () |
void | userPressedStop () |
void | userPressedHome () |
void | userPressedEnd () |
void | userPressedMarkIn () |
void | userPressedMarkOut () |
void | userPressedAutomationReading () |
void | userPressedAutomationWriting () |
void | userToggledBeatsSecondsMode () |
void | userPressedSave () |
void | userPressedSaveAs () |
void | userPressedArmAll () |
void | userPressedJumpToMarkIn () |
void | userPressedJumpToMarkOut () |
void | userPressedZoomIn () |
void | userPressedZoomOut () |
void | userPressedZoomToFit () |
void | userPressedCreateMarker () |
void | userPressedNextMarker () |
void | userPressedPreviousMarker () |
void | userPressedRedo () |
void | userPressedUndo () |
void | userPressedAbort () |
void | userPressedAbortRestart () |
void | userPressedCut () |
void | userPressedCopy () |
void | userPressedPaste (bool insert) |
void | userPressedDelete (bool marked) |
void | userPressedZoomFitToTracks () |
void | userPressedInsertTempoChange () |
void | userPressedInsertPitchChange () |
void | userPressedInsertTimeSigChange () |
void | userToggledVideoWindow () |
void | userToggledMixerWindow (bool fullscreen) |
void | userToggledMidiEditorWindow (bool fullscreen) |
void | userToggledTrackEditorWindow (bool zoomed) |
void | userToggledBrowserWindow () |
void | userToggledActionsWindow () |
void | userPressedUserAction (int) |
void | userPressedFreeze () |
void | userPressedClearAllSolo () |
void | userPressedClearAllMute () |
void | userToggledLoopOnOff () |
void | userToggledPunchOnOff () |
void | userToggledClickOnOff () |
void | userToggledSnapOnOff () |
void | userToggledSlaveOnOff () |
void | userToggledEtoE () |
void | userToggledScroll () |
void | userSkippedToNextMarkerLeft () |
void | userSkippedToNextMarkerRight () |
void | userNudgedLeft () |
void | userNudgedRight () |
void | userZoomedIn () |
void | userZoomedOut () |
void | userScrolledTracksUp () |
void | userScrolledTracksDown () |
void | userScrolledTracksLeft () |
void | userScrolledTracksRight () |
void | userZoomedTracksIn () |
void | userZoomedTracksOut () |
void | selectOtherObject (SelectableClass::Relationship, bool moveFromCurrentPlugin) |
void | muteOrUnmutePluginsInTrack () |
void | userChangedFaderBanks (int channelNumDelta) |
void | userMovedJogWheel (float amount) |
void | userChangedRewindButton (bool isButtonDown) |
void | userChangedFastForwardButton (bool isButtonDown) |
void | userMovedParameterControl (int parameter, float newValue) |
void | userPressedParameterControl (int paramNumber) |
void | userChangedParameterBank (int deltaParams) |
void | userChangedMarkerBank (int deltaMarkers) |
void | userPressedGoToMarker (int marker) |
void | userChangedAuxBank (int delta) |
void | updateDeviceState () |
void | redrawSelectedPlugin () |
void | redrawSelectedTracks () |
Edit * | getEditIfOnEditScreen () 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 | |
juce::String | deviceDescription |
These values need to be set by the subclass. More... | |
int | supportedExtenders = 0 |
bool | needsMidiChannel = true |
juce::String | midiChannelName |
bool | needsMidiBackChannel = false |
juce::String | midiBackChannelName |
bool | needsOSCSocket = false |
bool | wantsClock = false |
bool | deletable = false |
int | numberOfFaderChannels = 0 |
int | numCharactersForTrackNames = 0 |
bool | allowBankingOffEnd = false |
int | numParameterControls = 0 |
int | numCharactersForParameterLabels = 0 |
int | numMarkers = 0 |
int | numCharactersForMarkerLabels = 0 |
bool | pickUpMode = false |
int | numAuxes = 0 |
int | numCharactersForAuxLabels = 0 |
bool | wantsAuxBanks = false |
bool | followsTrackSelection = false |
Engine & | engine |
ExternalControllerManager & | externalControllerManager |
ExternalController * | owner = nullptr |
Public Attributes inherited from tracktion::engine::Selectable | |
WeakRef::Master | masterReference |
Additional Inherited Members | |
Public Types inherited from tracktion::engine::Selectable | |
using | WeakRef = juce::WeakReference< Selectable > |
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... | |
Base class for types of control surface.
tracktion::engine::ControlSurface::ControlSurface | ( | ExternalControllerManager & | ) |
|
override |
|
virtual |
|
virtual |
|
virtual |
Reimplemented in tracktion::engine::CustomControlSurface.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Reimplemented in tracktion::engine::MackieMCU, and tracktion::engine::CustomControlSurface.
|
virtual |
|
virtual |
|
virtual |
Reimplemented in tracktion::engine::MackieMCU, and tracktion::engine::MackieC4.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Reimplemented in tracktion::engine::MackieMCU, and tracktion::engine::MackieC4.
|
virtual |
|
virtual |
|
virtual |
Reimplemented in tracktion::engine::RemoteSLCompact, and tracktion::engine::CustomControlSurface.
|
virtual |
Reimplemented in tracktion::engine::CustomControlSurface.
|
virtual |
|
virtual |
Reimplemented in tracktion::engine::NovationRemoteSl, tracktion::engine::MackieC4, and tracktion::engine::CustomControlSurface.
|
overridevirtual |
Subclasses must return a description of what they are.
Implements tracktion::engine::Selectable.
|
virtual |
|
virtual |
Reimplemented in tracktion::engine::RemoteSLCompact, and tracktion::engine::MackieMCU.
|
virtual |
|
virtual |
Reimplemented in tracktion::engine::CustomControlSurface.
|
virtual |
Reimplemented in tracktion::engine::MackieC4, and tracktion::engine::AlphaTrackControlSurface.
|
virtual |
Reimplemented in tracktion::engine::RemoteSLCompact, and tracktion::engine::AlphaTrackControlSurface.
|
virtual |
|
noexcept |
Referenced by tracktion::engine::ExternalController::getEdit().
|
noexcept |
Referenced by tracktion::engine::ExternalController::getTransport().
bool tracktion::engine::ControlSurface::isSafeRecording | ( | ) | const |
int tracktion::engine::ControlSurface::getMarkerBankOffset | ( | ) | const |
int tracktion::engine::ControlSurface::getFaderBankOffset | ( | ) | const |
int tracktion::engine::ControlSurface::getAuxBankOffset | ( | ) | const |
int tracktion::engine::ControlSurface::getParamBankOffset | ( | ) | const |
void tracktion::engine::ControlSurface::sendMidiCommandToController | ( | int | idx, |
const void * | midiData, | ||
int | numBytes | ||
) |
void tracktion::engine::ControlSurface::sendMidiCommandToController | ( | int | idx, |
const juce::MidiMessage & | |||
) |
void tracktion::engine::ControlSurface::sendMidiArray | ( | int | idx, |
const uint8_t(&) | rawData[size] | ||
) |
void tracktion::engine::ControlSurface::userMovedFader | ( | int | channelNum, |
float | newFaderPosition, | ||
bool | delta = false |
||
) |
void tracktion::engine::ControlSurface::userMovedPanPot | ( | int | channelNum, |
float | newPanPosition, | ||
bool | delta = false |
||
) |
void tracktion::engine::ControlSurface::userMovedMasterLevelFader | ( | float | newLevel, |
bool | delta = false |
||
) |
void tracktion::engine::ControlSurface::userMovedMasterPanPot | ( | float | newLevel | ) |
void tracktion::engine::ControlSurface::userMovedAux | ( | int | channelNum, |
float | newPosition | ||
) |
void tracktion::engine::ControlSurface::userPressedAux | ( | int | channelNum | ) |
void tracktion::engine::ControlSurface::userMovedQuickParam | ( | float | newLevel | ) |
void tracktion::engine::ControlSurface::userPressedSolo | ( | int | channelNum | ) |
void tracktion::engine::ControlSurface::userPressedSoloIsolate | ( | int | channelNum | ) |
void tracktion::engine::ControlSurface::userPressedMute | ( | int | channelNum, |
bool | muteVolumeControl | ||
) |
void tracktion::engine::ControlSurface::userSelectedTrack | ( | int | channelNum | ) |
void tracktion::engine::ControlSurface::userSelectedClipInTrack | ( | int | channelNum | ) |
void tracktion::engine::ControlSurface::userSelectedPluginInTrack | ( | int | channelNum | ) |
void tracktion::engine::ControlSurface::userPressedRecEnable | ( | int | channelNum, |
bool | enableEtoE | ||
) |
void tracktion::engine::ControlSurface::userPressedPlay | ( | ) |
void tracktion::engine::ControlSurface::userPressedRecord | ( | ) |
void tracktion::engine::ControlSurface::userPressedStop | ( | ) |
void tracktion::engine::ControlSurface::userPressedHome | ( | ) |
void tracktion::engine::ControlSurface::userPressedEnd | ( | ) |
void tracktion::engine::ControlSurface::userPressedMarkIn | ( | ) |
void tracktion::engine::ControlSurface::userPressedMarkOut | ( | ) |
void tracktion::engine::ControlSurface::userPressedAutomationReading | ( | ) |
void tracktion::engine::ControlSurface::userPressedAutomationWriting | ( | ) |
void tracktion::engine::ControlSurface::userToggledBeatsSecondsMode | ( | ) |
void tracktion::engine::ControlSurface::userPressedSave | ( | ) |
void tracktion::engine::ControlSurface::userPressedSaveAs | ( | ) |
void tracktion::engine::ControlSurface::userPressedArmAll | ( | ) |
void tracktion::engine::ControlSurface::userPressedJumpToMarkIn | ( | ) |
void tracktion::engine::ControlSurface::userPressedJumpToMarkOut | ( | ) |
void tracktion::engine::ControlSurface::userPressedZoomIn | ( | ) |
void tracktion::engine::ControlSurface::userPressedZoomOut | ( | ) |
void tracktion::engine::ControlSurface::userPressedZoomToFit | ( | ) |
void tracktion::engine::ControlSurface::userPressedCreateMarker | ( | ) |
void tracktion::engine::ControlSurface::userPressedNextMarker | ( | ) |
void tracktion::engine::ControlSurface::userPressedPreviousMarker | ( | ) |
void tracktion::engine::ControlSurface::userPressedRedo | ( | ) |
void tracktion::engine::ControlSurface::userPressedUndo | ( | ) |
void tracktion::engine::ControlSurface::userPressedAbort | ( | ) |
void tracktion::engine::ControlSurface::userPressedAbortRestart | ( | ) |
void tracktion::engine::ControlSurface::userPressedCut | ( | ) |
void tracktion::engine::ControlSurface::userPressedCopy | ( | ) |
void tracktion::engine::ControlSurface::userPressedPaste | ( | bool | insert | ) |
void tracktion::engine::ControlSurface::userPressedDelete | ( | bool | marked | ) |
void tracktion::engine::ControlSurface::userPressedZoomFitToTracks | ( | ) |
void tracktion::engine::ControlSurface::userPressedInsertTempoChange | ( | ) |
void tracktion::engine::ControlSurface::userPressedInsertPitchChange | ( | ) |
void tracktion::engine::ControlSurface::userPressedInsertTimeSigChange | ( | ) |
void tracktion::engine::ControlSurface::userToggledVideoWindow | ( | ) |
void tracktion::engine::ControlSurface::userToggledMixerWindow | ( | bool | fullscreen | ) |
void tracktion::engine::ControlSurface::userToggledMidiEditorWindow | ( | bool | fullscreen | ) |
void tracktion::engine::ControlSurface::userToggledTrackEditorWindow | ( | bool | zoomed | ) |
void tracktion::engine::ControlSurface::userToggledBrowserWindow | ( | ) |
void tracktion::engine::ControlSurface::userToggledActionsWindow | ( | ) |
void tracktion::engine::ControlSurface::userPressedUserAction | ( | int | ) |
void tracktion::engine::ControlSurface::userPressedFreeze | ( | ) |
void tracktion::engine::ControlSurface::userPressedClearAllSolo | ( | ) |
void tracktion::engine::ControlSurface::userPressedClearAllMute | ( | ) |
void tracktion::engine::ControlSurface::userToggledLoopOnOff | ( | ) |
void tracktion::engine::ControlSurface::userToggledPunchOnOff | ( | ) |
void tracktion::engine::ControlSurface::userToggledClickOnOff | ( | ) |
void tracktion::engine::ControlSurface::userToggledSnapOnOff | ( | ) |
void tracktion::engine::ControlSurface::userToggledSlaveOnOff | ( | ) |
void tracktion::engine::ControlSurface::userToggledEtoE | ( | ) |
void tracktion::engine::ControlSurface::userToggledScroll | ( | ) |
void tracktion::engine::ControlSurface::userSkippedToNextMarkerLeft | ( | ) |
void tracktion::engine::ControlSurface::userSkippedToNextMarkerRight | ( | ) |
void tracktion::engine::ControlSurface::userNudgedLeft | ( | ) |
void tracktion::engine::ControlSurface::userNudgedRight | ( | ) |
void tracktion::engine::ControlSurface::userZoomedIn | ( | ) |
void tracktion::engine::ControlSurface::userZoomedOut | ( | ) |
void tracktion::engine::ControlSurface::userScrolledTracksUp | ( | ) |
void tracktion::engine::ControlSurface::userScrolledTracksDown | ( | ) |
void tracktion::engine::ControlSurface::userScrolledTracksLeft | ( | ) |
void tracktion::engine::ControlSurface::userScrolledTracksRight | ( | ) |
void tracktion::engine::ControlSurface::userZoomedTracksIn | ( | ) |
void tracktion::engine::ControlSurface::userZoomedTracksOut | ( | ) |
void tracktion::engine::ControlSurface::selectOtherObject | ( | SelectableClass::Relationship | , |
bool | moveFromCurrentPlugin | ||
) |
void tracktion::engine::ControlSurface::muteOrUnmutePluginsInTrack | ( | ) |
void tracktion::engine::ControlSurface::userChangedFaderBanks | ( | int | channelNumDelta | ) |
void tracktion::engine::ControlSurface::userMovedJogWheel | ( | float | amount | ) |
void tracktion::engine::ControlSurface::userChangedRewindButton | ( | bool | isButtonDown | ) |
void tracktion::engine::ControlSurface::userChangedFastForwardButton | ( | bool | isButtonDown | ) |
void tracktion::engine::ControlSurface::userMovedParameterControl | ( | int | parameter, |
float | newValue | ||
) |
void tracktion::engine::ControlSurface::userPressedParameterControl | ( | int | paramNumber | ) |
void tracktion::engine::ControlSurface::userChangedParameterBank | ( | int | deltaParams | ) |
void tracktion::engine::ControlSurface::userChangedMarkerBank | ( | int | deltaMarkers | ) |
void tracktion::engine::ControlSurface::userPressedGoToMarker | ( | int | marker | ) |
void tracktion::engine::ControlSurface::userChangedAuxBank | ( | int | delta | ) |
void tracktion::engine::ControlSurface::updateDeviceState | ( | ) |
void tracktion::engine::ControlSurface::redrawSelectedPlugin | ( | ) |
void tracktion::engine::ControlSurface::redrawSelectedTracks | ( | ) |
Edit* tracktion::engine::ControlSurface::getEditIfOnEditScreen | ( | ) | const |
juce::String tracktion::engine::ControlSurface::deviceDescription |
These values need to be set by the subclass.
int tracktion::engine::ControlSurface::supportedExtenders = 0 |
bool tracktion::engine::ControlSurface::needsMidiChannel = true |
juce::String tracktion::engine::ControlSurface::midiChannelName |
bool tracktion::engine::ControlSurface::needsMidiBackChannel = false |
juce::String tracktion::engine::ControlSurface::midiBackChannelName |
bool tracktion::engine::ControlSurface::needsOSCSocket = false |
bool tracktion::engine::ControlSurface::wantsClock = false |
bool tracktion::engine::ControlSurface::deletable = false |
int tracktion::engine::ControlSurface::numberOfFaderChannels = 0 |
int tracktion::engine::ControlSurface::numCharactersForTrackNames = 0 |
bool tracktion::engine::ControlSurface::allowBankingOffEnd = false |
int tracktion::engine::ControlSurface::numParameterControls = 0 |
int tracktion::engine::ControlSurface::numCharactersForParameterLabels = 0 |
int tracktion::engine::ControlSurface::numMarkers = 0 |
int tracktion::engine::ControlSurface::numCharactersForMarkerLabels = 0 |
bool tracktion::engine::ControlSurface::pickUpMode = false |
int tracktion::engine::ControlSurface::numAuxes = 0 |
int tracktion::engine::ControlSurface::numCharactersForAuxLabels = 0 |
bool tracktion::engine::ControlSurface::wantsAuxBanks = false |
bool tracktion::engine::ControlSurface::followsTrackSelection = false |
Engine& tracktion::engine::ControlSurface::engine |
ExternalControllerManager& tracktion::engine::ControlSurface::externalControllerManager |
ExternalController* tracktion::engine::ControlSurface::owner = nullptr |