tracktion-engine 3.0-10-g034fdde4aa5
Tracktion Engine — High level data model for audio applications

« « « Anklang Documentation
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Public Attributes | Protected Member Functions | Friends | List of all members
tracktion::engine::AudioTrack Class Reference
Inheritance diagram for tracktion::engine::AudioTrack:
tracktion::engine::ClipTrack tracktion::engine::MacroParameterElement juce::Timer tracktion::engine::Track tracktion::engine::ClipOwner tracktion::engine::EditItem tracktion::engine::Selectable juce::ReferenceCountedObject juce::ValueTree::Listener juce::AsyncUpdater

Classes

struct  FreezePointRemovalInhibitor
 Prevents the freeze point from being removed during an unfreeze operation. More...
 
struct  FreezeUpdater
 
struct  Listener
 Listener interface to be notified of recorded MIDI being sent to the plugins. More...
 
struct  TrackMuter
 

Public Types

using Ptr = juce::ReferenceCountedObjectPtr< AudioTrack >
 
- Public Types inherited from tracktion::engine::ClipTrack
using Ptr = juce::ReferenceCountedObjectPtr< ClipTrack >
 
- Public Types inherited from tracktion::engine::Track
enum  FreezeType { groupFreeze , individualFreeze , anyFreeze }
 Determines the type of freeze. More...
 
enum  MuteAndSoloLightState {
  soloLit , soloFlashing , soloIsolate , muteLit ,
  muteFlashing
}
 Determines the status of the mute and solo indicators. More...
 
using Ptr = juce::ReferenceCountedObjectPtr< Track >
 
using Array = juce::ReferenceCountedArray< Track >
 
- Public Types inherited from tracktion::engine::Selectable
using WeakRef = juce::WeakReference< Selectable >
 

Public Member Functions

 AudioTrack (Edit &, const juce::ValueTree &)
 
void initialise () override
 Initialises the Track.
 
bool isAudioTrack () const override
 Returns true if this is an AudioTrack.
 
juce::String getSelectableDescription () override
 Subclasses must return a description of what they are.
 
int getAudioTrackNumber () const noexcept
 
void sanityCheckName () override
 checks whether the name is 'track n' and if so, makes sure the number is right
 
juce::String getName () const override
 
juce::String getNameAsTrackNumber () const
 Returns a name in the form "Track [number]".
 
