TracktionEngine
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
engine::TrackOutput Class Reference

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

#include <tracktion_TrackOutput.h>

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
 
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
 
juce::String getOutputDeviceID () const
 The ID of the track's target device (if one is set).
 
juce::String getOutputName () const
 description of where it's going.
 
juce::String getDescriptiveOutputName () const
 includes the dest track's name, if relevant
 
AudioTrackgetDestinationTrack () const
 if the track's being routed into another one, this returns it
 
bool outputsToDestTrack (AudioTrack &) const
 True if this track's direct destination is the one given.
 
bool feedsInto (const Track *possibleDestTrack) const
 true if any downstream tracks match this one
 
bool usesDefaultAudioOut () const
 True if this output is going to the default audio out.
 
bool usesDefaultMIDIOut () const
 True if this output is going to the default MIDI out.
 
bool outputsToNone () const
 True if this output is set to "none" (bus track mode)
 
OutputDevicegetOutputDevice (bool traceThroughDestTracks) const
 finds the output device.
 
void setOutputToDeviceID (const juce::String &deviceID)
 
void setOutputToTrack (AudioTrack *)
 
void setOutputToDefaultDevice (bool isMidi)
 
void setOutputToNone ()
 Clears the output so the track routes to nothing (bus track mode).
 
bool canPlayAudio () const
 
bool canPlayMidi () const
 (also true for virtual devices with midi synths)
 
bool injectLiveMidiMessage (const juce::MidiMessage &)
 false if not possible
 

Static Public Member Functions

static void getPossibleOutputDeviceNames (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()

engine::TrackOutput::TrackOutput ( Track )

◆ ~TrackOutput()

engine::TrackOutput::~TrackOutput ( )
override

Member Function Documentation

◆ initialise()

void engine::TrackOutput::initialise ( )

◆ flushStateToValueTree()

void engine::TrackOutput::flushStateToValueTree ( )

◆ updateOutput()

void engine::TrackOutput::updateOutput ( )

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

◆ outputsToDevice()

bool 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

◆ getOutputDeviceID()

juce::String engine::TrackOutput::getOutputDeviceID ( ) const

The ID of the track's target device (if one is set).

◆ getOutputName()

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

description of where it's going.

◆ getDescriptiveOutputName()

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

includes the dest track's name, if relevant

◆ getDestinationTrack()

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

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

◆ outputsToDestTrack()

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

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

◆ feedsInto()

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

true if any downstream tracks match this one

◆ usesDefaultAudioOut()

bool engine::TrackOutput::usesDefaultAudioOut ( ) const

True if this output is going to the default audio out.

◆ usesDefaultMIDIOut()

bool engine::TrackOutput::usesDefaultMIDIOut ( ) const

True if this output is going to the default MIDI out.

◆ outputsToNone()

bool engine::TrackOutput::outputsToNone ( ) const

True if this output is set to "none" (bus track mode)

◆ getOutputDevice()

OutputDevice * 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.

◆ setOutputToDeviceID()

void engine::TrackOutput::setOutputToDeviceID ( const juce::String &  deviceID)

◆ setOutputToTrack()

void engine::TrackOutput::setOutputToTrack ( AudioTrack )

◆ setOutputToDefaultDevice()

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

◆ setOutputToNone()

void engine::TrackOutput::setOutputToNone ( )

Clears the output so the track routes to nothing (bus track mode).

The track's plugin chain will still be processed so send/return and rack routing remain active.

◆ getPossibleOutputDeviceNames()

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

◆ canPlayAudio()

bool engine::TrackOutput::canPlayAudio ( ) const

◆ canPlayMidi()

bool engine::TrackOutput::canPlayMidi ( ) const

(also true for virtual devices with midi synths)

◆ injectLiveMidiMessage()

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

false if not possible

Member Data Documentation

◆ state

juce::ValueTree engine::TrackOutput::state

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