TracktionEngine
Public Member Functions | List of all members
tracktion::engine::IconProG2 Class Reference
Inheritance diagram for tracktion::engine::IconProG2:

Public Member Functions

 IconProG2 (ExternalControllerManager &)
 
 ~IconProG2 ()
 
void acceptMidiMessageInt (int deviceIdx, const juce::MidiMessage &) override
 
void loopOnOffChanged (bool isLoopOn) override
 
void punchOnOffChanged (bool isPunching) override
 
void clickOnOffChanged (bool isClickOn) override
 
void snapOnOffChanged (bool isSnapOn) override
 
void slaveOnOffChanged (bool isSlaving) override
 
void scrollOnOffChanged (bool isScroll) override
 
void undoStatusChanged (bool undo, bool redo) override
 
void automationReadModeChanged (bool isReading) override
 
void automationWriteModeChanged (bool isWriting) override
 
void setAssignmentMode (AssignmentMode newMode) override
 
- Public Member Functions inherited from tracktion::engine::MackieMCU
 MackieMCU (ExternalControllerManager &)
 
 ~MackieMCU ()
 
void initialiseDevice (bool connect) override
 
void shutDownDevice () override
 
void updateMiscFeatures () override
 
void cpuTimerCallback ()
 
void auxTimerCallback ()
 
void acceptMidiMessage (int, const juce::MidiMessage &) override
 
void flip ()
 
void setAssignmentText (const juce::String &)
 
void setDisplay (int devIdx, const char *topLine, const char *bottomLine)
 
void indicesChanged ()
 
void setSignalMetersEnabled (bool)
 
void setSignalMetersEnabled (int dev, bool)
 
void moveFaderInt (int dev, int channelNum, float newSliderPos)
 
void moveFader (int channelNum, float newSliderPos) override
 
void moveMasterLevelFader (float newLeftSliderPos, float newRightSliderPos) override
 
void movePanPotInt (int dev, int channelNum, float newPan)
 
void movePanPot (int channelNum, float newPan) override
 
void moveAux (int channelNum, const char *bus, float newPos) override
 
void lightUpButton (int dev, int buttonNum, bool on)
 
void updateSoloAndMute (int channelNum, Track::MuteAndSoloLightState, bool isBright) override
 
void soloCountChanged (bool) override
 
void trackSelectionChanged (int channel, bool isSelected) override
 
void playStateChanged (bool isPlaying) override
 
void recordStateChanged (bool isRecording) override
 
void loopOnOffChanged (bool isLoopOn) override
 
void punchOnOffChanged (bool isPunching) override
 
void clickOnOffChanged (bool isClickOn) override
 
void snapOnOffChanged (bool isSnapOn) override
 
void slaveOnOffChanged (bool isSlaving) override
 
void undoStatusChanged (bool undo, bool redo) override
 
void automationReadModeChanged (bool isReading) override
 
void automationWriteModeChanged (bool isWriting) override
 
void parameterChanged (int parameterNumber, const ParameterSetting &) override
 
void clearParameter (int parameterNumber) override
 
void faderBankChanged (int newStartChannelNumber, const juce::StringArray &trackNames) override
 
void channelLevelChanged (int channel, float l, float r) override
 
void masterLevelsChanged (float leftLevel, float rightLevel) override
 
void updateTCDisplay (const char *newDigits)
 
void timecodeChanged (int barsOrHours, int beatsOrMinutes, int ticksOrSeconds, int millisecs, bool isBarsBeats, bool isFrames) override
 
void trackRecordEnabled (int channel, bool isEnabled) override
 
bool showingPluginParams () override
 
bool showingMarkers () override
 
bool showingTracks () override
 
void markerChanged (int parameterNumber, const MarkerSetting &) override
 
void clearMarker (int parameterNumber) override
 
void auxBankChanged (int bank) override
 
void clearAux (int channel) override
 
void registerXT (MackieXT *)
 
void unregisterXT (MackieXT *)
 
void sendMidiCommandToController (int devIdx, uint8_t byte1, uint8_t byte2, uint8_t byte3)
 
void sendMidiCommandToController (int devIdx, const unsigned char *midiData, int numBytes)
 
void setDeviceIndex (int idx)
 
bool isOneTouchRecord ()
 
void setOneTouchRecord (bool b)
 
- Public Member Functions inherited from tracktion::engine::ControlSurface
 ControlSurface (ExternalControllerManager &)
 
 ~ControlSurface () override
 
virtual void initialiseDevice ([[maybe_unused]] bool connect)
 
virtual void updateOSCSettings (int, int, juce::String)
 
virtual void numExtendersChanged ([[maybe_unused]] int num, [[maybe_unused]] int main)
 
virtual void acceptMidiMessage ([[maybe_unused]] int idx, const juce::MidiMessage &)
 
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 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 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 void deleteController ()
 
virtual void pluginBypass (bool)
 