juce::String getNameAsTrackNumberWithDescription () const
 Returns a name in the form "Track [number] ([track name])" (This is smart enough to not add the parenthesised name if it's just a "Track X" type name)
 
bool canContainPlugin (Plugin *) const override
 Returns true if this track can contain a specific Plugin.
 
bool processAudioNodesWhileMuted () const override
 Subclasses can override this to ensure track contents are still played even when the track is muted.
 
juce::String getTrackPlayabilityWarning () const
 returns a warning message about this track not being playable, or "" if it's ok
 
juce::String getLauncherPlayabilityWarning () const
 
VolumeAndPanPlugingetVolumePlugin ()
 
LevelMeterPlugingetLevelMeterPlugin ()
 
EqualiserPlugingetEqualiserPlugin ()
 
AuxSendPlugingetAuxSendPlugin (int bus=-1, AuxPosition ap=AuxPosition::byBus) const
 
juce::String getNameForMidiNoteNumber (int note, int midiChannel, bool preferSharp=true) const
 looks for a name for a midi note by trying all the plugins, and returning a default on failure.
 
juce::String getNameForProgramNumber (int programNumber, int bank) const
 prog number is 0 based.
 
juce::String getNameForBank (int bank) const
 
int getIdForBank (int bank) const
 
bool areMidiPatchesZeroBased () const
 
WaveInputDevicegetWaveInputDevice () const noexcept
 
MidiInputDevicegetMidiInputDevice () const noexcept
 
TrackOutputgetOutput () const noexcept
 
int getMaxNumOfInputs () const noexcept
 
void setMaxNumOfInputs (int newMaxNumber)
 
bool canPlayAudio () const
 checks whether audio clips can be played - i.e.
 
bool canPlayMidi () const
 
ClipSlotListgetClipSlotList ()
 Returns the ClipSlotList for this track.
 
bool isFrozen (FreezeType) const override
 Returns true if this track is frozen using the given type.
 
void setFrozen (bool, FreezeType) override
 Attempts to freeze or unfreeze the track using a given FreezeType.
 
void insertFreezePointAfterPlugin (const Plugin::Ptr &)
 
void removeFreezePoint ()
 
void freezeTrackAsync () const
 
bool hasAnyLiveInputs ()
 
bool hasAnyTracksFeedingIn ()
 
juce::Array< Track * > getInputTracks () const override
 Should return any tracks which feed into this track.
 
juce::Array< Track * > findSidechainSourceTracks () const
 
void injectLiveMidiMessage (const MidiMessageArray::MidiMessageWithSource &)
 
void injectLiveMidiMessage (const juce::MidiMessage &, MidiMessageArray::MPESourceID)
 
bool isMuted (bool includeMutingByDestination) const override
 Returns true if this track is muted.
 
bool isSolo (bool includeIndirectSolo) const override
 Returns true if this track is soloed.
 
bool isSoloIsolate (bool includeIndirectSolo) const override
 Returns true if this track is solo isolated.
 
void setMute (bool) override
 Subclasses should implement this to mute themselves.
 
void setSolo (bool) override
 Subclasses should implement this to solo themselves.
 
void setSoloIsolate (bool) override
 Subclasses should implement this to solo isolate themselves.
 
double getMidiVisibleProportion () const
 vertical scales for displaying the midi note editor
 
double getMidiVerticalOffset () const
 
void setMidiVerticalPos (double visibleProp, double offset)
 
void scaleVerticallyToFitMidi ()
 
void setVerticalScaleToDefault ()
 
void setTrackToGhost (AudioTrack *, bool shouldGhost)
 
void clearGhostTracks ()
 
juce::Array< AudioTrack * > getGhostTracks () const
 
int getCompGroup () const noexcept
 
void setCompGroup (int groupIndex)
 
bool hasMidiNoteNames ()
 
void clearMidiNoteNames ()
 
void loadMidiNoteNames (const juce::String namesFile)
 
bool mergeInMidiSequence (juce::MidiMessageSequence, TimePosition startTime, MidiClip *, MidiList::NoteAutomationType)
 try to add this MIDI sequence to any MIDI clips that are already in the track.
 
void playGuideNote (int note, MidiChannel midiChannel, int velocity, bool stopOtherFirst=true, bool forceNote=false, bool autorelease=false)
 
void playGuideNotes (const juce::Array< int > &notes, MidiChannel midiChannel, const juce::Array< int > &velocities, bool stopOthersFirst=true)
 
void turnOffGuideNotes ()
 
void turnOffGuideNotes (MidiChannel)
 
void addListener (Listener *)
 Adds a Listener.
 
void removeListener (Listener *)
 Removes a Listener.
 
juce::ListenerList< Listener > & getListeners ()
 Returns the listener list so Nodes can manually call them.
 
- Public Member Functions inherited from tracktion::engine::ClipTrack
 ClipTrack (Edit &, const juce::ValueTree &, bool hasModifierList)
 
void initialise () override
 Initialises the Track.
 
void flushStateToValueTree () override
 Flushes all plugin states on the track to the state object.
 
ClipfindClipForID (EditItemID) const override
 Returns a clip one with a matching ID can be found on this Track.
 
CollectionClipgetCollectionClip (int index) const noexcept
 
CollectionClipgetCollectionClip (Clip *) const
 
int getNumCollectionClips () const noexcept
 
int indexOfCollectionClip (CollectionClip *) const
 
int getIndexOfNextCollectionClipAt (TimePosition)
 
CollectionClipgetNextCollectionClipAt (TimePosition)
 
bool contains (CollectionClip *) const
 
void addCollectionClip (CollectionClip *)
 
void removeCollectionClip (CollectionClip *)
 
int getNumTrackItems () const override
 Should return the number of TrackItem[s] on this Track.
 
TrackItemgetTrackItem (int idx) const override
 Should return the TrackItem at the given index.
 
int indexOfTrackItem (TrackItem *) const override
 Should return the index of the given TrackItem.
 
int getIndexOfNextTrackItemAt (TimePosition) override
 Should return the index of the TrackItem after this time.
 
TrackItemgetNextTrackItemAt (TimePosition) override
 Should return the TrackItem after this time.
 
void insertSpaceIntoTrack (TimePosition, TimeDuration) override
 inserts space and moves everything up
 
TimeDuration getLength () const
 
TimeDuration getLengthIncludingInputTracks () const
 
TimeRange getTotalRange () const
 
bool addClip (const Clip::Ptr &)
 
ClipinsertClipWithState (juce::ValueTree)
 
ClipinsertClipWithState (const juce::ValueTree &stateToUse, const juce::String &name, TrackItem::Type type, ClipPosition position, bool deleteExistingClips, bool allowSpottingAdjustment)
 
ClipinsertNewClip (TrackItem::Type, TimeRange position, SelectionManager *selectionManagerToSelectWith)
 
ClipinsertNewClip (TrackItem::Type, const juce::String &name, TimeRange position, SelectionManager *selectionManagerToSelectWith)
 
ClipinsertNewClip (TrackItem::Type, const juce::String &name, ClipPosition position, SelectionManager *selectionManagerToSelectWith)
 
juce::ReferenceCountedObjectPtr< WaveAudioClipinsertWaveClip (const juce::String &name, const juce::File &sourceFile, ClipPosition position, bool deleteExistingClips)
 
juce::ReferenceCountedObjectPtr< WaveAudioClipinsertWaveClip (const juce::String &name, ProjectItemID sourceID, ClipPosition position, bool deleteExistingClips)
 
juce::ReferenceCountedObjectPtr< MidiClipinsertMIDIClip (TimeRange position, SelectionManager *selectionManagerToSelectWith)
 
juce::ReferenceCountedObjectPtr< MidiClipinsertMIDIClip (const juce::String &name, TimeRange position, SelectionManager *selectionManagerToSelectWith)
 
juce::ReferenceCountedObjectPtr< EditClipinsertEditClip (TimeRange position, ProjectItemID sourceID)
 
void deleteRegion (TimeRange, SelectionManager *)
 
void deleteRegionOfClip (Clip::Ptr, TimeRange, SelectionManager *)
 
ClipsplitClip (Clip &, TimePosition)
 breaks a clip into 2 bits
 
void splitAt (TimePosition)
 split all clips at this time
 
TimePosition getNextTimeOfInterest (TimePosition afterThisTime)
 finds the next cut point
 
TimePosition getPreviousTimeOfInterest (TimePosition beforeThisTime)
 
bool containsPlugin (const Plugin *) const override
 Tests whether this Track or a clip on it contains the given plugin.
 
Plugin::Array getAllPlugins () const override
 Returns all pugins on this Track.
 
void sendMirrorUpdateToAllPlugins (Plugin &) const override
 Sends a message to all plugins that the given plugin has changed.
 
bool areAnyClipsUsingFile (const AudioFile &)
 
bool containsAnyMIDIClips () const
 
juce::ValueTreegetClipOwnerState () override
 Must return the state of this ClipOwner.
 
EditItemID getClipOwnerID () override
 Must return the ID of this ClipOwner.
 
SelectablegetClipOwnerSelectable () override
 Must return the selectable if this ClipOwner is one.
 
EditgetClipOwnerEdit () override
 Must return the Edit this ClipOwner belongs to.
 
void clipCreated (Clip &) override
 Called when a clip is created which could be during Edit load.
 
void clipAddedOrRemoved () override
 Called when a clip is added or removed.
 
void clipOrderChanged () override
 Called when clips have moved times so that their order has changed.
 
void clipPositionChanged () override
 Called when a clip start or end position has changed.
 
- Public Member Functions inherited from tracktion::engine::Track
 Track (Edit &, const juce::ValueTree &, bool hasModifierList)
 Creates a track with a given state.
 
 ~Track () override
 Destructor.
 
void refreshCurrentAutoParam ()
 Updates the current parameter bases on the set IDs.
 
juce::String getName () const override
 Returns the name of the Track.
 
void setName (const juce::String &)
 Sets the name of the Track.
 
void resetName ()
 Sets the name of the Track to an empty string.
 
virtual bool isAutomationTrack () const
 Returns true if this is an AutomationTrack.
 
virtual bool isFolderTrack () const
 Returns true if this is a FolderTrack.
 
virtual bool isMarkerTrack () const
 Returns true if this is a MarkerTrack.
 
virtual bool isTempoTrack () const
 Returns true if this is a TempoTrack.
 
virtual bool isChordTrack () const
 Returns true if this is a ChordTrack.
 
virtual bool isArrangerTrack () const
 Returns true if this is an ArrangerTrack.
 
virtual bool isMasterTrack () const
 Returns true if this is a MasterTrack.
 
bool canContainMarkers () const
 Returns true if this Track can contain MarkerClip[s].
 
bool canContainMIDI () const
 Returns true if this Track can contain MidiClip[s].
 
bool canContainAudio () const
 Returns true if this Track can contain WaveAudioClip[s].
 
bool canContainEditClips () const
 Returns true if this Track can contain EditClip[s].
 
bool canContainPlugins () const
 Returns true if this Track can contain Plugin[s].
 
bool isMovable () const
 Returns true if this Track is movable.
 
bool acceptsInput () const
 Returns true if this track can have inputs assigned to it.
 
bool createsOutput () const
 Returns true if this track creates audible output.
 
bool wantsAutomation () const
 Returns true if this track can show automation.
 
bool isHidden () const
 Returns true if this track should be hidden from view.
 
void setHidden (bool h)
 Sets whether this track should be hidden from view.
 
bool isProcessing (bool includeParents) const
 Returns true if this track should be included in playback.
 
void setProcessing (bool p)
 Sets whether this track should be included in playback.
 
juce::Array< Track * > getAllSubTracks (bool recursive) const
 Returns all nested tracks.
 
juce::Array< AudioTrack * > getAllAudioSubTracks (bool recursive) const
 Returns all nested AudioTrack[s].
 
TrackListgetSubTrackList () const
 Returns the TrackList if this Track has any sub-tracks.
 
bool hasSubTracks () const
 Returns true if this track has any subtracks.
 
TrackgetSiblingTrack (int delta, bool keepWithinSameParent) const
 Returns a sibling Track to this one.
 
juce::ValueTree getParentTrackTree () const
 Returns the state of the parent Track.
 
TrackgetParentTrack () const
 Returns the parent Track if this is a nested track.
 
FolderTrackgetParentFolderTrack () const
 Returns the parent FolderTrack if this is nested in one.
 
bool isAChildOf (const Track &possibleParent) const
 Tests whether this is a child of a given Track.
 
bool isPartOfSubmix () const
 Tests whether this nested within a submix FolderTrack.
 
int getIndexInEditTrackList () const
 Returns the index of this track in a flat list of tracks contained in an Edit.
 
int getTrackDepth () const
 Returns the number of parents within which this track is nested.
 
MuteAndSoloLightState getMuteAndSoloLightState () const
 Returns the mute a solo status.
 
bool shouldBePlayed () const noexcept
 Tests whether this track should be audible in the playback graph i.e.
 
void updateAudibility (bool areAnyTracksSolo)
 Updates the audibility state of the Track.
 
juce::Array< AutomatableParameter * > getAllAutomatableParams () const
 Returns all the parameters for this track's Plugin[s] and Modifier[s].
 
void visitAllAutomatableParams (const std::function< void(AutomatableParameter &)> &) const
 Visits all the parameters for this track's Plugin[s] and Modifier[s].
 
AutomatableParametergetCurrentlyShownAutoParam () const noexcept
 Returns the parameter whos curve should be shown on this Track.
 
void setCurrentlyShownAutoParam (const AutomatableParameter::Ptr &)
 Sets a parameter to display on this Track.
 
void hideAutomatableParametersForSource (EditItemID pluginOrParameterID)
 Hides a shown parameter if it matches the given ID.
 
bool hasFreezePointPlugin () const
 Tests whether this Track contains a FreezePointPlugin.
 
juce::Array< AutomatableEditItem * > getAllAutomatableEditItems () const
 Returns all AutomatableEditItem[s] on this Track.
 
void flipAllPluginsEnablement ()
 Toggles the Plugin::isEnabled state for all Plugin[s] on this Track.
 
ModifierListgetModifierList () const
 Returns the ModifierList for this track, if it has one.
 
void setColour (juce::Colour newColour)
 Sets a colour for this track to use.
 
juce::Colour getColour () const
 Returns the the of this.
 
bool canShowImage () const
 Tests whether this Track can show an image.
 
void setTrackImage (const juce::String &idOrData)
 Sets some image data to use.
 
juce::String getTrackImage () const
 Returns previously set image data.
 
bool imageHasChanged ()
 Tests and resets a flag internally kept when the image changes.
 
void setTags (const juce::StringArray &)
 Sets an array of Strings to use as tags.
 
juce::String getTags () const
 Returns the tags as a pipe-separated single String.
 
const juce::StringArraygetTagsArray () const noexcept
 Returns the array of tags.
 
- Public Member Functions inherited from tracktion::engine::EditItem
 EditItem (EditItemID, Edit &)
 
- Public Member Functions inherited from tracktion::engine::Selectable
virtual void selectionStatusChanged (bool isNowSelected)
 Can be overridden to tell this object that it has just been selected or deselected.
 
virtual void changed ()
 This should be called to send a change notification to any SelectableListeners that are registered with this object.
 
virtual void selectableAboutToBeDeleted ()
 Called just before the selectable is about to be deleted so any subclasses should still be valid at this point.
 
void addListener (SelectableListener *)
 
void removeListener (SelectableListener *)
 
void addSelectableListener (SelectableListener *)
 
void removeSelectableListener (SelectableListener *)
 
void cancelAnyPendingUpdates ()
 If changed() has been called, this will cancel any pending async change notificaions.
 
void deselect ()
 
void propertiesChanged ()
 
void notifyListenersOfDeletion ()
 
WeakRef getWeakRef ()
 
- Public Member Functions inherited from juce::ReferenceCountedObject
void incReferenceCount () noexcept
 
void decReferenceCount () noexcept
 
bool decReferenceCountWithoutDeleting () noexcept
 
int getReferenceCount () const noexcept
 
- Public Member Functions inherited from tracktion::engine::ClipOwner
 ClipOwner ()
 Constructs an empty ClipOwner.
 
virtual ~ClipOwner ()
 Destructor.
 
const juce::Array< Clip * > & getClips () const
 Returns the clips this owner contains.
 
- Public Member Functions inherited from tracktion::engine::MacroParameterElement
 MacroParameterElement (Edit &, const juce::ValueTree &)
 Constructor.
 
virtual ~MacroParameterElement ()=default
 Destructor.
 
MacroParameterListgetMacroParameterList ()
 If no parameters have been created, this may return nullptr.
 
MacroParameterListgetMacroParameterListForWriting ()
 This ensures that the list has been created.
 
juce::ReferenceCountedArray< MacroParametergetMacroParameters () const
 

Public Attributes

juce::CachedValue< AtomicWrapper< bool > > playSlotClips
 Determines if the track's arrange clips or clip slots should be audible.
 
- Public Attributes inherited from tracktion::engine::Track
juce::ValueTree state
 The state of this Track.
 
PluginList pluginList
 The Track's PluginList.
 
- Public Attributes inherited from tracktion::engine::EditItem
Editedit
 
const EditItemID itemID
 Every EditItem has an ID which is unique within the edit.
 
- Public Attributes inherited from tracktion::engine::Selectable
WeakRef::Master masterReference
 
- Public Attributes inherited from tracktion::engine::MacroParameterElement
EditownerEdit
 
juce::ValueTree parentStateForList
 

Protected Member Functions

void valueTreePropertyChanged (juce::ValueTree &, const juce::Identifier &) override
 
void valueTreeParentChanged (juce::ValueTree &v) override
 
bool isTrackAudible (bool areAnyTracksSolo) const override
 Returns whether this Track should be audible.
 
void timerCallback () override
 
- Protected Member Functions inherited from tracktion::engine::ClipTrack
juce::Array< TimePositionfindAllTimesOfInterest ()
 
void refreshTrackItems () const
 
- Protected Member Functions inherited from tracktion::engine::Track
void valueTreePropertyChanged (juce::ValueTree &, const juce::Identifier &) override
 
void valueTreeChildAdded (juce::ValueTree &, juce::ValueTree &) override
 
void valueTreeChildRemoved (juce::ValueTree &, juce::ValueTree &, int) override
 
void valueTreeChildOrderChanged (juce::ValueTree &, int, int) override
 
void valueTreeParentChanged (juce::ValueTree &) override
 
void handleAsyncUpdate () override
 
- Protected Member Functions inherited from juce::ReferenceCountedObject
 ReferenceCountedObject (const ReferenceCountedObject &) noexcept
 
 ReferenceCountedObject (ReferenceCountedObject &&) noexcept
 
ReferenceCountedObjectoperator= (const ReferenceCountedObject &) noexcept
 
ReferenceCountedObjectoperator= (ReferenceCountedObject &&) noexcept
 
void resetReferenceCount () noexcept
 
- Protected Member Functions inherited from juce::ValueTree::Listener
virtual void valueTreeRedirected (ValueTree &treeWhichHasBeenChanged)
 
- Protected Member Functions inherited from juce::AsyncUpdater
void triggerAsyncUpdate ()
 
void cancelPendingUpdate () noexcept
 
void handleUpdateNowIfNeeded ()
 
bool isUpdatePending () const noexcept
 
- Protected Member Functions inherited from tracktion::engine::ClipOwner
void initialiseClipOwner (Edit &, juce::ValueTree clipParentState)
 Must be called once from the subclass constructor to init the clip owner.
 

Friends

struct TrackMuter
 
class Edit
 
class Clip
 

Additional Inherited Members

- 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.
 
- Static Public Attributes inherited from tracktion::engine::Track
static const int minTrackHeightForDetail
 The minimim height to show track contents at.
 
static const int trackHeightForEditor
 The height at which inline editors should be shown.
 
static const int frozenTrackHeight
 The height to show group frozen tracks.
 
- Protected Attributes inherited from tracktion::engine::ClipTrack
std::unique_ptr< CollectionClipListcollectionClipList
 
bool trackItemsDirty
 
juce::Array< TrackItem * > trackItems
 

Detailed Description

Definition at line 15 of file tracktion_AudioTrack.h.

Member Typedef Documentation

◆ Ptr

Definition at line 23 of file tracktion_AudioTrack.h.

Constructor & Destructor Documentation

◆ AudioTrack()

tracktion::engine::AudioTrack::AudioTrack ( Edit ed,
const juce::ValueTree v 
)

Definition at line 95 of file tracktion_AudioTrack.cpp.

◆ ~AudioTrack()

tracktion::engine::AudioTrack::~AudioTrack ( )
override

Definition at line 149 of file tracktion_AudioTrack.cpp.

Member Function Documentation

◆ addListener()

void tracktion::engine::AudioTrack::addListener ( Listener l)

Adds a Listener.

This will automatically call Edit::restartPlayback for the callbacks to take effect.

Definition at line 749 of file tracktion_AudioTrack.cpp.

◆ areMidiPatchesZeroBased()

bool tracktion::engine::AudioTrack::areMidiPatchesZeroBased ( ) const

Definition at line 348 of file tracktion_AudioTrack.cpp.

◆ canContainPlugin()

bool tracktion::engine::AudioTrack::canContainPlugin ( Plugin ) const
overridevirtual

Returns true if this track can contain a specific Plugin.

Subclasses can override this to avoid specific plugins such as VCAPlugin[s] on AudioTrack[s].

Implements tracktion::engine::Track.

Definition at line 997 of file tracktion_AudioTrack.cpp.

◆ canPlayAudio()

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

checks whether audio clips can be played - i.e.

can they make it past the plugins, and is the track going to an audio output

Definition at line 573 of file tracktion_AudioTrack.cpp.

◆ canPlayMidi()

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

Definition at line 585 of file tracktion_AudioTrack.cpp.

◆ clearGhostTracks()

void tracktion::engine::AudioTrack::clearGhostTracks ( )

Definition at line 129 of file tracktion_AudioTrack.h.

◆ clearMidiNoteNames()

void tracktion::engine::AudioTrack::clearMidiNoteNames ( )

Definition at line 137 of file tracktion_AudioTrack.h.

◆ findSidechainSourceTracks()

juce::Array< Track * > tracktion::engine::AudioTrack::findSidechainSourceTracks ( ) const

Definition at line 1197 of file tracktion_AudioTrack.cpp.

◆ freezeTrackAsync()

void tracktion::engine::AudioTrack::freezeTrackAsync ( ) const

Definition at line 1127 of file tracktion_AudioTrack.cpp.

◆ getAudioTrackNumber()

int tracktion::engine::AudioTrack::getAudioTrackNumber ( ) const
noexcept

Definition at line 212 of file tracktion_AudioTrack.cpp.

◆ getAuxSendPlugin()

AuxSendPlugin * tracktion::engine::AudioTrack::getAuxSendPlugin ( int  bus = -1,
AuxPosition  ap = AuxPosition::byBus 
) const

Definition at line 254 of file tracktion_AudioTrack.cpp.

◆ getClipSlotList()

ClipSlotList & tracktion::engine::AudioTrack::getClipSlotList ( )

Returns the ClipSlotList for this track.

Definition at line 604 of file tracktion_AudioTrack.cpp.

◆ getCompGroup()

int tracktion::engine::AudioTrack::getCompGroup ( ) const
noexcept

Definition at line 132 of file tracktion_AudioTrack.h.

◆ getEqualiserPlugin()

EqualiserPlugin * tracktion::engine::AudioTrack::getEqualiserPlugin ( )

Definition at line 252 of file tracktion_AudioTrack.cpp.

◆ getGhostTracks()

juce::Array< AudioTrack * > tracktion::engine::AudioTrack::getGhostTracks ( ) const

Definition at line 664 of file tracktion_AudioTrack.cpp.

◆ getIdForBank()

int tracktion::engine::AudioTrack::getIdForBank ( int  bank) const

Definition at line 383 of file tracktion_AudioTrack.cpp.

◆ getInputTracks()

juce::Array< Track * > tracktion::engine::AudioTrack::getInputTracks ( ) const
overridevirtual

Should return any tracks which feed into this track.

Reimplemented from tracktion::engine::Track.

Definition at line 910 of file tracktion_AudioTrack.cpp.

◆ getLauncherPlayabilityWarning()

juce::String tracktion::engine::AudioTrack::getLauncherPlayabilityWarning ( ) const

Definition at line 530 of file tracktion_AudioTrack.cpp.

◆ getLevelMeterPlugin()

LevelMeterPlugin * tracktion::engine::AudioTrack::getLevelMeterPlugin ( )

Definition at line 251 of file tracktion_AudioTrack.cpp.

◆ getListeners()

juce::ListenerList< Listener > & tracktion::engine::AudioTrack::getListeners ( )

Returns the listener list so Nodes can manually call them.

Definition at line 195 of file tracktion_AudioTrack.h.

◆ getMaxNumOfInputs()

int tracktion::engine::AudioTrack::getMaxNumOfInputs ( ) const
noexcept

Definition at line 82 of file tracktion_AudioTrack.h.

◆ getMidiInputDevice()

MidiInputDevice & tracktion::engine::AudioTrack::getMidiInputDevice ( ) const
noexcept

Definition at line 78 of file tracktion_AudioTrack.h.

◆ getMidiVerticalOffset()

double tracktion::engine::AudioTrack::getMidiVerticalOffset ( ) const

Definition at line 613 of file tracktion_AudioTrack.cpp.

◆ getMidiVisibleProportion()

double tracktion::engine::AudioTrack::getMidiVisibleProportion ( ) const

vertical scales for displaying the midi note editor

Definition at line 618 of file tracktion_AudioTrack.cpp.

◆ getName()

juce::String tracktion::engine::AudioTrack::getName ( ) const
overridevirtual

Implements tracktion::engine::EditItem.

Definition at line 204 of file tracktion_AudioTrack.cpp.

◆ getNameAsTrackNumber()

juce::String tracktion::engine::AudioTrack::getNameAsTrackNumber ( ) const

Returns a name in the form "Track [number]".

Definition at line 230 of file tracktion_AudioTrack.cpp.

◆ getNameAsTrackNumberWithDescription()

juce::String tracktion::engine::AudioTrack::getNameAsTrackNumberWithDescription ( ) const

Returns a name in the form "Track [number] ([track name])" (This is smart enough to not add the parenthesised name if it's just a "Track X" type name)

Definition at line 235 of file tracktion_AudioTrack.cpp.

◆ getNameForBank()

juce::String tracktion::engine::AudioTrack::getNameForBank ( int  bank) const

Definition at line 361 of file tracktion_AudioTrack.cpp.

◆ getNameForMidiNoteNumber()

juce::String tracktion::engine::AudioTrack::getNameForMidiNoteNumber ( int  note,
int  midiChannel,
bool  preferSharp = true 
) const

looks for a name for a midi note by trying all the plugins, and returning a default on failure.

midiChannel is 1-16

Definition at line 284 of file tracktion_AudioTrack.cpp.

◆ getNameForProgramNumber()

juce::String tracktion::engine::AudioTrack::getNameForProgramNumber ( int  programNumber,
int  bank 
) const

prog number is 0 based.

Definition at line 394 of file tracktion_AudioTrack.cpp.

◆ getOutput()

TrackOutput & tracktion::engine::AudioTrack::getOutput ( ) const
noexcept

Definition at line 80 of file tracktion_AudioTrack.h.

◆ getSelectableDescription()

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

Subclasses must return a description of what they are.

Implements tracktion::engine::Selectable.

Definition at line 245 of file tracktion_AudioTrack.cpp.

◆ getTrackPlayabilityWarning()

juce::String tracktion::engine::AudioTrack::getTrackPlayabilityWarning ( ) const

returns a warning message about this track not being playable, or "" if it's ok

Definition at line 496 of file tracktion_AudioTrack.cpp.

◆ getVolumePlugin()

VolumeAndPanPlugin * tracktion::engine::AudioTrack::getVolumePlugin ( )

Definition at line 250 of file tracktion_AudioTrack.cpp.

◆ getWaveInputDevice()

WaveInputDevice & tracktion::engine::AudioTrack::getWaveInputDevice ( ) const
noexcept

Definition at line 77 of file tracktion_AudioTrack.h.

◆ hasAnyLiveInputs()

bool tracktion::engine::AudioTrack::hasAnyLiveInputs ( )

Definition at line 846 of file tracktion_AudioTrack.cpp.

◆ hasAnyTracksFeedingIn()

bool tracktion::engine::AudioTrack::hasAnyTracksFeedingIn ( )

Definition at line 855 of file tracktion_AudioTrack.cpp.

◆ hasMidiNoteNames()

bool tracktion::engine::AudioTrack::hasMidiNoteNames ( )

Definition at line 136 of file tracktion_AudioTrack.h.

◆ initialise()

void tracktion::engine::AudioTrack::initialise ( )
overridevirtual

Initialises the Track.

You shouldn't need to call this directly, it will be called by the track creation methods.

See also
Edit::insertTrack

Reimplemented from tracktion::engine::Track.

Definition at line 168 of file tracktion_AudioTrack.cpp.

◆ injectLiveMidiMessage() [1/2]

void tracktion::engine::AudioTrack::injectLiveMidiMessage ( const juce::MidiMessage m,
MidiMessageArray::MPESourceID  source 
)

Definition at line 875 of file tracktion_AudioTrack.cpp.

◆ injectLiveMidiMessage() [2/2]

void tracktion::engine::AudioTrack::injectLiveMidiMessage ( const MidiMessageArray::MidiMessageWithSource message)

Definition at line 865 of file tracktion_AudioTrack.cpp.

◆ insertFreezePointAfterPlugin()

void tracktion::engine::AudioTrack::insertFreezePointAfterPlugin ( const Plugin::Ptr p)

Definition at line 1090 of file tracktion_AudioTrack.cpp.

◆ isAudioTrack()

bool tracktion::engine::AudioTrack::isAudioTrack ( ) const
overridevirtual

Returns true if this is an AudioTrack.

Reimplemented from tracktion::engine::Track.

Definition at line 26 of file tracktion_AudioTrack.h.

◆ isFrozen()

bool tracktion::engine::AudioTrack::isFrozen ( FreezeType  ) const
overridevirtual

Returns true if this track is frozen using the given type.

Reimplemented from tracktion::engine::Track.

Definition at line 946 of file tracktion_AudioTrack.cpp.

◆ isMuted()

bool tracktion::engine::AudioTrack::isMuted ( bool  ) const
overridevirtual

Returns true if this track is muted.

Parameters
includeMutingByDestinationIf this is true, this will retrn true if any tracks this feeds in to are muted.

Reimplemented from tracktion::engine::Track.

Definition at line 421 of file tracktion_AudioTrack.cpp.

◆ isSolo()

bool tracktion::engine::AudioTrack::isSolo ( bool  ) const
overridevirtual

Returns true if this track is soloed.

Parameters
includeIndirectSoloIf this is true, this will retrn true if any tracks this feeds in to are soloed.

Reimplemented from tracktion::engine::Track.

Definition at line 438 of file tracktion_AudioTrack.cpp.

◆ isSoloIsolate()

bool tracktion::engine::AudioTrack::isSoloIsolate ( bool  ) const
overridevirtual

Returns true if this track is solo isolated.

Parameters
includeIndirectSoloIf this is true, this will retrn true if any tracks this feeds in to are solo isolated.

Reimplemented from tracktion::engine::Track.

Definition at line 458 of file tracktion_AudioTrack.cpp.

◆ isTrackAudible()

bool tracktion::engine::AudioTrack::isTrackAudible ( bool  areAnyTracksSolo) const
overrideprotectedvirtual

Returns whether this Track should be audible.

Subclasses can override for custom behaviour.

Reimplemented from tracktion::engine::Track.

Definition at line 487 of file tracktion_AudioTrack.cpp.

◆ loadMidiNoteNames()

void tracktion::engine::AudioTrack::loadMidiNoteNames ( const juce::String  namesFile)

Definition at line 138 of file tracktion_AudioTrack.h.

◆ mergeInMidiSequence()

bool tracktion::engine::AudioTrack::mergeInMidiSequence ( juce::MidiMessageSequence  ms,
TimePosition  startTime,
MidiClip mc,
MidiList::NoteAutomationType  automationType 
)

try to add this MIDI sequence to any MIDI clips that are already in the track.

Returns
False if there's no existing clips in the places it needs them.

Definition at line 880 of file tracktion_AudioTrack.cpp.

◆ playGuideNote()

void tracktion::engine::AudioTrack::playGuideNote ( int  note,
MidiChannel  midiChannel,
int  velocity,
bool  stopOtherFirst = true,
bool  forceNote = false,
bool  autorelease = false 
)

Definition at line 678 of file tracktion_AudioTrack.cpp.

◆ playGuideNotes()

void tracktion::engine::AudioTrack::playGuideNotes ( const juce::Array< int > &  notes,
MidiChannel  midiChannel,
const juce::Array< int > &  velocities,
bool  stopOthersFirst = true 
)

Definition at line 703 of file tracktion_AudioTrack.cpp.

◆ processAudioNodesWhileMuted()

bool tracktion::engine::AudioTrack::processAudioNodesWhileMuted ( ) const
overridevirtual

Subclasses can override this to ensure track contents are still played even when the track is muted.

This may be required if this track is a sidechain source or feeding an aux for example.

Reimplemented from tracktion::engine::Track.

Definition at line 48 of file tracktion_AudioTrack.h.

◆ removeFreezePoint()

void tracktion::engine::AudioTrack::removeFreezePoint ( )

Definition at line 1104 of file tracktion_AudioTrack.cpp.

◆ removeListener()

void tracktion::engine::AudioTrack::removeListener ( Listener l)

Removes a Listener.

Definition at line 757 of file tracktion_AudioTrack.cpp.

◆ sanityCheckName()

void tracktion::engine::AudioTrack::sanityCheckName ( )
overridevirtual

checks whether the name is 'track n' and if so, makes sure the number is right

Reimplemented from tracktion::engine::Track.

Definition at line 183 of file tracktion_AudioTrack.cpp.

◆ setCompGroup()

void tracktion::engine::AudioTrack::setCompGroup ( int  groupIndex)

Definition at line 133 of file tracktion_AudioTrack.h.

◆ setFrozen()

void tracktion::engine::AudioTrack::setFrozen ( bool  ,
FreezeType   
)
overridevirtual

Attempts to freeze or unfreeze the track using a given FreezeType.

Reimplemented from tracktion::engine::Track.

Definition at line 952 of file tracktion_AudioTrack.cpp.

◆ setMaxNumOfInputs()

void tracktion::engine::AudioTrack::setMaxNumOfInputs ( int  newMaxNumber)

Definition at line 936 of file tracktion_AudioTrack.cpp.

◆ setMidiVerticalPos()

void tracktion::engine::AudioTrack::setMidiVerticalPos ( double  visibleProp,
double  offset 
)

Definition at line 623 of file tracktion_AudioTrack.cpp.

◆ setMute()

void tracktion::engine::AudioTrack::setMute ( bool  )
overridevirtual

Subclasses should implement this to mute themselves.

Reimplemented from tracktion::engine::Track.

Definition at line 417 of file tracktion_AudioTrack.cpp.

◆ setSolo()

void tracktion::engine::AudioTrack::setSolo ( bool  )
overridevirtual

Subclasses should implement this to solo themselves.

Reimplemented from tracktion::engine::Track.

Definition at line 418 of file tracktion_AudioTrack.cpp.

◆ setSoloIsolate()

void tracktion::engine::AudioTrack::setSoloIsolate ( bool  )
overridevirtual

Subclasses should implement this to solo isolate themselves.

Reimplemented from tracktion::engine::Track.

Definition at line 419 of file tracktion_AudioTrack.cpp.

◆ setTrackToGhost()

void tracktion::engine::AudioTrack::setTrackToGhost ( AudioTrack track,
bool  shouldGhost 
)

Definition at line 645 of file tracktion_AudioTrack.cpp.

◆ setVerticalScaleToDefault()

void tracktion::engine::AudioTrack::setVerticalScaleToDefault ( )

Definition at line 633 of file tracktion_AudioTrack.cpp.

◆ timerCallback()

void tracktion::engine::AudioTrack::timerCallback ( )
overrideprotectedvirtual

Implements juce::Timer.

Definition at line 203 of file tracktion_AudioTrack.h.

◆ turnOffGuideNotes() [1/2]

void tracktion::engine::AudioTrack::turnOffGuideNotes ( )

Definition at line 728 of file tracktion_AudioTrack.cpp.

◆ turnOffGuideNotes() [2/2]

void tracktion::engine::AudioTrack::turnOffGuideNotes ( MidiChannel  midiChannel)

Definition at line 736 of file tracktion_AudioTrack.cpp.

◆ valueTreeParentChanged()

void tracktion::engine::AudioTrack::valueTreeParentChanged ( juce::ValueTree v)
overrideprotectedvirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 836 of file tracktion_AudioTrack.cpp.

◆ valueTreePropertyChanged()

void tracktion::engine::AudioTrack::valueTreePropertyChanged ( juce::ValueTree v,
const juce::Identifier i 
)
overrideprotectedvirtual

Reimplemented from juce::ValueTree::Listener.

Definition at line 764 of file tracktion_AudioTrack.cpp.

Friends And Related Symbol Documentation

◆ Clip

friend class Clip
friend

Definition at line 211 of file tracktion_AudioTrack.h.

◆ Edit

friend class Edit
friend

Definition at line 210 of file tracktion_AudioTrack.h.

◆ TrackMuter

friend struct TrackMuter
friend

Definition at line 209 of file tracktion_AudioTrack.h.

Member Data Documentation

◆ playSlotClips

juce::CachedValue<AtomicWrapper<bool> > tracktion::engine::AudioTrack::playSlotClips

Determines if the track's arrange clips or clip slots should be audible.

Definition at line 51 of file tracktion_AudioTrack.h.


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