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 | Friends | List of all members
tracktion::engine::WarpTimeManager Class Reference

A WarpTimeManager contains a list of WarpMarkers and some source material and maps times from a linear "view" time to a "wapred" source time. More...

#include "tracktion_WarpTimeManager.h"

Inheritance diagram for tracktion::engine::WarpTimeManager:
juce::SingleThreadedReferenceCountedObject tracktion::engine::RenderManager::Job::Listener

Public Types

using Ptr = juce::ReferenceCountedObjectPtr< WarpTimeManager >
 

Public Member Functions

 WarpTimeManager (AudioClipBase &)
 Creates a WarpTimeManager to warp a clip.
 
 WarpTimeManager (Edit &, const AudioFile &sourceFile, juce::ValueTree parentTree)
 Creates a WarpTimeManager to warp an audio file.
 
 ~WarpTimeManager () override
 Destructor.
 
void setSourceFile (const AudioFile &)
 Sets a source fiel to warp.
 
AudioFile getSourceFile () const
 Returns the current source file.
 
TimeDuration getSourceLength () const
 Returns the length of the source file.
 
bool isWarpEndMarkerEnabled () const noexcept
 Returns true if the end marker is being used as the end of the source material.
 
bool areEndMarkersLimited () const noexcept
 Returns true if the markers are limited to the end of the source length.
 
const juce::Array< WarpMarker * > & getMarkers () const
 Returns a list of the current WarpMarkers.
 
int insertMarker (WarpMarker)
 Inserts a new WarpMarker.
 
void removeMarker (int index)
 Removes a WarpMarker at a given index.
 
void removeAllMarkers ()
 Removes all WarpMarkers.
 
TimePosition moveMarker (int index, TimePosition newWarpTime)
 Moves a WarpMarker at a given index to a new time.
 
void setWarpEndMarkerTime (TimePosition endTime)
 Sets the end time of the source material.
 
juce::Array< TimeRange > getWarpTimeRegions (TimeRange overallTimeRegion) const
 Time region can be longer than the clip and the returned array will loop over the clip to match the length.
 
std::pair< bool, juce::Array< TimePosition > > getTransientTimes () const
 Returns an array of transient times that have been detected from the source file.
 