virtual bool isPluginSelected (Plugin *)
 
virtual void currentEditChanged (Edit *e)
 
EditgetEdit () const noexcept
 
TransportControlgetTransport () 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 ()
 
EditgetEditIfOnEditScreen () 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 ()
 

Additional Inherited Members

- Public Types inherited from tracktion::engine::MackieMCU
enum  AssignmentMode { PanMode = 0 , PluginMode , AuxMode , MarkerMode }
 
enum  { mcuFootswitch1Key = 0x123001 , mcuFootswitch2Key = 0x123002 }
 
enum  { maxNumSurfaces = 4 , maxNumChannels = maxNumSurfaces * 8 , maxCharsOnDisplay = 128 }
 
- 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...
 
- Public Attributes inherited from tracktion::engine::ControlSurface
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
 
Engineengine
 
ExternalControllerManagerexternalControllerManager
 
ExternalControllerowner = nullptr
 
- Public Attributes inherited from tracktion::engine::Selectable
WeakRef::Master masterReference
 
- Protected Member Functions inherited from tracktion::engine::MackieMCU
void clearAllDisplays ()
 
void setDisplay (int devIdx, const juce::String &text, int pos)
 
void clearDisplaySegment (int devIdx, int column, int row)
 
void setDisplaySegment (int devIdx, int column, int row, const juce::String &text)
 
void centreDisplaySegment (int devIdx, int column, int row, const juce::String &text)
 
void handleAsyncUpdate () override
 
void timerCallback () override
 
juce::String auxString (int chan) const
 
bool isEditValidAndNotSafeRecording () const
 
- Protected Attributes inherited from tracktion::engine::MackieMCU
AssignmentMode assignmentMode = PanMode
 
float panPos [maxNumChannels]
 
char timecodeDigits [9]
 
bool lastSmpteBeatsSetting = false
 
bool isZooming = false
 
bool marker = false
 
bool nudge = false
 
uint8_t lastChannelLevels [maxNumChannels]
 
bool recLight [maxNumChannels]
 
bool isRecButtonDown = false
 
bool flipped = false
 
bool editFlip = false
 
bool cpuVisible = false
 
bool oneTouchRecord = false
 
int shiftKeysDown = 0
 
char currentDisplayChars [maxNumSurfaces][maxCharsOnDisplay]
 
char newDisplayChars [maxNumSurfaces][maxCharsOnDisplay]
 
uint32_t lastRewindPress = 0
 
uint32_t lastFaderPos [maxNumSurfaces][9]
 
float auxLevels [maxNumChannels]
 
char auxBusNames [maxNumChannels][7]
 
int lastStartChan = 0
 
int deviceIdx = 0
 
int auxBank = 0
 
juce::Array< int > userMovedAuxes
 
std::unique_ptr< CpuMeterTimercpuMeterTimer
 
std::unique_ptr< AuxTimerauxTimer
 
juce::Array< MackieXT * > extenders
 

Constructor & Destructor Documentation

◆ IconProG2()

tracktion::engine::IconProG2::IconProG2 ( ExternalControllerManager )

◆ ~IconProG2()

tracktion::engine::IconProG2::~IconProG2 ( )

Member Function Documentation

◆ acceptMidiMessageInt()

void tracktion::engine::IconProG2::acceptMidiMessageInt ( int  deviceIdx,
const juce::MidiMessage &   
)
overridevirtual

Reimplemented from tracktion::engine::MackieMCU.

◆ loopOnOffChanged()

void tracktion::engine::IconProG2::loopOnOffChanged ( bool  isLoopOn)
override

◆ punchOnOffChanged()

void tracktion::engine::IconProG2::punchOnOffChanged ( bool  isPunching)
override

◆ clickOnOffChanged()

void tracktion::engine::IconProG2::clickOnOffChanged ( bool  isClickOn)
override

◆ snapOnOffChanged()

void tracktion::engine::IconProG2::snapOnOffChanged ( bool  isSnapOn)
override

◆ slaveOnOffChanged()

void tracktion::engine::IconProG2::slaveOnOffChanged ( bool  isSlaving)
override

◆ scrollOnOffChanged()

void tracktion::engine::IconProG2::scrollOnOffChanged ( bool  isScroll)
override

◆ undoStatusChanged()

void tracktion::engine::IconProG2::undoStatusChanged ( bool  undo,
bool  redo 
)
override

◆ automationReadModeChanged()

void tracktion::engine::IconProG2::automationReadModeChanged ( bool  isReading)
override

◆ automationWriteModeChanged()

void tracktion::engine::IconProG2::automationWriteModeChanged ( bool  isWriting)
override

◆ setAssignmentMode()

void tracktion::engine::IconProG2::setAssignmentMode ( AssignmentMode  newMode)
overridevirtual

Reimplemented from tracktion::engine::MackieMCU.


The documentation for this class was generated from the following file: