TracktionEngine
Public Types | Public Member Functions | Static Public Member Functions | List of all members
tracktion::engine::Engine Class Reference

The Engine is the central class for all tracktion sessions. More...

Public Types

using WeakRef = juce::WeakReference< Engine >
 

Public Member Functions

 Engine (juce::String applicationName)
 Constructs a default Engine with an application name. More...
 
 Engine (juce::String applicationName, std::unique_ptr< UIBehaviour >, std::unique_ptr< EngineBehaviour >)
 Constructs an Engine with an application name and custom UIBehaviour and EngineBehaviour. More...
 
 Engine (std::unique_ptr< PropertyStorage >, std::unique_ptr< UIBehaviour >, std::unique_ptr< EngineBehaviour >)
 Constructs an Engine with custom PropertyStorage, UIBehaviour and EngineBehaviour. More...
 
 ~Engine ()
 Destructor. More...
 
TemporaryFileManagergetTemporaryFileManager () const
 Returns the TemporaryFileManager allowing to handle the default app and user temporary folders. More...
 
AudioFileFormatManagergetAudioFileFormatManager () const
 Returns the AudioFileFormatManager that maintains a list of available audio file formats. More...
 
PropertyStoragegetPropertyStorage () const
 Returns the PropertyStorage user settings customisable XML file. More...
 
UIBehaviourgetUIBehaviour () const
 Returns the UIBehaviour class. More...
 
EngineBehaviourgetEngineBehaviour () const
 Returns the EngineBehaviour instance. More...
 
DeviceManagergetDeviceManager () const
 Returns the DeviceManager instance for handling audio / MIDI devices. More...
 
MidiProgramManagergetMidiProgramManager () const
 Returns the MidiProgramManager instance that handles MIDI banks, programs, sets or presets. More...
 
ExternalControllerManagergetExternalControllerManager () const
 Returns the ExternalControllerManager instance. More...
 
RenderManagergetRenderManager () const
 Returns the RenderManager instance. More...
 
BackgroundJobManagergetBackgroundJobs () const
 Returns the BackgroundJobManager instance. More...
 
AudioFileManagergetAudioFileManager () const
 Returns the AudioFileManager instance. More...
 
MidiLearnStategetMidiLearnState () const
 Returns the MidiLearnState instance. More...
 
PluginManagergetPluginManager () const
 Returns the PluginManager instance. More...
 
EditDeletergetEditDeleter () const
 Returns the EditDeleter instance. More...
 
RecordingThumbnailManagergetRecordingThumbnailManager () const
 Returns the RecordingThumbnailManager instance. More...
 
WaveInputRecordingThreadgetWaveInputRecordingThread () const
 Returns the WaveInputRecordingThread instance. More...
 
ActiveEditsgetActiveEdits () const noexcept
 Returns the ActiveEdits instance. More...
 
GrooveTemplateManagergetGrooveTemplateManager ()
 Returns the GrooveTemplateManager instance. More...
 
CompFactorygetCompFactory () const
 Returns the CompFactory instance. More...
 
WarpTimeFactorygetWarpTimeFactory () const
 Returns the WarpTimeFactory instance. More...
 
ProjectManagergetProjectManager () const
 Returns the ProjectManager instance. More...
 

Static Public Member Functions

static juce::String getVersion ()
 Returns the current version of Tracktion Engine. More...
 
static juce::Array< Engine * > getEngines ()
 Returns the list of currently active engines. More...
 

Detailed Description

The Engine is the central class for all tracktion sessions.

Create a Engine before creating any edits. Pass in subclasses of behaviours to customise how the engine behaves or pass nullptr to use the defaults. To get going quickly, just use the constructor that takes an application name, which uses default settings.

Typical declaration in your main component:

private:
tracktion_engine::Engine engine { ProjectInfo::projectName}

For Extended UI use:

private:
tracktion_engine::Engine engine { ProjectInfo::projectName, std::make_unique<ExtendedUIBehaviour>(), nullptr };

Member Typedef Documentation

◆ WeakRef

using tracktion::engine::Engine::WeakRef = juce::WeakReference<Engine>

Constructor & Destructor Documentation

◆ Engine() [1/3]

tracktion::engine::Engine::Engine ( juce::String  applicationName)

Constructs a default Engine with an application name.

◆ Engine() [2/3]

tracktion::engine::Engine::Engine ( juce::String  applicationName,
std::unique_ptr< UIBehaviour ,
std::unique_ptr< EngineBehaviour  
)

