TracktionEngine
Public Member Functions | List of all members
tracktion::engine::UIBehaviour Class Reference

Create a subclass of UIBehaviour to custom UI elements created by the engine. More...

Public Member Functions

 UIBehaviour ()=default
 
virtual ~UIBehaviour ()=default
 
virtual EditgetCurrentlyFocusedEdit ()
 
virtual EditgetLastFocusedEdit ()
 
virtual juce::Array< Edit * > getAllOpenEdits ()
 
virtual bool isEditVisibleOnScreen (const Edit &)
 
virtual bool closeAllEditsBelongingToProject (Project &)
 
virtual void editNamesMayHaveChanged ()
 
virtual SelectionManagergetCurrentlyFocusedSelectionManager ()
 
virtual SelectionManagergetSelectionManagerForRack (const RackType &)
 
virtual bool paste (const Clipboard &)
 
virtual Project::Ptr getCurrentlyFocusedProject ()
 
virtual void selectProjectInFocusedWindow (Project::Ptr)
 
virtual void updateAllProjectItemLists ()
 
virtual juce::ApplicationCommandManager * getApplicationCommandManager ()
 
virtual void getAllCommands (juce::Array< juce::CommandID > &)
 
virtual void getCommandInfo (juce::CommandID, juce::ApplicationCommandInfo &)
 
virtual bool perform (const juce::ApplicationCommandTarget::InvocationInfo &)
 
virtual Plugin::Ptr showMenuAndCreatePlugin (Plugin::Type, Edit &)
 Should show the new plugin window and creates the Plugin the user selects. More...
 
virtual std::unique_ptr< juce::Component > createPluginWindow (PluginWindowState &)
 Must create a suitable Component plugin window for the given PluginWindowState. More...
 
virtual void recreatePluginWindowContentAsync (Plugin &)
 Should trigger an asynchronous refresh of any editor components showing for this plugin. More...
 
virtual void newTrackCreated (Track &)
 Called when a new track is created from some kind of user action i.e. More...
 
virtual std::unique_ptr< juce::AudioThumbnailBase > createAudioThumbnail (int sourceSamplesPerThumbnailSample, juce::AudioFormatManager &formatManagerToUse, juce::AudioThumbnailCache &cacheToUse)
 Must create an AudioThumnail for displaying, usually in a SmartThumbnail. More...
 
virtual void showWarningAlert (const juce::String &title, const juce::String &message)
 Should display a dismissable alert window. More...
 
virtual bool showOkCancelAlertBox (const juce::String &title, const juce::String &message, const juce::String &ok={}, const juce::String &cancel={})
 Should display a dismissable alert window. More...
 
virtual int showYesNoCancelAlertBox (const juce::String &title, const juce::String &message, const juce::String &yes={}, const juce::String &no={}, const juce::String &cancel={})
 Should display a dismissable alert window. More...
 
virtual void showInfoMessage (const juce::String &message)
 Should display a temporary information message, usually in the same place. More...
 
virtual void showWarningMessage (const juce::String &message)
 Should display a temporary warning message. More...
 
virtual void showQuantisationLevel ()
 Should show the current quantisation level for a short period of time. More...
 
virtual void runTaskWithProgressBar (ThreadPoolJobWithProgress &)
 Should run this task in the current window, with a progress bar, blocking until the task is done. More...
 
virtual bool getBigInputMetersMode ()
 
virtual void setBigInputMetersMode (bool)
 
virtual bool shouldGenerateLiveWaveformsWhenRecording ()
 
virtual void showSafeRecordDialog (TransportControl &)
 
virtual void hideSafeRecordDialog (TransportControl &)
 
virtual void showProjectScreen ()
 
virtual void showSettingsScreen ()
 
virtual void showEditScreen ()
 
virtual void showHideVideo ()
 
virtual void showHideInputs ()
 
virtual void showHideOutputs ()
 
virtual void showHideMixer ([[maybe_unused]] bool fullscreen)
 
virtual void showHideMidiEditor ([[maybe_unused]] bool fullscreen)
 
virtual void showHideTrackEditor ([[maybe_unused]] bool zoom)
 
virtual void showHideBrowser ()
 
virtual void showHideActions ()
 
virtual void showHideAllPanes ()
 
virtual void toggleScroll ()
 
virtual bool isScrolling ()
 
virtual void performUserAction (int)
 
virtual void scrollTracksUp ()
 
virtual void scrollTracksDown ()
 
