TracktionEngine
|
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 |
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 | 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 |
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 | 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... | |
Engine & | engine |
Keeps a list of external controllers and keeps them connected to the right MIDI in/out devices.
|
override |
void tracktion::engine::ExternalControllerManager::initialise | ( | ) |
void tracktion::engine::ExternalControllerManager::shutdown | ( | ) |
void tracktion::engine::ExternalControllerManager::setCurrentEdit | ( | Edit * | , |
SelectionManager * | |||
) |
void tracktion::engine::ExternalControllerManager::detachFromEdit | ( | Edit * | ) |
void tracktion::engine::ExternalControllerManager::detachFromSelectionManager | ( | SelectionManager * | ) |
|
noexcept |
|
noexcept |
|
noexcept |
|
noexcept |
juce::StringArray tracktion::engine::ExternalControllerManager::getAllControllerNames | ( | ) |
ExternalController* tracktion::engine::ExternalControllerManager::getActiveCustomController | ( | ) |
void tracktion::engine::ExternalControllerManager::midiInOutDevicesChanged | ( | ) |
bool tracktion::engine::ExternalControllerManager::createCustomController | ( | const juce::String & | name, |
Protocol | |||
) |
ExternalController* tracktion::engine::ExternalControllerManager::addController | ( | ControlSurface * | ) |
void tracktion::engine::ExternalControllerManager::deleteController | ( | ExternalController * | ) |
void tracktion::engine::ExternalControllerManager::moveFader | ( | int | channelNum, |
float | newSliderPos | ||
) |
void tracktion::engine::ExternalControllerManager::moveMasterFaders | ( | float | newLeftPos, |
float | newRightPos | ||
) |
void tracktion::engine::ExternalControllerManager::movePanPot | ( | int | channelNum, |
float | newPan | ||
) |
void tracktion::engine::ExternalControllerManager::playStateChanged | ( | bool | isPlaying | ) |
void tracktion::engine::ExternalControllerManager::recordStateChanged | ( | bool | isRecording | ) |
void tracktion::engine::ExternalControllerManager::automationModeChanged | ( | bool | isReading, |
bool | isWriting | ||
) |
void tracktion::engine::ExternalControllerManager::channelLevelChanged | ( | int | channel, |
float | l, | ||
float | r | ||
) |
void tracktion::engine::ExternalControllerManager::masterLevelsChanged | ( | float | leftLevel, |
float | rightLevel | ||
) |
void tracktion::engine::ExternalControllerManager::timecodeChanged | ( | int | barsOrHours, |
int | beatsOrMinutes, | ||
int | ticksOrSeconds, | ||
int | millisecs, | ||
bool | isBarsBeats, | ||
bool | isFrames | ||
) |
void tracktion::engine::ExternalControllerManager::editPositionChanged | ( | Edit * | , |
TimePosition | newCursorPosition | ||
) |
void tracktion::engine::ExternalControllerManager::updateVolumePlugin | ( | VolumeAndPanPlugin & | ) |
void tracktion::engine::ExternalControllerManager::updateVCAPlugin | ( | VCAPlugin & | vca | ) |
void tracktion::engine::ExternalControllerManager::snapChanged | ( | bool | isOn | ) |
void tracktion::engine::ExternalControllerManager::loopChanged | ( | bool | isOn | ) |
void tracktion::engine::ExternalControllerManager::clickChanged | ( | bool | isOn | ) |
void tracktion::engine::ExternalControllerManager::auxSendLevelsChanged | ( | ) |
void tracktion::engine::ExternalControllerManager::updateMuteSoloLights | ( | bool | onlyUpdateFlashingLights | ) |
void tracktion::engine::ExternalControllerManager::soloCountChanged | ( | bool | ) |
|
override |
bool tracktion::engine::ExternalControllerManager::shouldTrackBeColoured | ( | int | channelNum | ) |
juce::Colour tracktion::engine::ExternalControllerManager::getTrackColour | ( | int | channelNum | ) |
bool tracktion::engine::ExternalControllerManager::shouldPluginBeColoured | ( | Plugin * | ) |
juce::Colour tracktion::engine::ExternalControllerManager::getPluginColour | ( | Plugin * | ) |
void tracktion::engine::ExternalControllerManager::updateAllDevices | ( | ) |
void tracktion::engine::ExternalControllerManager::updateParameters | ( | ) |
void tracktion::engine::ExternalControllerManager::updateMarkers | ( | ) |
void tracktion::engine::ExternalControllerManager::updateTrackRecordLights | ( | ) |
void tracktion::engine::ExternalControllerManager::updatePunchLights | ( | ) |
void tracktion::engine::ExternalControllerManager::updateScrollLights | ( | ) |
void tracktion::engine::ExternalControllerManager::updateUndoLights | ( | ) |
int tracktion::engine::ExternalControllerManager::getNumChannelTracks | ( | ) | const |
Track* tracktion::engine::ExternalControllerManager::getChannelTrack | ( | int | channel | ) | const |
int tracktion::engine::ExternalControllerManager::mapTrackNumToChannelNum | ( | int | channelNum | ) | const |
int tracktion::engine::ExternalControllerManager::getXTCount | ( | const juce::String & | controller | ) |
void tracktion::engine::ExternalControllerManager::setXTCount | ( | const juce::String & | controller, |
int | |||
) |
void tracktion::engine::ExternalControllerManager::refreshXTOrder | ( | ) |
void tracktion::engine::ExternalControllerManager::userMovedFader | ( | int | channelNum, |
float | newSliderPos, | ||
bool | delta | ||
) |
void tracktion::engine::ExternalControllerManager::userMovedMasterFader | ( | Edit * | , |
float | newLevel, | ||
bool | delta | ||
) |
void tracktion::engine::ExternalControllerManager::userMovedMasterPanPot | ( | Edit * | , |
float | newLevel | ||
) |
void tracktion::engine::ExternalControllerManager::userMovedPanPot | ( | int | channelNum, |
float | newPan, | ||
bool | delta | ||
) |
void tracktion::engine::ExternalControllerManager::userPressedSolo | ( | int | channelNum | ) |
void tracktion::engine::ExternalControllerManager::userPressedSoloIsolate | ( | int | channelNum | ) |
void tracktion::engine::ExternalControllerManager::userPressedMute | ( | int | channelNum, |
bool | muteVolumeControl | ||
) |
void tracktion::engine::ExternalControllerManager::userSelectedTrack | ( | int | channelNum | ) |
void tracktion::engine::ExternalControllerManager::userSelectedClipInTrack | ( | int | channelNum | ) |
void tracktion::engine::ExternalControllerManager::userSelectedPluginInTrack | ( | int | channelNum | ) |
void tracktion::engine::ExternalControllerManager::userMovedAux | ( | int | channelNum, |
int | auxNum, | ||
float | newPosition | ||
) |
void tracktion::engine::ExternalControllerManager::userPressedAux | ( | int | channelNum, |
int | auxNum | ||
) |
void tracktion::engine::ExternalControllerManager::userMovedQuickParam | ( | float | newLevel | ) |
void tracktion::engine::ExternalControllerManager::updateDeviceState | ( | ) |
void tracktion::engine::ExternalControllerManager::repaintTrack | ( | int | channelNum | ) |
void tracktion::engine::ExternalControllerManager::repaintPlugin | ( | Plugin & | ) |
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.
std::function<void (FolderTrack&, bool)> tracktion::engine::ExternalControllerManager::setFolderTrackOpen |
Callback that can be set allow surfaces to open/close folders.
std::function<bool (FolderTrack&)> tracktion::engine::ExternalControllerManager::isFolderTrackOpen |
Callback that can be set allow surfaces to show the open/close status of folders.
std::function<void (Edit&, bool)> tracktion::engine::ExternalControllerManager::setScrollingEnabled |
Callback that can be set allow surfaces to set the scroll status of an Edit.
std::function<bool (Edit&)> tracktion::engine::ExternalControllerManager::isScrollingEnabled |
Callback that can be set allow surfaces to show the scroll status of an Edit.
Engine& tracktion::engine::ExternalControllerManager::engine |