Constructs an Engine with an application name and custom UIBehaviour and EngineBehaviour.

◆ Engine() [3/3]

tracktion::engine::Engine::Engine ( std::unique_ptr< PropertyStorage ,
std::unique_ptr< UIBehaviour ,
std::unique_ptr< EngineBehaviour  
)

Constructs an Engine with custom PropertyStorage, UIBehaviour and EngineBehaviour.

◆ ~Engine()

tracktion::engine::Engine::~Engine ( )

Destructor.

Member Function Documentation

◆ getVersion()

static juce::String tracktion::engine::Engine::getVersion ( )
static

Returns the current version of Tracktion Engine.

◆ getEngines()

static juce::Array<Engine*> tracktion::engine::Engine::getEngines ( )
static

Returns the list of currently active engines.

◆ getTemporaryFileManager()

TemporaryFileManager& tracktion::engine::Engine::getTemporaryFileManager ( ) const

Returns the TemporaryFileManager allowing to handle the default app and user temporary folders.

◆ getAudioFileFormatManager()

AudioFileFormatManager& tracktion::engine::Engine::getAudioFileFormatManager ( ) const

Returns the AudioFileFormatManager that maintains a list of available audio file formats.

Referenced by tracktion::engine::AudioFileUtils::readFromFormat(), and tracktion::engine::WarpTimeRenderJob::renderNextBlock().

◆ getPropertyStorage()

PropertyStorage& tracktion::engine::Engine::getPropertyStorage ( ) const

Returns the PropertyStorage user settings customisable XML file.

◆ getUIBehaviour()

UIBehaviour& tracktion::engine::Engine::getUIBehaviour ( ) const

Returns the UIBehaviour class.

◆ getEngineBehaviour()

EngineBehaviour& tracktion::engine::Engine::getEngineBehaviour ( ) const

◆ getDeviceManager()

DeviceManager& tracktion::engine::Engine::getDeviceManager ( ) const

Returns the DeviceManager instance for handling audio / MIDI devices.

◆ getMidiProgramManager()

MidiProgramManager& tracktion::engine::Engine::getMidiProgramManager ( ) const

Returns the MidiProgramManager instance that handles MIDI banks, programs, sets or presets.

Referenced by tracktion::engine::MidiOutputDevice::getMidiProgramManager().

◆ getExternalControllerManager()

ExternalControllerManager& tracktion::engine::Engine::getExternalControllerManager ( ) const

Returns the ExternalControllerManager instance.

◆ getRenderManager()

RenderManager& tracktion::engine::Engine::getRenderManager ( ) const

◆ getBackgroundJobs()

BackgroundJobManager& tracktion::engine::Engine::getBackgroundJobs ( ) const

Returns the BackgroundJobManager instance.

◆ getAudioFileManager()

AudioFileManager& tracktion::engine::Engine::getAudioFileManager ( ) const

◆ getMidiLearnState()

MidiLearnState& tracktion::engine::Engine::getMidiLearnState ( ) const

Returns the MidiLearnState instance.

◆ getPluginManager()

PluginManager& tracktion::engine::Engine::getPluginManager ( ) const

Returns the PluginManager instance.

◆ getEditDeleter()

EditDeleter& tracktion::engine::Engine::getEditDeleter ( ) const

Returns the EditDeleter instance.

◆ getRecordingThumbnailManager()

RecordingThumbnailManager& tracktion::engine::Engine::getRecordingThumbnailManager ( ) const

◆ getWaveInputRecordingThread()

WaveInputRecordingThread& tracktion::engine::Engine::getWaveInputRecordingThread ( ) const

Returns the WaveInputRecordingThread instance.

◆ getActiveEdits()

ActiveEdits& tracktion::engine::Engine::getActiveEdits ( ) const
noexcept

Returns the ActiveEdits instance.

◆ getGrooveTemplateManager()

GrooveTemplateManager& tracktion::engine::Engine::getGrooveTemplateManager ( )

Returns the GrooveTemplateManager instance.

◆ getCompFactory()

CompFactory& tracktion::engine::Engine::getCompFactory ( ) const

Returns the CompFactory instance.

◆ getWarpTimeFactory()

WarpTimeFactory& tracktion::engine::Engine::getWarpTimeFactory ( ) const

Returns the WarpTimeFactory instance.

◆ getProjectManager()

ProjectManager& tracktion::engine::Engine::getProjectManager ( ) const

Returns the ProjectManager instance.


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