virtual void scrollTracksLeft ()
 
virtual void scrollTracksRight ()
 
virtual void nudgeSelectedClips (TimecodeSnapType, const juce::String &commandDesc, SelectionManager &, const juce::Array< Clip * > &, bool automationLocked)
 
virtual void nudgeSelected (TimecodeSnapType, const juce::String &commandDesc, bool automationLocked)
 
virtual void nudgeSelected (const juce::String &commandDesc)
 
virtual void stopPreviewPlayback ()
 
virtual void resetOverloads ()
 
virtual void resetPeaks ()
 
virtual void zoomHorizontal (float)
 
virtual void zoomVertical (float)
 
virtual void zoomToSelection ()
 
virtual void zoomToFitHorizontally ()
 
virtual void zoomToFitVertically ()
 
virtual TimePosition getEditingPosition (Edit &)
 Should return the position which used be used for edit operations such as splitting. More...
 
virtual TimeRange getEditingRange (Edit &)
 Should return the range which used be used for edit operations such as coping or deleting. More...
 
virtual juce::Array< Track * > getEditingTracks (Edit &)
 Can return a range of tracks which used be used for edit operations such as coping or deleting. More...
 
virtual SelectableList getAssociatedClipsToEdit (const SelectableList &items)
 If your UI has the concept of edit groups, you should return an expanded list of selected items that includes all clips that should be edited with the selected clip. More...
 

Detailed Description

Create a subclass of UIBehaviour to custom UI elements created by the engine.

Constructor & Destructor Documentation

◆ UIBehaviour()

tracktion::engine::UIBehaviour::UIBehaviour ( )
default

◆ ~UIBehaviour()

virtual tracktion::engine::UIBehaviour::~UIBehaviour ( )
virtualdefault

Member Function Documentation

◆ getCurrentlyFocusedEdit()

virtual Edit* tracktion::engine::UIBehaviour::getCurrentlyFocusedEdit ( )
virtual

◆ getLastFocusedEdit()

virtual Edit* tracktion::engine::UIBehaviour::getLastFocusedEdit ( )
virtual

◆ getAllOpenEdits()

virtual juce::Array<Edit*> tracktion::engine::UIBehaviour::getAllOpenEdits ( )
virtual

◆ isEditVisibleOnScreen()

virtual bool tracktion::engine::UIBehaviour::isEditVisibleOnScreen ( const Edit )
virtual

◆ closeAllEditsBelongingToProject()

virtual bool tracktion::engine::UIBehaviour::closeAllEditsBelongingToProject ( Project )
virtual

◆ editNamesMayHaveChanged()

virtual void tracktion::engine::UIBehaviour::editNamesMayHaveChanged ( )
virtual

◆ getCurrentlyFocusedSelectionManager()

virtual SelectionManager* tracktion::engine::UIBehaviour::getCurrentlyFocusedSelectionManager ( )
virtual

◆ getSelectionManagerForRack()

virtual SelectionManager* tracktion::engine::UIBehaviour::getSelectionManagerForRack ( const RackType )
virtual

◆ paste()

virtual bool tracktion::engine::UIBehaviour::paste ( const Clipboard )
virtual

◆ getCurrentlyFocusedProject()

virtual Project::Ptr tracktion::engine::UIBehaviour::getCurrentlyFocusedProject ( )
virtual

◆ selectProjectInFocusedWindow()

virtual void tracktion::engine::UIBehaviour::selectProjectInFocusedWindow ( Project::Ptr  )
virtual

◆ updateAllProjectItemLists()

virtual void tracktion::engine::UIBehaviour::updateAllProjectItemLists ( )
virtual

◆ getApplicationCommandManager()

virtual juce::ApplicationCommandManager* tracktion::engine::UIBehaviour::getApplicationCommandManager ( )
virtual

◆ getAllCommands()

virtual void tracktion::engine::UIBehaviour::getAllCommands ( juce::Array< juce::CommandID > &  )
virtual

◆ getCommandInfo()

virtual void tracktion::engine::UIBehaviour::getCommandInfo ( juce::CommandID  ,
juce::ApplicationCommandInfo &   
)
virtual

◆ perform()

virtual bool tracktion::engine::UIBehaviour::perform ( const juce::ApplicationCommandTarget::InvocationInfo &  )
virtual

◆ showMenuAndCreatePlugin()

virtual Plugin::Ptr tracktion::engine::UIBehaviour::showMenuAndCreatePlugin ( Plugin::Type  ,
Edit  
)
virtual

