TracktionEngine
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
tracktion::engine::ExternalController Class Reference

Acts as a holder for a ControlSurface object. More...

Inheritance diagram for tracktion::engine::ExternalController:

Public Member Functions

 ExternalController (Engine &, ControlSurface *)
 
 ~ExternalController () override
 
juce::String getName () const
 
bool needsMidiChannel () const
 
bool needsMidiBackChannel () const
 
juce::String getDesiredMidiChannel () const
 
juce::String getDesiredMidiBackChannel () const
 
bool needsOSCSocket () const
 
int getNumDevices () const
 
void setNumDevices (int)
 
int getMainDevice () const
 
void setMainDevice (int)
 
juce::String getMidiInputDevice (int idx) const
 
void setMidiInputDevice (int idx, const juce::String &nameOfMidiInput)
 
juce::String getBackChannelDevice (int idx) const
 
void setBackChannelDevice (int idx, const juce::String &nameOfMidiOutput)
 
bool isUsingMidiOutputDevice (const MidiOutputDevice *d) const noexcept
 
int getOSCInputPort ()
 
void setOSCInputPort (int port)
 
int getOSCOutputPort ()
 
void setOSCOutputPort (int port)
 
juce::String getOSCOutputAddress ()
 
void setOSCOutputAddress (const juce::String addr)
 
bool isEnabled () const
 
void setEnabled (bool)
 
bool isDeletable () const
 
void deleteController ()
 
bool wantsMidiClock () const
 
void currentEditChanged (Edit *)
 
void moveFader (int channelNum, float newSliderPos)
 
void moveMasterFaders (float newLeftPos, float newRightPos)
 
void movePanPot (int channelNum, float newPan)
 
void updateSoloAndMute (int channelNum, Track::MuteAndSoloLightState, bool isBright)
 
void soloCountChanged (bool)
 
void playStateChanged (bool isPlaying)
 
void recordStateChanged (bool isRecording)
 
void automationModeChanged (bool isReading, bool isWriting)
 
void snapChanged (bool isOn)
 
void loopChanged (bool isOn)
 
void clickChanged (bool isOn)
 
void channelLevelChanged (int channel, float l, float r)
 
void masterLevelsChanged (float leftLevel, float rightLevel)
 
void timecodeChanged (int barsOrHours, int beatsOrMinutes, int ticksOrSeconds, int millisecs, bool isBarsBeats, bool isFrames)
 
void trackSelected (int channel, bool isSelected)
 
void selectOtherObject (SelectableClass::Relationship, bool moveFromCurrentPlugin)
 
void muteOrUnmutePlugin ()
 
void muteOrUnmutePluginsInTrack ()
 
void changePluginPreset (int delta)
 
void soloPluginTrack ()
 
void auxSendLevelsChanged ()
 
void updateDeviceState ()
 
void updateParameters ()
 
void updateMarkers ()
 
void selectedPluginChanged ()
 
void selectableObjectChanged (Selectable *) override
 
void selectableObjectAboutToBeDeleted (Selectable *) override
 
void curveHasChanged (AutomatableParameter &) override
 Called when the automation curve has changed, point time, value or curve. More...
 
void currentValueChanged (AutomatableParameter &, float) override
 Called when the current value of the parameter changed, either from setting the parameter, automation, a macro or modifier. More...
 
void updateTrackSelectLights ()
 
void updateTrackRecordLights ()
 
void updatePunchLights ()
 
void updateScrollLights ()
 
void updateUndoLights ()
 
int getNumFaderChannels () const noexcept
 
int getFaderIndexInActiveRegion (int num) const noexcept
 
juce::Range< int > getActiveChannels () const noexcept
 
int getNumParameterControls () const noexcept
 
juce::Range< int > getActiveParams () const noexcept
 
void midiInOutDevicesChanged ()
 
void oscSettingsChanged ()
 
void handleAsyncUpdate () override
 
void acceptMidiMessage (MidiInputDevice &, const juce::MidiMessage &)
 
bool wantsMessage (MidiInputDevice &, const juce::MidiMessage &)
 
bool eatsAllMessages () const
 
bool canSetEatsAllMessages ()
 
void setEatsAllMessages (bool eatAll)
 
juce::Colour getSelectionColour () const
 
bool getShowSelectionColour () const
 
void setSelectionColour (juce::Colour)
 
void setShowSelectionColour (bool)
 
bool shouldTrackBeColoured (int channelNum)
 
