tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications

« « « Anklang Documentation
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | Friends | 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...

#include "tracktion_ExternalControllerManager.h"

Inheritance diagram for tracktion::engine::ExternalControllerManager:
juce::ChangeBroadcaster juce::ChangeListener juce::Timer

Classes

struct  EditTreeWatcher
 

Public Types

enum  Protocol { midi , osc }
 

Public Member Functions

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 moveMasterFader (float newPos)
 
void movePanPot (int channelNum, float newPan)
 
void moveMasterPanPot (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)
 
std::vector< ColourAreagetColouredArea (const Edit &)
 
bool shouldPluginBeColoured (Plugin *)
 
juce::Colour getPluginColour (Plugin *)
 
void updateAllDevices ()
 
void updateParameters ()
 
void updateMarkers ()
 
void updateTrackRecordLights ()
 
void updatePunchLights ()
 
void updateScrollLights ()
 
void updateUndoLights ()
 
void updatePadColours ()
 
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, bool delta)
 
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 userSelectedOneTrack (int channelNum)
 
void userSelectedClipInTrack (int channelNum)
 
void userSelectedPluginInTrack (int channelNum)
 
void userMovedAux (int channelNum, int auxNum, AuxPosition ap, float newPosition, bool delta)
 
void userPressedAux (int channelNum, int auxNum)
 
void userMovedQuickParam (float newLevel)
 
void userLaunchedClip (int channelNum, int clip)
 
void userStoppedClip (int channelNum)
 
void userLaunchedScene (int scene)
 
void updateDeviceState ()
 
void repaintTrack (int channelNum)
 
void repaintPlugin (Plugin &)
 
void repaintSlots (int channelNum)
 
- Public Member Functions inherited from juce::ChangeBroadcaster
void addChangeListener (ChangeListener *listener)
 
void removeChangeListener (ChangeListener *listener)
 
void removeAllChangeListeners ()
 
void sendChangeMessage ()
 
void sendSynchronousChangeMessage ()
 
void dispatchPendingMessages ()
 

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.
 
std::function< int(Edit &, int)> mapEditTrackNumToControlSurfaceChannelNum
 Optional callback that can be set to map an Edit track number to a control surface channel number.
 
std::function< void(FolderTrack &, bool)> setFolderTrackOpen
 Callback that can be set allow surfaces to open/close folders.
 
std::function< bool(FolderTrack &)> isFolderTrackOpen
 Callback that can be set allow surfaces to show the open/close status of folders.
 
std::function< void(Edit &, bool)> setScrollingEnabled
 Callback that can be set allow surfaces to set the scroll status of an Edit.
 
std::function< bool(Edit &)> isScrollingEnabled
 Callback that can be set allow surfaces to show the scroll status of an Edit.
 
std::function< void(Edit &, Track &, int)> launchClip
 Launch clip by track and index.
 
std::function< void(Edit &, Track *)> stopClip
 Stop all clips on track.
 
std::function< void(Edit &, int)> launchScene
 Launch scene by index.
 
Engineengine
 

Friends

class Engine
 

Detailed Description

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

Definition at line 33 of file tracktion_ExternalControllerManager.h.

Member Enumeration Documentation

◆ Protocol

enum tracktion::engine::ExternalControllerManager::Protocol

Definition at line 93 of file tracktion_ExternalControllerManager.h.

Constructor & Destructor Documentation

◆ ~ExternalControllerManager()

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

Definition at line 216 of file tracktion_ExternalControllerManager.cpp.

Member Function Documentation

◆ addController()

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

Definition at line 398 of file tracktion_ExternalControllerManager.cpp.

◆ automationModeChanged()

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

Definition at line 704 of file tracktion_ExternalControllerManager.cpp.

◆ auxSendLevelsChanged()

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

Definition at line 793 of file tracktion_ExternalControllerManager.cpp.

◆ changeListenerCallback()

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

Definition at line 475 of file tracktion_ExternalControllerManager.cpp.

◆ channelLevelChanged()

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

Definition at line 710 of file tracktion_ExternalControllerManager.cpp.

◆ clickChanged()

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

Definition at line 755 of file tracktion_ExternalControllerManager.cpp.

◆ createCustomController()

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

Definition at line 367 of file tracktion_ExternalControllerManager.cpp.

◆ deleteController()

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

Definition at line 429 of file tracktion_ExternalControllerManager.cpp.

◆ detachFromEdit()

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

Definition at line 355 of file tracktion_ExternalControllerManager.cpp.

◆ detachFromSelectionManager()

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

Definition at line 361 of file tracktion_ExternalControllerManager.cpp.

◆ editPositionChanged()

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

Definition at line 761 of file tracktion_ExternalControllerManager.cpp.

◆ getActiveCustomController()

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

