TracktionEngine
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
tracktion::engine::OutputDevice Class Referenceabstract

Base class for audio or midi output devices, to which a track's output can be sent. More...

Inheritance diagram for tracktion::engine::OutputDevice:

Public Member Functions

 OutputDevice (Engine &, const juce::String &type, const juce::String &name)
 
 ~OutputDevice () override
 
virtual juce::String getName () const
 
juce::String getAlias () const
 the alias is the name shown in the draggable input device components More...
 
void setAlias (const juce::String &alias)
 
void initialiseDefaultAlias ()
 Called after all devices are constructed, so it can use all the device names in its calculations. More...
 
juce::String getDeviceID () const
 
juce::String getSelectableDescription () override
 Subclasses must return a description of what they are. More...
 
bool isEnabled () const
 
virtual void setEnabled (bool b)=0
 
virtual bool isMidi () const
 
- Public Member Functions inherited from tracktion::engine::Selectable
 Selectable ()
 
virtual ~Selectable ()
 
virtual void selectionStatusChanged (bool isNowSelected)
 Can be overridden to tell this object that it has just been selected or deselected. More...
 
virtual void changed ()
 This should be called to send a change notification to any SelectableListeners that are registered with this object. More...
 
virtual void selectableAboutToBeDeleted ()
 Called just before the selectable is about to be deleted so any subclasses should still be valid at this point. More...
 
void addSelectableListener (SelectableListener *)
 
void removeSelectableListener (SelectableListener *)
 
void cancelAnyPendingUpdates ()
 If changed() has been called, this will cancel any pending async change notificaions. More...
 
void deselect ()
 
void propertiesChanged ()
 
void notifyListenersOfDeletion ()
 
WeakRef getWeakRef ()
 

Public Attributes

Engineengine
 
- Public Attributes inherited from tracktion::engine::Selectable
WeakRef::Master masterReference
 

Protected Member Functions

virtual juce::String openDevice ()=0
 
virtual void closeDevice ()=0
 

Protected Attributes

bool enabled = false
 

Additional Inherited Members

- Public Types inherited from tracktion::engine::Selectable
using WeakRef = juce::WeakReference< Selectable >
 
- Static Public Member Functions inherited from tracktion::engine::Selectable
static void initialise ()
 
static bool isSelectableValid (const Selectable *) noexcept
 checks whether this object has been deleted. More...
 

Detailed Description

Base class for audio or midi output devices, to which a track's output can be sent.

The DeviceManager keeps a list of these objects.

Constructor & Destructor Documentation

◆ OutputDevice()

tracktion::engine::OutputDevice::OutputDevice ( Engine ,
const juce::String &  type,
const juce::String &  name 
)

◆ ~OutputDevice()

tracktion::engine::OutputDevice::~OutputDevice ( )
override

Member Function Documentation

◆ getName()

virtual juce::String tracktion::engine::OutputDevice::getName ( ) const
virtual

◆ getAlias()

juce::String tracktion::engine::OutputDevice::getAlias ( ) const

the alias is the name shown in the draggable input device components

◆ setAlias()

void tracktion::engine::OutputDevice::setAlias ( const juce::String &  alias)

◆ initialiseDefaultAlias()

void tracktion::engine::OutputDevice::initialiseDefaultAlias ( )

Called after all devices are constructed, so it can use all the device names in its calculations.

◆ getDeviceID()

juce::String tracktion::engine::OutputDevice::getDeviceID ( ) const

◆ getSelectableDescription()

juce::String tracktion::engine::OutputDevice::getSelectableDescription ( )
overridevirtual

Subclasses must return a description of what they are.

Implements tracktion::engine::Selectable.

◆ isEnabled()

bool tracktion::engine::OutputDevice::isEnabled ( ) const

◆ setEnabled()

virtual void tracktion::engine::OutputDevice::setEnabled ( bool  b)
pure virtual

◆ isMidi()

virtual bool tracktion::engine::OutputDevice::isMidi ( ) const
virtual

◆ openDevice()

virtual juce::String tracktion::engine::OutputDevice::openDevice ( )
protectedpure virtual

◆ closeDevice()

virtual void tracktion::engine::OutputDevice::closeDevice ( )
protectedpure virtual

Member Data Documentation

◆ engine

Engine& tracktion::engine::OutputDevice::engine

◆ enabled

bool tracktion::engine::OutputDevice::enabled = false
protected

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