void getTrackColour (int channelNum, juce::Colour &)
 
bool shouldPluginBeColoured (Plugin *)
 
void getPluginColour (Plugin *, juce::Colour &)
 
void repaintParamSource ()
 
void redrawTracks ()
 
ControlSurfacegetControlSurface () const noexcept
 
template<typename Type >
Type * getControlSurfaceIfType () const noexcept
 
ExternalControllerManagergetExternalControllerManager () const noexcept
 
EditgetEdit () const
 
TransportControlgetTransport () const noexcept
 
juce::String getInputDeviceName (int idx) const
 
juce::String getOutputDeviceName (int idx) const
 
juce::StringArray getMidiInputPorts () const
 
juce::StringArray getMidiOutputPorts () const
 

Static Public Member Functions

static juce::String shortenName (juce::String, int maxLen)
 
static juce::String getNoDeviceSelectedMessage ()
 

Public Attributes

Engineengine
 

Detailed Description

Acts as a holder for a ControlSurface object.

Constructor & Destructor Documentation

◆ ExternalController()

tracktion::engine::ExternalController::ExternalController ( Engine ,
ControlSurface  
)

◆ ~ExternalController()

tracktion::engine::ExternalController::~ExternalController ( )
override

Member Function Documentation

◆ getName()

juce::String tracktion::engine::ExternalController::getName ( ) const

◆ needsMidiChannel()

bool tracktion::engine::ExternalController::needsMidiChannel ( ) const

◆ needsMidiBackChannel()

bool tracktion::engine::ExternalController::needsMidiBackChannel ( ) const

◆ getDesiredMidiChannel()

juce::String tracktion::engine::ExternalController::getDesiredMidiChannel ( ) const

◆ getDesiredMidiBackChannel()

juce::String tracktion::engine::ExternalController::getDesiredMidiBackChannel ( ) const

◆ needsOSCSocket()

bool tracktion::engine::ExternalController::needsOSCSocket ( ) const

◆ getNumDevices()

int tracktion::engine::ExternalController::getNumDevices ( ) const

◆ setNumDevices()

void tracktion::engine::ExternalController::setNumDevices ( int  )

◆ getMainDevice()

int tracktion::engine::ExternalController::getMainDevice ( ) const

◆ setMainDevice()

void tracktion::engine::ExternalController::setMainDevice ( int  )

◆ getMidiInputDevice()

juce::String tracktion::engine::ExternalController::getMidiInputDevice ( int  idx) const

◆ setMidiInputDevice()

void tracktion::engine::ExternalController::setMidiInputDevice ( int  idx,
const juce::String &  nameOfMidiInput 
)

◆ getBackChannelDevice()

juce::String tracktion::engine::ExternalController::getBackChannelDevice ( int  idx) const

◆ setBackChannelDevice()

void tracktion::engine::ExternalController::setBackChannelDevice ( int  idx,
const juce::String &  nameOfMidiOutput 
)

◆ isUsingMidiOutputDevice()

bool tracktion::engine::ExternalController::isUsingMidiOutputDevice ( const MidiOutputDevice d) const
noexcept

◆ getOSCInputPort()

int tracktion::engine::ExternalController::getOSCInputPort ( )

◆ setOSCInputPort()

void tracktion::engine::ExternalController::setOSCInputPort ( int  port)

◆ getOSCOutputPort()

int tracktion::engine::ExternalController::getOSCOutputPort ( )

◆ setOSCOutputPort()

void tracktion::engine::ExternalController::setOSCOutputPort ( int  port)

◆ getOSCOutputAddress()

juce::String tracktion::engine::ExternalController::getOSCOutputAddress ( )

◆ setOSCOutputAddress()

void tracktion::engine::ExternalController::setOSCOutputAddress ( const juce::String  addr)

◆ isEnabled()

bool tracktion::engine::ExternalController::isEnabled ( ) const

◆ setEnabled()

void tracktion::engine::ExternalController::setEnabled ( bool  )

◆ isDeletable()

bool tracktion::engine::ExternalController::isDeletable ( ) const

◆ deleteController()

void tracktion::engine::ExternalController::deleteController ( )

◆ wantsMidiClock()

bool tracktion::engine::ExternalController::wantsMidiClock ( ) const

◆ currentEditChanged()

void tracktion::engine::ExternalController::currentEditChanged ( Edit )

◆ moveFader()

void tracktion::engine::ExternalController::moveFader ( int  channelNum,
float  newSliderPos 
)