Definition at line 456 of file tracktion_ExternalControllerManager.cpp.

◆ getAllControllerNames()

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

Definition at line 446 of file tracktion_ExternalControllerManager.cpp.

◆ getChannelTrack()

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

Definition at line 997 of file tracktion_ExternalControllerManager.cpp.

◆ getControllers()

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

Definition at line 84 of file tracktion_ExternalControllerManager.h.

◆ getNumChannelTracks()

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

Definition at line 979 of file tracktion_ExternalControllerManager.cpp.

◆ getPluginColour()

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

Definition at line 1128 of file tracktion_ExternalControllerManager.cpp.

◆ getSelectionManager()

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

Definition at line 350 of file tracktion_ExternalControllerManager.cpp.

◆ getTrackColour()

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

Definition at line 1085 of file tracktion_ExternalControllerManager.cpp.

◆ getXTCount()

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

Definition at line 1141 of file tracktion_ExternalControllerManager.cpp.

◆ initialise()

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

Definition at line 224 of file tracktion_ExternalControllerManager.cpp.

◆ isAttachedToEdit() [1/2]

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

Definition at line 345 of file tracktion_ExternalControllerManager.cpp.

◆ isAttachedToEdit() [2/2]

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

Definition at line 340 of file tracktion_ExternalControllerManager.cpp.

◆ loopChanged()

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

Definition at line 749 of file tracktion_ExternalControllerManager.cpp.

◆ mapTrackNumToChannelNum()

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

Definition at line 1026 of file tracktion_ExternalControllerManager.cpp.

◆ masterLevelsChanged()

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

Definition at line 730 of file tracktion_ExternalControllerManager.cpp.

◆ midiInOutDevicesChanged()

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

Definition at line 465 of file tracktion_ExternalControllerManager.cpp.

◆ moveFader()

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

Definition at line 610 of file tracktion_ExternalControllerManager.cpp.

◆ moveMasterFader()

void tracktion::engine::ExternalControllerManager::moveMasterFader ( float  newPos)

Definition at line 674 of file tracktion_ExternalControllerManager.cpp.

◆ moveMasterPanPot()

void tracktion::engine::ExternalControllerManager::moveMasterPanPot ( float  newPan)

Definition at line 680 of file tracktion_ExternalControllerManager.cpp.

◆ movePanPot()

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

Definition at line 617 of file tracktion_ExternalControllerManager.cpp.

◆ playStateChanged()

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

Definition at line 692 of file tracktion_ExternalControllerManager.cpp.

◆ recordStateChanged()

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

Definition at line 698 of file tracktion_ExternalControllerManager.cpp.

◆ refreshXTOrder()

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

Definition at line 1185 of file tracktion_ExternalControllerManager.cpp.

◆ repaintPlugin()

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

Definition at line 1135 of file tracktion_ExternalControllerManager.cpp.

◆ repaintSlots()

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

Definition at line 1112 of file tracktion_ExternalControllerManager.cpp.

◆ repaintTrack()

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

Definition at line 1106 of file tracktion_ExternalControllerManager.cpp.

◆ setCurrentEdit()

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

Definition at line 302 of file tracktion_ExternalControllerManager.cpp.

◆ setXTCount()

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

Definition at line 1149 of file tracktion_ExternalControllerManager.cpp.

◆ shouldPluginBeColoured()

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

Definition at line 1118 of file tracktion_ExternalControllerManager.cpp.

◆ shouldTrackBeColoured()

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

Definition at line 1059 of file tracktion_ExternalControllerManager.cpp.

◆ shutdown()

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

Definition at line 281 of file tracktion_ExternalControllerManager.cpp.

◆ snapChanged()

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

Definition at line 743 of file tracktion_ExternalControllerManager.cpp.

◆ soloCountChanged()

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

Definition at line 686 of file tracktion_ExternalControllerManager.cpp.

◆ timecodeChanged()

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

Definition at line 736 of file tracktion_ExternalControllerManager.cpp.

◆ updateAllDevices()

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

Definition at line 507 of file tracktion_ExternalControllerManager.cpp.

◆ updateDeviceState()

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

Definition at line 466 of file tracktion_ExternalControllerManager.cpp.

◆ updateMarkers()

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

Definition at line 468 of file tracktion_ExternalControllerManager.cpp.

◆ updateMuteSoloLights()

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

Definition at line 568 of file tracktion_ExternalControllerManager.cpp.

◆ updatePadColours()

void tracktion::engine::ExternalControllerManager::updatePadColours ( )

Definition at line 473 of file tracktion_ExternalControllerManager.cpp.

◆ updateParameters()

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

Definition at line 467 of file tracktion_ExternalControllerManager.cpp.

◆ updatePunchLights()

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

Definition at line 470 of file tracktion_ExternalControllerManager.cpp.

◆ updateScrollLights()

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

