TracktionEngine
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
tracktion::engine::TrackOutput Class Reference

Represents the destination output device(s) for a track. More...

Inherits juce::ValueTree::Listener.

Public Member Functions

 TrackOutput (Track &)
 
 ~TrackOutput () override
 
void initialise ()
 
void flushStateToValueTree ()
 
void updateOutput ()
 called as a sanity-check after edit has created all the tracks More...
 
bool outputsToDevice (const juce::String &deviceName, bool compareDefaultDevices) const
 if compareDefaultDevices is true, then this returns true if the device name is 'default ..' and the actual device is named, or vice-versa More...
 
juce::String getOutputName () const
 description of where it's going. More...
 
juce::String getDescriptiveOutputName () const
 includes the dest track's name, if relevant More...
 
AudioTrackgetDestinationTrack () const
 if the track's being routed into another one, this returns it More...
 
bool outputsToDestTrack (AudioTrack &) const
 True if this track's direct destination is the one given. More...
 
bool feedsInto (const Track *possibleDestTrack) const
 true if any downstream tracks match this one More...
 
OutputDevicegetOutputDevice (bool traceThroughDestTracks) const
 finds the output device. More...
 
void setOutputByName (const juce::String &name)
 
void setOutputToTrack (AudioTrack *)
 
void setOutputToDefaultDevice (bool isMidi)
 
bool canPlayAudio () const
 
bool canPlayMidi () const
 (also true for virtual devices with midi synths) More...
 
bool injectLiveMidiMessage (const juce::MidiMessage &)
 false if not possible More...
 

Static Public Member Functions

static void getPossibleOutputDeviceNames (const juce::Array< AudioTrack * > &tracks, juce::StringArray &s, juce::StringArray &a, juce::BigInteger &hasAudio, juce::BigInteger &hasMidi)
 
static void getPossibleOutputNames (const juce::Array< AudioTrack * > &tracks, juce::StringArray &s, juce::StringArray &a, juce::BigInteger &hasAudio, juce::BigInteger &hasMidi)
 

Public Attributes

juce::ValueTree state
 

Detailed Description

Represents the destination output device(s) for a track.

Constructor & Destructor Documentation

◆ TrackOutput()

tracktion::engine::TrackOutput::TrackOutput ( Track )

◆ ~TrackOutput()

tracktion::engine::TrackOutput::~TrackOutput ( )
override

Member Function Documentation

◆ initialise()

void tracktion::engine::TrackOutput::initialise ( )

◆ flushStateToValueTree()

void tracktion::engine::TrackOutput::flushStateToValueTree ( )

◆ updateOutput()

void tracktion::engine::TrackOutput::updateOutput ( )

called as a sanity-check after edit has created all the tracks

◆ outputsToDevice()

bool tracktion::engine::TrackOutput::outputsToDevice ( const juce::String &  deviceName,
bool  compareDefaultDevices 
) const

if compareDefaultDevices is true, then this returns true if the device name is 'default ..' and the actual device is named, or vice-versa

◆ getOutputName()

juce::String tracktion::engine::TrackOutput::getOutputName ( ) const

description of where it's going.

◆ getDescriptiveOutputName()

juce::String tracktion::engine::TrackOutput::getDescriptiveOutputName ( ) const

includes the dest track's name, if relevant

◆ getDestinationTrack()

AudioTrack* tracktion::engine::TrackOutput::getDestinationTrack ( ) const

if the track's being routed into another one, this returns it

◆ outputsToDestTrack()

bool tracktion::engine::TrackOutput::outputsToDestTrack ( AudioTrack ) const

True if this track's direct destination is the one given.

◆ feedsInto()

bool tracktion::engine::TrackOutput::feedsInto ( const Track possibleDestTrack) const

true if any downstream tracks match this one

◆ getOutputDevice()

OutputDevice* tracktion::engine::TrackOutput::getOutputDevice ( bool  traceThroughDestTracks) const

finds the output device.

If the track feeds into another track, this will optionally recurse into the dest track to find the device.

◆ setOutputByName()

void tracktion::engine::TrackOutput::setOutputByName ( const juce::String &  name)

◆ setOutputToTrack()

void tracktion::engine::TrackOutput::setOutputToTrack ( AudioTrack )

◆ setOutputToDefaultDevice()

void tracktion::engine::TrackOutput::setOutputToDefaultDevice ( bool  isMidi)

◆ getPossibleOutputDeviceNames()

static void tracktion::engine::TrackOutput::getPossibleOutputDeviceNames ( const juce::Array< AudioTrack * > &  tracks,
juce::StringArray &  s,
juce::StringArray &  a,
juce::BigInteger &  hasAudio,
juce::BigInteger &  hasMidi 
)
static

◆ getPossibleOutputNames()

static void tracktion::engine::TrackOutput::getPossibleOutputNames ( const juce::Array< AudioTrack * > &  tracks,
juce::StringArray &  s,
juce::StringArray &  a,
juce::BigInteger &  hasAudio,
juce::BigInteger &  hasMidi 
)
static

◆ canPlayAudio()

bool tracktion::engine::TrackOutput::canPlayAudio ( ) const

◆ canPlayMidi()

bool tracktion::engine::TrackOutput::canPlayMidi ( ) const

(also true for virtual devices with midi synths)

◆ injectLiveMidiMessage()

bool tracktion::engine::TrackOutput::injectLiveMidiMessage ( const juce::MidiMessage &  )

false if not possible

Member Data Documentation

◆ state

juce::ValueTree tracktion::engine::TrackOutput::state

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