◆ moveMasterFaders()

void tracktion::engine::ExternalController::moveMasterFaders ( float  newLeftPos,
float  newRightPos 
)

◆ movePanPot()

void tracktion::engine::ExternalController::movePanPot ( int  channelNum,
float  newPan 
)

◆ updateSoloAndMute()

void tracktion::engine::ExternalController::updateSoloAndMute ( int  channelNum,
Track::MuteAndSoloLightState  ,
bool  isBright 
)

◆ soloCountChanged()

void tracktion::engine::ExternalController::soloCountChanged ( bool  )

◆ playStateChanged()

void tracktion::engine::ExternalController::playStateChanged ( bool  isPlaying)

◆ recordStateChanged()

void tracktion::engine::ExternalController::recordStateChanged ( bool  isRecording)

◆ automationModeChanged()

void tracktion::engine::ExternalController::automationModeChanged ( bool  isReading,
bool  isWriting 
)

◆ snapChanged()

void tracktion::engine::ExternalController::snapChanged ( bool  isOn)

◆ loopChanged()

void tracktion::engine::ExternalController::loopChanged ( bool  isOn)

◆ clickChanged()

void tracktion::engine::ExternalController::clickChanged ( bool  isOn)

◆ channelLevelChanged()

void tracktion::engine::ExternalController::channelLevelChanged ( int  channel,
float  l,
float  r 
)

◆ masterLevelsChanged()

void tracktion::engine::ExternalController::masterLevelsChanged ( float  leftLevel,
float  rightLevel 
)

◆ timecodeChanged()

void tracktion::engine::ExternalController::timecodeChanged ( int  barsOrHours,
int  beatsOrMinutes,
int  ticksOrSeconds,
int  millisecs,
bool  isBarsBeats,
bool  isFrames 
)

◆ trackSelected()

void tracktion::engine::ExternalController::trackSelected ( int  channel,
bool  isSelected 
)

◆ selectOtherObject()

void tracktion::engine::ExternalController::selectOtherObject ( SelectableClass::Relationship  ,
bool  moveFromCurrentPlugin 
)

◆ muteOrUnmutePlugin()

void tracktion::engine::ExternalController::muteOrUnmutePlugin ( )

◆ muteOrUnmutePluginsInTrack()

void tracktion::engine::ExternalController::muteOrUnmutePluginsInTrack ( )

◆ changePluginPreset()

void tracktion::engine::ExternalController::changePluginPreset ( int  delta)

◆ soloPluginTrack()

void tracktion::engine::ExternalController::soloPluginTrack ( )

◆ auxSendLevelsChanged()

void tracktion::engine::ExternalController::auxSendLevelsChanged ( )

◆ updateDeviceState()

void tracktion::engine::ExternalController::updateDeviceState ( )

◆ updateParameters()

void tracktion::engine::ExternalController::updateParameters ( )

◆ updateMarkers()

void tracktion::engine::ExternalController::updateMarkers ( )

◆ selectedPluginChanged()

void tracktion::engine::ExternalController::selectedPluginChanged ( )

◆ selectableObjectChanged()

void tracktion::engine::ExternalController::selectableObjectChanged ( Selectable )
overridevirtual

◆ selectableObjectAboutToBeDeleted()

void tracktion::engine::ExternalController::selectableObjectAboutToBeDeleted ( Selectable )
overridevirtual

◆ curveHasChanged()

void tracktion::engine::ExternalController::curveHasChanged ( AutomatableParameter )
overridevirtual

Called when the automation curve has changed, point time, value or curve.

Implements tracktion::engine::AutomatableParameter::Listener.

◆ currentValueChanged()

void tracktion::engine::ExternalController::currentValueChanged ( AutomatableParameter ,
float   
)
overridevirtual

Called when the current value of the parameter changed, either from setting the parameter, automation, a macro or modifier.

This will be called on the audio thread so make sure you don't do anything time consuming or block etc.

Reimplemented from tracktion::engine::AutomatableParameter::Listener.

◆ updateTrackSelectLights()

void tracktion::engine::ExternalController::updateTrackSelectLights ( )

◆ updateTrackRecordLights()

void tracktion::engine::ExternalController::updateTrackRecordLights ( )

◆ updatePunchLights()

void tracktion::engine::ExternalController::updatePunchLights ( )

◆ updateScrollLights()

void tracktion::engine::ExternalController::updateScrollLights ( )

◆ updateUndoLights()

