TracktionEngine
Public Types | Public Member Functions | Public Attributes | List of all members
tracktion::engine::ExternalControllerManager Class Reference

Keeps a list of external controllers and keeps them connected to the right MIDI in/out devices. More...

Inherits juce::ChangeBroadcaster, juce::ChangeListener, and juce::Timer.

Public Types

enum  Protocol { midi , osc }
 

Public Member Functions

 ~ExternalControllerManager () override
 
void initialise ()
 
void shutdown ()
 
void setCurrentEdit (Edit *, SelectionManager *)
 
void detachFromEdit (Edit *)
 
void detachFromSelectionManager (SelectionManager *)
 
bool isAttachedToEdit (const Edit *) const noexcept
 
bool isAttachedToEdit (const Edit &) const noexcept
 
SelectionManagergetSelectionManager () const noexcept
 
const juce::OwnedArray< ExternalController > & getControllers () const noexcept
 
juce::StringArray getAllControllerNames ()
 
ExternalControllergetActiveCustomController ()
 
void midiInOutDevicesChanged ()
 
bool createCustomController (const juce::String &name, Protocol)
 
ExternalControlleraddController (ControlSurface *)
 
void deleteController (ExternalController *)
 
void moveFader (int channelNum, float newSliderPos)
 
void moveMasterFaders (float newLeftPos, float newRightPos)
 
void movePanPot (int channelNum, float newPan)
 
void playStateChanged (bool isPlaying)
 
void recordStateChanged (bool isRecording)
 
void automationModeChanged (bool isReading, bool isWriting)
 
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 editPositionChanged (Edit *, TimePosition newCursorPosition)
 
void updateVolumePlugin (VolumeAndPanPlugin &)
 
void updateVCAPlugin (VCAPlugin &vca)
 
void snapChanged (bool isOn)
 
void loopChanged (bool isOn)
 
void clickChanged (bool isOn)
 
void auxSendLevelsChanged ()
 
void updateMuteSoloLights (bool onlyUpdateFlashingLights)
 
void soloCountChanged (bool)
 
void changeListenerCallback (ChangeBroadcaster *) override
 
bool shouldTrackBeColoured (int channelNum)
 
juce::Colour getTrackColour (int channelNum)
 
bool shouldPluginBeColoured (Plugin *)
 
juce::Colour getPluginColour (Plugin *)
 
void updateAllDevices ()
 
void updateParameters ()
 
void updateMarkers ()
 
void updateTrackRecordLights ()
 
void updatePunchLights ()
 
void updateScrollLights ()
 
void updateUndoLights ()
 
int getNumChannelTracks () const
 
TrackgetChannelTrack (int channel) const
 
int mapTrackNumToChannelNum (int channelNum) const
 
int getXTCount (const juce::String &controller)
 
void setXTCount (const juce::String &controller, int)
 
void refreshXTOrder ()
 
void userMovedFader (int channelNum, float newSliderPos, bool delta)
 
void userMovedMasterFader (Edit *, float newLevel, bool delta)
 
void userMovedMasterPanPot (Edit *, float newLevel)
 
void userMovedPanPot (int channelNum, float newPan, bool delta)
 
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 userMovedAux (int channelNum, int auxNum, float newPosition)
 
void userPressedAux (int channelNum, int auxNum)
 
void userMovedQuickParam (float newLevel)
 
void updateDeviceState ()
 
void repaintTrack (int channelNum)
 
void repaintPlugin (Plugin &)
 

Public Attributes

std::function< bool(const Track &)> isVisibleOnControlSurface
 Callback that can be set to determine if a track is visible on a controller or not. More...
 
std::function< void(FolderTrack &, bool)> setFolderTrackOpen
 Callback that can be set allow surfaces to open/close folders. More...
 
std::function< bool(FolderTrack &)> isFolderTrackOpen
 Callback that can be set allow surfaces to show the open/close status of folders. More...
 
std::function< void(Edit &, bool)> setScrollingEnabled
 Callback that can be set allow surfaces to set the scroll status of an Edit. More...
 
std::function< bool(Edit &)> isScrollingEnabled
 Callback that can be set allow surfaces to show the scroll status of an Edit. More...
 
Engineengine
 

Detailed Description

Keeps a list of external controllers and keeps them connected to the right MIDI in/out devices.

Member Enumeration Documentation