Should show the new plugin window and creates the Plugin the user selects.

◆ createPluginWindow()

virtual std::unique_ptr<juce::Component> tracktion::engine::UIBehaviour::createPluginWindow ( PluginWindowState )
virtual

Must create a suitable Component plugin window for the given PluginWindowState.

The type of state should be checked and used accordingly e.g. Plugin::WindowState or RackType::WindowsState

◆ recreatePluginWindowContentAsync()

virtual void tracktion::engine::UIBehaviour::recreatePluginWindowContentAsync ( Plugin )
virtual

Should trigger an asynchronous refresh of any editor components showing for this plugin.

The default implementation just causes a new instance of the whole window to be created.

◆ newTrackCreated()

virtual void tracktion::engine::UIBehaviour::newTrackCreated ( Track )
virtual

Called when a new track is created from some kind of user action i.e.

not from an Edit load.

◆ createAudioThumbnail()

virtual std::unique_ptr<juce::AudioThumbnailBase> tracktion::engine::UIBehaviour::createAudioThumbnail ( int  sourceSamplesPerThumbnailSample,
juce::AudioFormatManager &  formatManagerToUse,
juce::AudioThumbnailCache &  cacheToUse 
)
virtual

Must create an AudioThumnail for displaying, usually in a SmartThumbnail.

◆ showWarningAlert()

virtual void tracktion::engine::UIBehaviour::showWarningAlert ( const juce::String &  title,
const juce::String &  message 
)
virtual

Should display a dismissable alert window.

N.B. this should be non-blocking.

◆ showOkCancelAlertBox()

virtual bool tracktion::engine::UIBehaviour::showOkCancelAlertBox ( const juce::String &  title,
const juce::String &  message,
const juce::String &  ok = {},
const juce::String &  cancel = {} 
)
virtual

Should display a dismissable alert window.

Returns true for OK. N.B. this is blocking.

◆ showYesNoCancelAlertBox()

virtual int tracktion::engine::UIBehaviour::showYesNoCancelAlertBox ( const juce::String &  title,
const juce::String &  message,
const juce::String &  yes = {},
const juce::String &  no = {},
const juce::String &  cancel = {} 
)
virtual

Should display a dismissable alert window.

Returns 1 = yes, 2 = no, 0 = cancel N.B. this is blocking.

◆ showInfoMessage()

virtual void tracktion::engine::UIBehaviour::showInfoMessage ( const juce::String &  message)
virtual

Should display a temporary information message, usually in the same place.

◆ showWarningMessage()

virtual void tracktion::engine::UIBehaviour::showWarningMessage ( const juce::String &  message)
virtual

Should display a temporary warning message.

◆ showQuantisationLevel()

virtual void tracktion::engine::UIBehaviour::showQuantisationLevel ( )
virtual

Should show the current quantisation level for a short period of time.

◆ runTaskWithProgressBar()

virtual void tracktion::engine::UIBehaviour::runTaskWithProgressBar ( ThreadPoolJobWithProgress )
virtual

Should run this task in the current window, with a progress bar, blocking until the task is done.

◆ getBigInputMetersMode()

virtual bool tracktion::engine::UIBehaviour::getBigInputMetersMode ( )
virtual

◆ setBigInputMetersMode()

virtual void tracktion::engine::UIBehaviour::setBigInputMetersMode ( bool  )
virtual

◆ shouldGenerateLiveWaveformsWhenRecording()

virtual bool tracktion::engine::UIBehaviour::shouldGenerateLiveWaveformsWhenRecording ( )
virtual

◆ showSafeRecordDialog()

virtual void tracktion::engine::UIBehaviour::showSafeRecordDialog ( TransportControl )
virtual

◆ hideSafeRecordDialog()

virtual void tracktion::engine::UIBehaviour::hideSafeRecordDialog ( TransportControl )
virtual

◆ showProjectScreen()

virtual void tracktion::engine::UIBehaviour::showProjectScreen ( )
virtual

◆ showSettingsScreen()

virtual void tracktion::engine::UIBehaviour::showSettingsScreen ( )
virtual

◆ showEditScreen()

virtual void tracktion::engine::UIBehaviour::showEditScreen ( )
virtual

◆ showHideVideo()

virtual void tracktion::engine::UIBehaviour::showHideVideo ( )
virtual

◆ showHideInputs()

virtual void tracktion::engine::UIBehaviour::showHideInputs ( )
virtual

