|
TracktionEngine
|
Keeps a list of external controllers and keeps them connected to the right MIDI in/out devices. More...
#include <tracktion_ExternalControllerManager.h>
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 |
| SelectionManager * | getSelectionManager () const noexcept |
| const juce::OwnedArray< ExternalController > & | getControllers () const noexcept |
| juce::StringArray | getAllControllerNames () |
| ExternalController * | getActiveCustomController () |
| void | midiInOutDevicesChanged () |
| bool | createCustomController (const juce::String &name, Protocol) |
| ExternalController * | addController (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, std::span< const float > levels) |
| void | masterLevelsChanged (std::span< const float > levels) |
| 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< ColourArea > | getColouredArea (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 |
| Track * | getChannelTrack (int channel) const |
| int | mapTrackNumToChannelNum (int channelNum) const |
| int | getXTCount (const juce::String &controller) |
| void | setXTCount (const juce::String &controller, int) |
| void | refreshXTOrder () |
| void | userTouchedFader (int channelNum, bool touch) |
| void | userTouchedPanPot (int channelNum, bool touch) |
| void | userTouchedMasterLevelFader (bool touch) |
| void | userTouchedMasterPanPot (bool touch) |
| void | userTouchedAux (int channelNum, int auxNum, AuxPosition ap, bool touch) |
| void | userTouchedQuickParam (bool touch) |
| 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, bool press) |
| void | userStoppedClip (int channelNum, bool press) |
| void | userLaunchedScene (int scene, bool press) |
| void | updateDeviceState () |
| void | repaintTrack (int channelNum) |
| void | repaintPlugin (Plugin &) |
| void | repaintSlots (int channelNum) |
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, bool)> | launchClip |
| Launch clip by track and index. | |
| std::function< void(Edit &, Track *, bool)> | stopClip |
| Stop all clips on track. | |
| std::function< void(Edit &, int, bool)> | launchScene |
| Launch scene by index. | |
| Engine & | engine |
Keeps a list of external controllers and keeps them connected to the right MIDI in/out devices.
|
override |
| void engine::ExternalControllerManager::initialise | ( | ) |
| void engine::ExternalControllerManager::shutdown | ( | ) |
| void engine::ExternalControllerManager::setCurrentEdit | ( | Edit * | , |
| SelectionManager * | |||
| ) |
| void engine::ExternalControllerManager::detachFromEdit | ( | Edit * | ) |
| void engine::ExternalControllerManager::detachFromSelectionManager | ( | SelectionManager * | ) |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
| juce::StringArray engine::ExternalControllerManager::getAllControllerNames | ( | ) |
| ExternalController * engine::ExternalControllerManager::getActiveCustomController | ( | ) |
| void engine::ExternalControllerManager::midiInOutDevicesChanged | ( | ) |
| bool engine::ExternalControllerManager::createCustomController | ( | const juce::String & | name, |
| Protocol | |||
| ) |
| ExternalController * engine::ExternalControllerManager::addController | ( | ControlSurface * | ) |
| void engine::ExternalControllerManager::deleteController | ( | ExternalController * | ) |
| void engine::ExternalControllerManager::moveFader | ( | int | channelNum, |
| float | newSliderPos | ||
| ) |
| void engine::ExternalControllerManager::moveMasterFader | ( | float | newPos | ) |
| void engine::ExternalControllerManager::movePanPot | ( | int | channelNum, |
| float | newPan | ||
| ) |
| void engine::ExternalControllerManager::moveMasterPanPot | ( | float | newPan | ) |
| void engine::ExternalControllerManager::playStateChanged | ( | bool | isPlaying | ) |
| void engine::ExternalControllerManager::recordStateChanged | ( | bool | isRecording | ) |
| void engine::ExternalControllerManager::automationModeChanged | ( | bool | isReading, |
| bool | isWriting | ||
| ) |
| void engine::ExternalControllerManager::channelLevelChanged | ( | int | channel, |
| std::span< const float > | levels | ||
| ) |
| void engine::ExternalControllerManager::masterLevelsChanged | ( | std::span< const float > | levels | ) |
| void engine::ExternalControllerManager::timecodeChanged | ( | int | barsOrHours, |
| int | beatsOrMinutes, | ||
| int | ticksOrSeconds, | ||
| int | millisecs, | ||
| bool | isBarsBeats, | ||
| bool | isFrames | ||
| ) |
| void engine::ExternalControllerManager::editPositionChanged | ( | Edit * | , |
| TimePosition | newCursorPosition | ||
| ) |
| void engine::ExternalControllerManager::updateVolumePlugin | ( | VolumeAndPanPlugin & | ) |
| void engine::ExternalControllerManager::updateVCAPlugin | ( | VCAPlugin & | vca | ) |
| void engine::ExternalControllerManager::snapChanged | ( | bool | isOn | ) |
| void engine::ExternalControllerManager::loopChanged | ( | bool | isOn | ) |
| void engine::ExternalControllerManager::clickChanged | ( | bool | isOn | ) |
| void engine::ExternalControllerManager::auxSendLevelsChanged | ( | ) |
| void engine::ExternalControllerManager::updateMuteSoloLights | ( | bool | onlyUpdateFlashingLights | ) |
| void engine::ExternalControllerManager::soloCountChanged | ( | bool | ) |
|
override |
| bool engine::ExternalControllerManager::shouldTrackBeColoured | ( | int | channelNum | ) |
| juce::Colour engine::ExternalControllerManager::getTrackColour | ( | int | channelNum | ) |
| std::vector< ColourArea > engine::ExternalControllerManager::getColouredArea | ( | const Edit & | ) |
| bool engine::ExternalControllerManager::shouldPluginBeColoured | ( | Plugin * | ) |
| juce::Colour engine::ExternalControllerManager::getPluginColour | ( | Plugin * | ) |
| void engine::ExternalControllerManager::updateAllDevices | ( | ) |
| void engine::ExternalControllerManager::updateParameters | ( | ) |
| void engine::ExternalControllerManager::updateMarkers | ( | ) |
| void engine::ExternalControllerManager::updateTrackRecordLights | ( | ) |
| void engine::ExternalControllerManager::updatePunchLights | ( | ) |
| void engine::ExternalControllerManager::updateScrollLights | ( | ) |
| void engine::ExternalControllerManager::updateUndoLights | ( | ) |
| void engine::ExternalControllerManager::updatePadColours | ( | ) |
| int engine::ExternalControllerManager::getNumChannelTracks | ( | ) | const |
| Track * engine::ExternalControllerManager::getChannelTrack | ( | int | channel | ) | const |
| int engine::ExternalControllerManager::mapTrackNumToChannelNum | ( | int | channelNum | ) | const |
| int engine::ExternalControllerManager::getXTCount | ( | const juce::String & | controller | ) |
| void engine::ExternalControllerManager::setXTCount | ( | const juce::String & | controller, |
| int | |||
| ) |
| void engine::ExternalControllerManager::refreshXTOrder | ( | ) |
| void engine::ExternalControllerManager::userTouchedFader | ( | int | channelNum, |
| bool | touch | ||
| ) |
| void engine::ExternalControllerManager::userTouchedPanPot | ( | int | channelNum, |
| bool | touch | ||
| ) |
| void engine::ExternalControllerManager::userTouchedMasterLevelFader | ( | bool | touch | ) |
| void engine::ExternalControllerManager::userTouchedMasterPanPot | ( | bool | touch | ) |
| void engine::ExternalControllerManager::userTouchedAux | ( | int | channelNum, |
| int | auxNum, | ||
| AuxPosition | ap, | ||
| bool | touch | ||
| ) |
| void engine::ExternalControllerManager::userTouchedQuickParam | ( | bool | touch | ) |
| void engine::ExternalControllerManager::userMovedFader | ( | int | channelNum, |
| float | newSliderPos, | ||
| bool | delta | ||
| ) |
| void engine::ExternalControllerManager::userMovedMasterFader | ( | Edit * | , |
| float | newLevel, | ||
| bool | delta | ||
| ) |
| void engine::ExternalControllerManager::userMovedMasterPanPot | ( | Edit * | , |
| float | newLevel, | ||
| bool | delta | ||
| ) |
| void engine::ExternalControllerManager::userMovedPanPot | ( | int | channelNum, |
| float | newPan, | ||
| bool | delta | ||
| ) |
| void engine::ExternalControllerManager::userPressedSolo | ( | int | channelNum | ) |
| void engine::ExternalControllerManager::userPressedSoloIsolate | ( | int | channelNum | ) |
| void engine::ExternalControllerManager::userPressedMute | ( | int | channelNum, |
| bool | muteVolumeControl | ||
| ) |
| void engine::ExternalControllerManager::userSelectedTrack | ( | int | channelNum | ) |
| void engine::ExternalControllerManager::userSelectedOneTrack | ( | int | channelNum | ) |
| void engine::ExternalControllerManager::userSelectedClipInTrack | ( | int | channelNum | ) |
| void engine::ExternalControllerManager::userSelectedPluginInTrack | ( | int | channelNum | ) |
| void engine::ExternalControllerManager::userMovedAux | ( | int | channelNum, |
| int | auxNum, | ||
| AuxPosition | ap, | ||
| float | newPosition, | ||
| bool | delta | ||
| ) |
| void engine::ExternalControllerManager::userPressedAux | ( | int | channelNum, |
| int | auxNum | ||
| ) |
| void engine::ExternalControllerManager::userMovedQuickParam | ( | float | newLevel | ) |
| void engine::ExternalControllerManager::userLaunchedClip | ( | int | channelNum, |
| int | clip, | ||
| bool | press | ||
| ) |
| void engine::ExternalControllerManager::userStoppedClip | ( | int | channelNum, |
| bool | press | ||
| ) |
| void engine::ExternalControllerManager::userLaunchedScene | ( | int | scene, |
| bool | press | ||
| ) |
| void engine::ExternalControllerManager::updateDeviceState | ( | ) |
| void engine::ExternalControllerManager::repaintTrack | ( | int | channelNum | ) |
| void engine::ExternalControllerManager::repaintPlugin | ( | Plugin & | ) |
| void engine::ExternalControllerManager::repaintSlots | ( | int | channelNum | ) |
| std::function<bool (const Track&)> engine::ExternalControllerManager::isVisibleOnControlSurface |
Callback that can be set to determine if a track is visible on a controller or not.
| std::function<int (Edit&, int)> 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.
| std::function<void (FolderTrack&, bool)> engine::ExternalControllerManager::setFolderTrackOpen |
Callback that can be set allow surfaces to open/close folders.
| std::function<bool (FolderTrack&)> engine::ExternalControllerManager::isFolderTrackOpen |
Callback that can be set allow surfaces to show the open/close status of folders.
| std::function<void (Edit&, bool)> engine::ExternalControllerManager::setScrollingEnabled |
Callback that can be set allow surfaces to set the scroll status of an Edit.
| std::function<bool (Edit&)> engine::ExternalControllerManager::isScrollingEnabled |
Callback that can be set allow surfaces to show the scroll status of an Edit.
Launch clip by track and index.
Stop all clips on track.
If track is nullptr, stop all tracks
| std::function<void (Edit&, int, bool)> engine::ExternalControllerManager::launchScene |
Launch scene by index.
| Engine& engine::ExternalControllerManager::engine |