◆ Protocol

Enumerator
midi 
osc 

Constructor & Destructor Documentation

◆ ~ExternalControllerManager()

tracktion::engine::ExternalControllerManager::~ExternalControllerManager ( )
override

Member Function Documentation

◆ initialise()

void tracktion::engine::ExternalControllerManager::initialise ( )

◆ shutdown()

void tracktion::engine::ExternalControllerManager::shutdown ( )

◆ setCurrentEdit()

void tracktion::engine::ExternalControllerManager::setCurrentEdit ( Edit ,
SelectionManager  
)

◆ detachFromEdit()

void tracktion::engine::ExternalControllerManager::detachFromEdit ( Edit )

◆ detachFromSelectionManager()

void tracktion::engine::ExternalControllerManager::detachFromSelectionManager ( SelectionManager )

◆ isAttachedToEdit() [1/2]

bool tracktion::engine::ExternalControllerManager::isAttachedToEdit ( const Edit ) const
noexcept

◆ isAttachedToEdit() [2/2]

bool tracktion::engine::ExternalControllerManager::isAttachedToEdit ( const Edit ) const
noexcept

◆ getSelectionManager()

SelectionManager* tracktion::engine::ExternalControllerManager::getSelectionManager ( ) const
noexcept

◆ getControllers()

const juce::OwnedArray<ExternalController>& tracktion::engine::ExternalControllerManager::getControllers ( ) const
noexcept

◆ getAllControllerNames()

juce::StringArray tracktion::engine::ExternalControllerManager::getAllControllerNames ( )

◆ getActiveCustomController()

ExternalController* tracktion::engine::ExternalControllerManager::getActiveCustomController ( )

◆ midiInOutDevicesChanged()

void tracktion::engine::ExternalControllerManager::midiInOutDevicesChanged ( )

◆ createCustomController()

bool tracktion::engine::ExternalControllerManager::createCustomController ( const juce::String &  name,
Protocol   
)

◆ addController()

ExternalController* tracktion::engine::ExternalControllerManager::addController ( ControlSurface )

◆ deleteController()

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

◆ moveFader()

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

◆ moveMasterFaders()

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

◆ movePanPot()

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

◆ playStateChanged()

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

◆ recordStateChanged()

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

◆ automationModeChanged()

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

◆ channelLevelChanged()

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

◆ masterLevelsChanged()

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

◆ timecodeChanged()

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

◆ editPositionChanged()

void tracktion::engine::ExternalControllerManager::editPositionChanged ( Edit ,
TimePosition  newCursorPosition 
)

◆ updateVolumePlugin()

void tracktion::engine::ExternalControllerManager::updateVolumePlugin ( VolumeAndPanPlugin )

◆ updateVCAPlugin()

void tracktion::engine::ExternalControllerManager::updateVCAPlugin ( VCAPlugin vca)

◆ snapChanged()

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

◆ loopChanged()

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

◆ clickChanged()

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

◆ auxSendLevelsChanged()

void tracktion::engine::ExternalControllerManager::auxSendLevelsChanged ( )

◆ updateMuteSoloLights()

void tracktion::engine::ExternalControllerManager::updateMuteSoloLights ( bool  onlyUpdateFlashingLights)

◆ soloCountChanged()

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

◆ changeListenerCallback()

void tracktion::engine::ExternalControllerManager::changeListenerCallback ( ChangeBroadcaster *  )
override

◆ shouldTrackBeColoured()

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

◆ getTrackColour()

juce::Colour tracktion::engine::ExternalControllerManager::getTrackColour ( int  channelNum)

◆ shouldPluginBeColoured()

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

◆ getPluginColour()

juce::Colour tracktion::engine::ExternalControllerManager::getPluginColour ( Plugin )

◆ updateAllDevices()

void tracktion::engine::ExternalControllerManager::updateAllDevices ( )

◆ updateParameters()

void tracktion::engine::ExternalControllerManager::updateParameters ( )

◆ updateMarkers()

void tracktion::engine::ExternalControllerManager::updateMarkers ( )

◆ updateTrackRecordLights()

void tracktion::engine::ExternalControllerManager::updateTrackRecordLights ( )

◆ updatePunchLights()

void tracktion::engine::ExternalControllerManager::updatePunchLights ( )

◆ updateScrollLights()