Definition at line 471 of file tracktion_ExternalControllerManager.cpp.

◆ updateTrackRecordLights()

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

Definition at line 469 of file tracktion_ExternalControllerManager.cpp.

◆ updateUndoLights()

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

Definition at line 472 of file tracktion_ExternalControllerManager.cpp.

◆ updateVCAPlugin()

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

Definition at line 652 of file tracktion_ExternalControllerManager.cpp.

◆ updateVolumePlugin()

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

Definition at line 624 of file tracktion_ExternalControllerManager.cpp.

◆ userLaunchedClip()

void tracktion::engine::ExternalControllerManager::userLaunchedClip ( int  channelNum,
int  clip 
)

Definition at line 871 of file tracktion_ExternalControllerManager.cpp.

◆ userLaunchedScene()

void tracktion::engine::ExternalControllerManager::userLaunchedScene ( int  scene)

Definition at line 894 of file tracktion_ExternalControllerManager.cpp.

◆ userMovedAux()

void tracktion::engine::ExternalControllerManager::userMovedAux ( int  channelNum,
int  auxNum,
AuxPosition  ap,
float  newPosition,
bool  delta 
)

Definition at line 857 of file tracktion_ExternalControllerManager.cpp.

◆ userMovedFader()

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

Definition at line 800 of file tracktion_ExternalControllerManager.cpp.

◆ userMovedMasterFader()

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

Definition at line 824 of file tracktion_ExternalControllerManager.cpp.

◆ userMovedMasterPanPot()

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

Definition at line 835 of file tracktion_ExternalControllerManager.cpp.

◆ userMovedPanPot()

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

Definition at line 841 of file tracktion_ExternalControllerManager.cpp.

◆ userMovedQuickParam()

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

Definition at line 900 of file tracktion_ExternalControllerManager.cpp.

◆ userPressedAux()

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

Definition at line 864 of file tracktion_ExternalControllerManager.cpp.

◆ userPressedMute()

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

Definition at line 920 of file tracktion_ExternalControllerManager.cpp.

◆ userPressedSolo()

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

Definition at line 908 of file tracktion_ExternalControllerManager.cpp.

◆ userPressedSoloIsolate()

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

Definition at line 914 of file tracktion_ExternalControllerManager.cpp.

◆ userSelectedClipInTrack()

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

Definition at line 961 of file tracktion_ExternalControllerManager.cpp.

◆ userSelectedOneTrack()

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

Definition at line 951 of file tracktion_ExternalControllerManager.cpp.

◆ userSelectedPluginInTrack()

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

Definition at line 970 of file tracktion_ExternalControllerManager.cpp.

◆ userSelectedTrack()

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

Definition at line 937 of file tracktion_ExternalControllerManager.cpp.

◆ userStoppedClip()

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

Definition at line 878 of file tracktion_ExternalControllerManager.cpp.

Friends And Related Symbol Documentation

◆ Engine

friend class Engine
friend

Definition at line 193 of file tracktion_ExternalControllerManager.h.

Member Data Documentation

◆ engine

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

Definition at line 188 of file tracktion_ExternalControllerManager.h.

◆ isFolderTrackOpen

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

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

Definition at line 58 of file tracktion_ExternalControllerManager.h.

◆ isScrollingEnabled

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

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

Definition at line 64 of file tracktion_ExternalControllerManager.h.

◆ 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.

Definition at line 46 of file tracktion_ExternalControllerManager.h.

◆ launchClip

std::function<void (Edit&, Track&, int)> tracktion::engine::ExternalControllerManager::launchClip

Launch clip by track and index.

Definition at line 67 of file tracktion_ExternalControllerManager.h.

◆ launchScene

std::function<void (Edit&, int)> tracktion::engine::ExternalControllerManager::launchScene

Launch scene by index.

Definition at line 73 of file tracktion_ExternalControllerManager.h.

◆ mapEditTrackNumToControlSurfaceChannelNum

std::function<int (Edit&, int)> tracktion::engine::ExternalControllerManager::mapEditTrackNumToControlSurfaceChannelNum

Optional callback that can be set to map an Edit track number to a control surface channel number.

If this isn't set, the manager will iterate the tracks to find the mapping. This can be slow however so this function can be used to create your own cache and speed up the process.

Definition at line 52 of file tracktion_ExternalControllerManager.h.

◆ setFolderTrackOpen

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

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

Definition at line 55 of file tracktion_ExternalControllerManager.h.

◆ 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.

Definition at line 61 of file tracktion_ExternalControllerManager.h.

◆ stopClip

std::function<void (Edit&, Track*)> tracktion::engine::ExternalControllerManager::stopClip

Stop all clips on track.

If track is nullptr, stop all tracks

Definition at line 70 of file tracktion_ExternalControllerManager.h.


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