void tracktion::engine::ExternalController::updateUndoLights ( )

◆ getNumFaderChannels()

int tracktion::engine::ExternalController::getNumFaderChannels ( ) const
noexcept

◆ getFaderIndexInActiveRegion()

int tracktion::engine::ExternalController::getFaderIndexInActiveRegion ( int  num) const
noexcept

◆ getActiveChannels()

juce::Range<int> tracktion::engine::ExternalController::getActiveChannels ( ) const
noexcept

◆ getNumParameterControls()

int tracktion::engine::ExternalController::getNumParameterControls ( ) const
noexcept

◆ getActiveParams()

juce::Range<int> tracktion::engine::ExternalController::getActiveParams ( ) const
noexcept

◆ midiInOutDevicesChanged()

void tracktion::engine::ExternalController::midiInOutDevicesChanged ( )

◆ oscSettingsChanged()

void tracktion::engine::ExternalController::oscSettingsChanged ( )

◆ handleAsyncUpdate()

void tracktion::engine::ExternalController::handleAsyncUpdate ( )
override

◆ acceptMidiMessage()

void tracktion::engine::ExternalController::acceptMidiMessage ( MidiInputDevice ,
const juce::MidiMessage &   
)

◆ wantsMessage()

bool tracktion::engine::ExternalController::wantsMessage ( MidiInputDevice ,
const juce::MidiMessage &   
)

◆ eatsAllMessages()

bool tracktion::engine::ExternalController::eatsAllMessages ( ) const

◆ canSetEatsAllMessages()

bool tracktion::engine::ExternalController::canSetEatsAllMessages ( )

◆ setEatsAllMessages()

void tracktion::engine::ExternalController::setEatsAllMessages ( bool  eatAll)

◆ getSelectionColour()

juce::Colour tracktion::engine::ExternalController::getSelectionColour ( ) const

◆ getShowSelectionColour()

bool tracktion::engine::ExternalController::getShowSelectionColour ( ) const

◆ setSelectionColour()

void tracktion::engine::ExternalController::setSelectionColour ( juce::Colour  )

◆ setShowSelectionColour()

void tracktion::engine::ExternalController::setShowSelectionColour ( bool  )

◆ shouldTrackBeColoured()

bool tracktion::engine::ExternalController::shouldTrackBeColoured ( int  channelNum)

◆ getTrackColour()

void tracktion::engine::ExternalController::getTrackColour ( int  channelNum,
juce::Colour &   
)

◆ shouldPluginBeColoured()

bool tracktion::engine::ExternalController::shouldPluginBeColoured ( Plugin )

◆ getPluginColour()

void tracktion::engine::ExternalController::getPluginColour ( Plugin ,
juce::Colour &   
)

◆ repaintParamSource()

void tracktion::engine::ExternalController::repaintParamSource ( )

◆ redrawTracks()

void tracktion::engine::ExternalController::redrawTracks ( )

◆ getControlSurface()

ControlSurface& tracktion::engine::ExternalController::getControlSurface ( ) const
noexcept

Referenced by getEdit(), and getTransport().

◆ getControlSurfaceIfType()

template<typename Type >
Type* tracktion::engine::ExternalController::getControlSurfaceIfType ( ) const
noexcept

◆ getExternalControllerManager()

ExternalControllerManager& tracktion::engine::ExternalController::getExternalControllerManager ( ) const
noexcept

◆ getEdit()

Edit* tracktion::engine::ExternalController::getEdit ( ) const

◆ getTransport()

TransportControl* tracktion::engine::ExternalController::getTransport ( ) const
noexcept

◆ shortenName()

static juce::String tracktion::engine::ExternalController::shortenName ( juce::String  ,
int  maxLen 
)
static

◆ getInputDeviceName()

juce::String tracktion::engine::ExternalController::getInputDeviceName ( int  idx) const

◆ getOutputDeviceName()

juce::String tracktion::engine::ExternalController::getOutputDeviceName ( int  idx) const

◆ getMidiInputPorts()

juce::StringArray tracktion::engine::ExternalController::getMidiInputPorts ( ) const

◆ getMidiOutputPorts()

juce::StringArray tracktion::engine::ExternalController::getMidiOutputPorts ( ) const

◆ getNoDeviceSelectedMessage()

static juce::String tracktion::engine::ExternalController::getNoDeviceSelectedMessage ( )
static

Member Data Documentation

◆ engine

Engine& tracktion::engine::ExternalController::engine

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