TimePosition warpTimeToSourceTime (TimePosition warpTime) const
 Converts a warp time (i.e.
 
TimePosition sourceTimeToWarpTime (TimePosition sourceTime) const
 Converts a source time (i.e.
 
TimePosition getWarpedStart () const
 Returns the start time of the warped region (can be -ve)
 
TimePosition getWarpedEnd () const
 Returns the endTime of the entire warped region.
 
TimePosition getWarpEndMarkerTime () const
 Sets position in warped region of the redered file end point.
 
HashCode getHash () const
 Returns a hash representing this warp list.
 
void editFinishedLoading ()
 
- Public Member Functions inherited from juce::SingleThreadedReferenceCountedObject
void incReferenceCount () noexcept
 
void decReferenceCount () noexcept
 
bool decReferenceCountWithoutDeleting () noexcept
 
int getReferenceCount () const noexcept
 
- Public Member Functions inherited from tracktion::engine::RenderManager::Job::Listener
virtual void jobStarted (RenderManager::Job &)
 

Public Attributes

Editedit
 
juce::ValueTree state
 

Friends

class WarpTimeFactory
 

Additional Inherited Members

- Protected Member Functions inherited from juce::SingleThreadedReferenceCountedObject
 SingleThreadedReferenceCountedObject (const SingleThreadedReferenceCountedObject &)
 
 SingleThreadedReferenceCountedObject (SingleThreadedReferenceCountedObject &&)
 
SingleThreadedReferenceCountedObjectoperator= (const SingleThreadedReferenceCountedObject &)
 
SingleThreadedReferenceCountedObjectoperator= (SingleThreadedReferenceCountedObject &&)
 

Detailed Description

A WarpTimeManager contains a list of WarpMarkers and some source material and maps times from a linear "view" time to a "wapred" source time.

Once created this can be used to generate an AudioSegmentList to play the source material back warped.

Definition at line 62 of file tracktion_WarpTimeManager.h.

Member Typedef Documentation

◆ Ptr

Definition at line 67 of file tracktion_WarpTimeManager.h.

Constructor & Destructor Documentation

◆ WarpTimeManager() [1/2]

tracktion::engine::WarpTimeManager::WarpTimeManager ( AudioClipBase c)

Creates a WarpTimeManager to warp a clip.

Definition at line 228 of file tracktion_WarpTimeManager.cpp.

◆ WarpTimeManager() [2/2]

tracktion::engine::WarpTimeManager::WarpTimeManager ( Edit e,
const AudioFile sourceFile,
juce::ValueTree  parentTree 
)

Creates a WarpTimeManager to warp an audio file.

The WarpMarker state will get added to the parentTree as a child.

Definition at line 250 of file tracktion_WarpTimeManager.cpp.

◆ ~WarpTimeManager()

tracktion::engine::WarpTimeManager::~WarpTimeManager ( )
override

Destructor.

Definition at line 262 of file tracktion_WarpTimeManager.cpp.

Member Function Documentation

◆ areEndMarkersLimited()

bool tracktion::engine::WarpTimeManager::areEndMarkersLimited ( ) const
noexcept

Returns true if the markers are limited to the end of the source length.

See also
getSourceLength

Definition at line 99 of file tracktion_WarpTimeManager.h.

◆ editFinishedLoading()

void tracktion::engine::WarpTimeManager::editFinishedLoading ( )

Definition at line 549 of file tracktion_WarpTimeManager.cpp.

◆ getHash()

HashCode tracktion::engine::WarpTimeManager::getHash ( ) const

Returns a hash representing this warp list.

Definition at line 529 of file tracktion_WarpTimeManager.cpp.

◆ getMarkers()

const juce::Array< WarpMarker * > & tracktion::engine::WarpTimeManager::getMarkers ( ) const

Returns a list of the current WarpMarkers.

Definition at line 102 of file tracktion_WarpTimeManager.h.

◆ getSourceFile()

AudioFile tracktion::engine::WarpTimeManager::getSourceFile ( ) const

Returns the current source file.

Definition at line 291 of file tracktion_WarpTimeManager.cpp.

◆ getSourceLength()

TimeDuration tracktion::engine::WarpTimeManager::getSourceLength ( ) const

Returns the length of the source file.

Definition at line 296 of file tracktion_WarpTimeManager.cpp.

◆ getTransientTimes()

std::pair< bool, juce::Array< TimePosition > > tracktion::engine::WarpTimeManager::getTransientTimes ( ) const

Returns an array of transient times that have been detected from the source file.

The bool here will be false if the detection job hasn't finished running yet so call it again peridically until it is true.

Definition at line 129 of file tracktion_WarpTimeManager.h.

◆ getWarpedEnd()

TimePosition tracktion::engine::WarpTimeManager::getWarpedEnd ( ) const

Returns the endTime of the entire warped region.

Definition at line 522 of file tracktion_WarpTimeManager.cpp.

◆ getWarpedStart()

TimePosition tracktion::engine::WarpTimeManager::getWarpedStart ( ) const

Returns the start time of the warped region (can be -ve)

Definition at line 515 of file tracktion_WarpTimeManager.cpp.

◆ getWarpEndMarkerTime()

TimePosition tracktion::engine::WarpTimeManager::getWarpEndMarkerTime ( ) const

Sets position in warped region of the redered file end point.

Definition at line 541 of file tracktion_WarpTimeManager.cpp.

◆ getWarpTimeRegions()

juce::Array< TimeRange > tracktion::engine::WarpTimeManager::getWarpTimeRegions ( TimeRange  overallTimeRegion) const

Time region can be longer than the clip and the returned array will loop over the clip to match the length.

Definition at line 383 of file tracktion_WarpTimeManager.cpp.

◆ insertMarker()

int tracktion::engine::WarpTimeManager::insertMarker ( WarpMarker  marker)

Inserts a new WarpMarker.

Definition at line 301 of file tracktion_WarpTimeManager.cpp.

◆ isWarpEndMarkerEnabled()

bool tracktion::engine::WarpTimeManager::isWarpEndMarkerEnabled ( ) const
noexcept

Returns true if the end marker is being used as the end of the source material.

See also
setWarpEndMarkerTime

Definition at line 94 of file tracktion_WarpTimeManager.h.

◆ moveMarker()

TimePosition tracktion::engine::WarpTimeManager::moveMarker ( int  index,
TimePosition  newWarpTime 
)

Moves a WarpMarker at a given index to a new time.

Definition at line 335 of file tracktion_WarpTimeManager.cpp.

◆ removeAllMarkers()

void tracktion::engine::WarpTimeManager::removeAllMarkers ( )

Removes all WarpMarkers.

Definition at line 325 of file tracktion_WarpTimeManager.cpp.

◆ removeMarker()

void tracktion::engine::WarpTimeManager::removeMarker ( int  index)

Removes a WarpMarker at a given index.

Definition at line 317 of file tracktion_WarpTimeManager.cpp.

◆ setSourceFile()

void tracktion::engine::WarpTimeManager::setSourceFile ( const AudioFile af)

Sets a source fiel to warp.

Definition at line 271 of file tracktion_WarpTimeManager.cpp.

◆ setWarpEndMarkerTime()

void tracktion::engine::WarpTimeManager::setWarpEndMarkerTime ( TimePosition  endTime)

Sets the end time of the source material.

Only functional if isWarpEndMarkerEnabled returns true.

Definition at line 377 of file tracktion_WarpTimeManager.cpp.

◆ sourceTimeToWarpTime()

TimePosition tracktion::engine::WarpTimeManager::sourceTimeToWarpTime ( TimePosition  sourceTime) const

Converts a source time (i.e.

time in the file) to a linear time after warping has been applied.

Definition at line 481 of file tracktion_WarpTimeManager.cpp.

◆ warpTimeToSourceTime()

TimePosition tracktion::engine::WarpTimeManager::warpTimeToSourceTime ( TimePosition  warpTime) const

Converts a warp time (i.e.

a linear time) to the time in the source file after warping has been applied.

Definition at line 426 of file tracktion_WarpTimeManager.cpp.

Friends And Related Symbol Documentation

◆ WarpTimeFactory

friend class WarpTimeFactory
friend

Definition at line 195 of file tracktion_WarpTimeManager.h.

Member Data Documentation

◆ edit

Edit& tracktion::engine::WarpTimeManager::edit

Definition at line 152 of file tracktion_WarpTimeManager.h.

◆ state

juce::ValueTree tracktion::engine::WarpTimeManager::state

Definition at line 153 of file tracktion_WarpTimeManager.h.


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