◆ showHideOutputs()

virtual void tracktion::engine::UIBehaviour::showHideOutputs ( )
virtual

◆ showHideMixer()

virtual void tracktion::engine::UIBehaviour::showHideMixer ( [[maybe_unused] ] bool  fullscreen)
virtual

◆ showHideMidiEditor()

virtual void tracktion::engine::UIBehaviour::showHideMidiEditor ( [[maybe_unused] ] bool  fullscreen)
virtual

◆ showHideTrackEditor()

virtual void tracktion::engine::UIBehaviour::showHideTrackEditor ( [[maybe_unused] ] bool  zoom)
virtual

◆ showHideBrowser()

virtual void tracktion::engine::UIBehaviour::showHideBrowser ( )
virtual

◆ showHideActions()

virtual void tracktion::engine::UIBehaviour::showHideActions ( )
virtual

◆ showHideAllPanes()

virtual void tracktion::engine::UIBehaviour::showHideAllPanes ( )
virtual

◆ toggleScroll()

virtual void tracktion::engine::UIBehaviour::toggleScroll ( )
virtual

◆ isScrolling()

virtual bool tracktion::engine::UIBehaviour::isScrolling ( )
virtual

◆ performUserAction()

virtual void tracktion::engine::UIBehaviour::performUserAction ( int  )
virtual

◆ scrollTracksUp()

virtual void tracktion::engine::UIBehaviour::scrollTracksUp ( )
virtual

◆ scrollTracksDown()

virtual void tracktion::engine::UIBehaviour::scrollTracksDown ( )
virtual

◆ scrollTracksLeft()

virtual void tracktion::engine::UIBehaviour::scrollTracksLeft ( )
virtual

◆ scrollTracksRight()

virtual void tracktion::engine::UIBehaviour::scrollTracksRight ( )
virtual

◆ nudgeSelectedClips()

virtual void tracktion::engine::UIBehaviour::nudgeSelectedClips ( TimecodeSnapType  ,
const juce::String &  commandDesc,
SelectionManager ,
const juce::Array< Clip * > &  ,
bool  automationLocked 
)
virtual

◆ nudgeSelected() [1/2]

virtual void tracktion::engine::UIBehaviour::nudgeSelected ( TimecodeSnapType  ,
const juce::String &  commandDesc,
bool  automationLocked 
)
virtual

◆ nudgeSelected() [2/2]

virtual void tracktion::engine::UIBehaviour::nudgeSelected ( const juce::String &  commandDesc)
virtual

◆ stopPreviewPlayback()

virtual void tracktion::engine::UIBehaviour::stopPreviewPlayback ( )
virtual

◆ resetOverloads()

virtual void tracktion::engine::UIBehaviour::resetOverloads ( )
virtual

◆ resetPeaks()

virtual void tracktion::engine::UIBehaviour::resetPeaks ( )
virtual

◆ zoomHorizontal()

virtual void tracktion::engine::UIBehaviour::zoomHorizontal ( float  )
virtual

◆ zoomVertical()

virtual void tracktion::engine::UIBehaviour::zoomVertical ( float  )
virtual

◆ zoomToSelection()

virtual void tracktion::engine::UIBehaviour::zoomToSelection ( )
virtual

◆ zoomToFitHorizontally()

virtual void tracktion::engine::UIBehaviour::zoomToFitHorizontally ( )
virtual

◆ zoomToFitVertically()

virtual void tracktion::engine::UIBehaviour::zoomToFitVertically ( )
virtual

◆ getEditingPosition()

virtual TimePosition tracktion::engine::UIBehaviour::getEditingPosition ( Edit )
virtual

Should return the position which used be used for edit operations such as splitting.

By default this returns the transport position.

◆ getEditingRange()

virtual TimeRange tracktion::engine::UIBehaviour::getEditingRange ( Edit )
virtual

Should return the range which used be used for edit operations such as coping or deleting.

By default this returns the loop range.

◆ getEditingTracks()

virtual juce::Array<Track*> tracktion::engine::UIBehaviour::getEditingTracks ( Edit )
virtual

Can return a range of tracks which used be used for edit operations such as coping or deleting.

◆ getAssociatedClipsToEdit()

virtual SelectableList tracktion::engine::UIBehaviour::getAssociatedClipsToEdit ( const SelectableList items)
virtual

If your UI has the concept of edit groups, you should return an expanded list of selected items that includes all clips that should be edited with the selected clip.


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