void tracktion::engine::ExternalControllerManager::updateScrollLights ( )

◆ updateUndoLights()

void tracktion::engine::ExternalControllerManager::updateUndoLights ( )

◆ getNumChannelTracks()

int tracktion::engine::ExternalControllerManager::getNumChannelTracks ( ) const

◆ getChannelTrack()

Track* tracktion::engine::ExternalControllerManager::getChannelTrack ( int  channel) const

◆ mapTrackNumToChannelNum()

int tracktion::engine::ExternalControllerManager::mapTrackNumToChannelNum ( int  channelNum) const

◆ getXTCount()

int tracktion::engine::ExternalControllerManager::getXTCount ( const juce::String &  controller)

◆ setXTCount()

void tracktion::engine::ExternalControllerManager::setXTCount ( const juce::String &  controller,
int   
)

◆ refreshXTOrder()

void tracktion::engine::ExternalControllerManager::refreshXTOrder ( )

◆ userMovedFader()

void tracktion::engine::ExternalControllerManager::userMovedFader ( int  channelNum,
float  newSliderPos,
bool  delta 
)

◆ userMovedMasterFader()

void tracktion::engine::ExternalControllerManager::userMovedMasterFader ( Edit ,
float  newLevel,
bool  delta 
)

◆ userMovedMasterPanPot()

void tracktion::engine::ExternalControllerManager::userMovedMasterPanPot ( Edit ,
float  newLevel 
)

◆ userMovedPanPot()

void tracktion::engine::ExternalControllerManager::userMovedPanPot ( int  channelNum,
float  newPan,
bool  delta 
)

◆ userPressedSolo()

void tracktion::engine::ExternalControllerManager::userPressedSolo ( int  channelNum)

◆ userPressedSoloIsolate()

void tracktion::engine::ExternalControllerManager::userPressedSoloIsolate ( int  channelNum)

◆ userPressedMute()

void tracktion::engine::ExternalControllerManager::userPressedMute ( int  channelNum,
bool  muteVolumeControl 
)

◆ userSelectedTrack()

void tracktion::engine::ExternalControllerManager::userSelectedTrack ( int  channelNum)

◆ userSelectedClipInTrack()

void tracktion::engine::ExternalControllerManager::userSelectedClipInTrack ( int  channelNum)

◆ userSelectedPluginInTrack()

void tracktion::engine::ExternalControllerManager::userSelectedPluginInTrack ( int  channelNum)

◆ userMovedAux()

void tracktion::engine::ExternalControllerManager::userMovedAux ( int  channelNum,
int  auxNum,
float  newPosition 
)

◆ userPressedAux()

void tracktion::engine::ExternalControllerManager::userPressedAux ( int  channelNum,
int  auxNum 
)

◆ userMovedQuickParam()

void tracktion::engine::ExternalControllerManager::userMovedQuickParam ( float  newLevel)

◆ updateDeviceState()

void tracktion::engine::ExternalControllerManager::updateDeviceState ( )

◆ repaintTrack()

void tracktion::engine::ExternalControllerManager::repaintTrack ( int  channelNum)

◆ repaintPlugin()

void tracktion::engine::ExternalControllerManager::repaintPlugin ( Plugin )

Member Data Documentation

◆ isVisibleOnControlSurface

std::function<bool (const Track&)> tracktion::engine::ExternalControllerManager::isVisibleOnControlSurface

Callback that can be set to determine if a track is visible on a controller or not.

◆ setFolderTrackOpen

std::function<void (FolderTrack&, bool)> tracktion::engine::ExternalControllerManager::setFolderTrackOpen

Callback that can be set allow surfaces to open/close folders.

◆ isFolderTrackOpen

std::function<bool (FolderTrack&)> tracktion::engine::ExternalControllerManager::isFolderTrackOpen

Callback that can be set allow surfaces to show the open/close status of folders.

◆ setScrollingEnabled

std::function<void (Edit&, bool)> tracktion::engine::ExternalControllerManager::setScrollingEnabled

Callback that can be set allow surfaces to set the scroll status of an Edit.

◆ isScrollingEnabled

std::function<bool (Edit&)> tracktion::engine::ExternalControllerManager::isScrollingEnabled

Callback that can be set allow surfaces to show the scroll status of an Edit.

◆ engine

Engine& tracktion::engine::ExternalControllerManager::engine

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