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

« « « Anklang Documentation
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
tracktion::engine::RenderOptions Class Reference

Represents a set of user properties used to control a render operation, using a ValueTree to hold them so that they can be saved and reloaded. More...

#include "tracktion_RenderOptions.h"

Inheritance diagram for tracktion::engine::RenderOptions:
juce::ValueTree::Listener

Public Types

enum  TargetFileFormat {
  wav , aiff , flac , ogg ,
  mp3 , midi , numFormats
}
 
enum  AddRenderOptions {
  addTrack , replaceTrack , nextTrack , thisTrack ,
  replaceClips , none
}
 Enum to set the options for renders. More...
 
enum class  RenderType {
  editClip , clip , track , midi ,
  allExport
}
 Enum to determine the type of UI this RenderOptions represents. More...
 

Public Member Functions

 RenderOptions (Engine &)
 
 RenderOptions (const RenderOptions &, juce::UndoManager *)
 
 RenderOptions (Engine &, const juce::ValueTree &, juce::UndoManager *)
 
 RenderOptions (const RenderOptions &)=delete
 
 RenderOptions (RenderOptions &&)=delete
 
RenderOptions operator= (const RenderOptions &)=delete
 
RenderOptions operator= (RenderOptions &&)=delete
 
void loadFromUserSettings ()
 
void saveToUserSettings ()
 
void setToDefault ()
 
RenderManager::Job::Ptr performBackgroundRender (Edit &, SelectionManager *, TimeRange timeRangeToRender)
 Performs the render operation on a background thread.
 
HashCode getHash () const noexcept
 Returns a hash representing the current set of render options.
 
Renderer::Parameters getRenderParameters (Edit &, SelectionManager *, TimeRange markedRegion)
 Returns a set of renderer parameters which can be used to describe a render operation.
 
Renderer::Parameters getRenderParameters (Edit &)
 
Renderer::Parameters getRenderParameters (EditClip &)
 
Renderer::Parameters getRenderParameters (MidiClip &)
 
juce::AudioFormatgetAudioFormat ()
 Returns an AudioFormat to use for the current render properties.
 
Clip::Ptr applyRenderToEdit (Edit &, ProjectItem::Ptr, TimeRange time, SelectionManager *) const
 Adds the given ProjectItem to the Edit using the render properties for positioning info.
 
bool getUINeedsRefresh ()
 If you've chnaged a property that will cause the UI configuration to change this will return true which you should rebuild the property set from.
 
void setUINeedsRefresh ()
 
bool isEditClipRender () const
 
bool isClipRender () const
 
bool isTrackRender () const
 
bool isMidiRender () const
 
bool isExportAll () const
 
bool isRender () const
 
TargetFileFormat setFormat (TargetFileFormat)
 
void setFormatType (const juce::String &typeString)
 
juce::String getFormatTypeName (TargetFileFormat)
 
juce::Array< EditItemIDgetTrackIDs () const
 
void setTrackIDs (const juce::Array< EditItemID > &)
 
HashCode getTracksHash () const
 
void setSampleRate (int)
 
void setBitDepth (int depth)
 
juce::StringArray getQualitiesList () const
 
int getQualityIndex () const
 
void setQualityIndex (int q)
 
juce::File getDestFile () const noexcept
 
juce::String getFileExtension () const
 
TargetFileFormat getFormat () const noexcept
 
int getBitDepth () const
 
bool getStereo () const
 
double getSampleRate () const
 
bool shouldAddMetadata () const
 
bool shouldAddAcidMetadata () const
 
juce::BigInteger getTrackIndexes (const Edit &) const
 
bool getRemoveSilence () const noexcept
 
bool getMarkedRegion () const noexcept
 
int getNumTracks () const noexcept
 
void setSelected (bool onlySelectedTrackAndClips)
 
void setMarkedRegion (bool onlyMarked)
 
void setIncludePlugins (bool includePlugins)
 
void setAddRenderOption (AddRenderOptions options)
 
void setEndAllowance (TimeDuration time)
 
void setFilename (juce::String, bool canPromptToOverwriteExisting)
 
void updateHash ()
 
juce::StringArray getFormatTypes ()
 
juce::StringArray getAddRenderOptionText ()
 

Static Public Member Functions

static std::unique_ptr< RenderOptionsforGeneralExporter (Edit &)
 Creates a default RenderOptions object for a general purpose exporter.
 
static std::unique_ptr< RenderOptionsforTrackRender (juce::Array< Track * > tracks, AddRenderOptions addOption)
 
static std::unique_ptr< RenderOptionsforClipRender (juce::Array< Clip * > clips, bool midiNotes)
 
static std::unique_ptr< RenderOptionsforEditClip (Clip &editClip)
 
static TimeDuration findEndAllowance (Edit &, juce::Array< EditItemID > *tracks, juce::Array< Clip * > *)
 
static bool isMarkedRegionBigEnough (TimeRange)
 

Public Attributes

Engineengine
 
juce::CachedValue< RenderTypetype
 
juce::CachedValue< juce::StringtracksProperty
 
juce::CachedValue< bool > createMidiFile
 
juce::CachedValue< TargetFileFormat > format
 
juce::CachedValue< bool > stereo
 
juce::CachedValue< doublesampleRate
 
juce::CachedValue< intbitDepth
 
juce::CachedValue< intqualityIndex
 
juce::CachedValue< doublermsLevelDb
 
juce::CachedValue< doublepeakLevelDb
 
juce::CachedValue< bool > removeSilence
 
juce::CachedValue< bool > normalise
 
juce::CachedValue< bool > dither
 
juce::CachedValue< bool > adjustBasedOnRMS
 
juce::CachedValue< bool > markedRegion
 
juce::CachedValue< bool > selectedTracks
 
juce::CachedValue< bool > selectedClips
 
juce::CachedValue< bool > tracksToSeparateFiles
 
juce::CachedValue< bool > realTime
 
juce::CachedValue< bool > usePlugins
 
juce::CachedValue< AddRenderOptionsaddRenderOptions
 
juce::CachedValue< bool > addRenderToLibrary
 
juce::CachedValue< bool > reverseRender
 
juce::CachedValue< bool > addMetadata
 
juce::CachedValue< bool > addAcidMetadata
 
std::function< void(AudioClipBase &)> offerToAddClipToLibrary
 
std::function< void(const juce::File &)> offerToAddFileToLibrary
 

Detailed Description

Represents a set of user properties used to control a render operation, using a ValueTree to hold them so that they can be saved and reloaded.

They can also be converted into a set of Renderer::Properties.

Definition at line 19 of file tracktion_RenderOptions.h.

Member Enumeration Documentation

◆ AddRenderOptions

Enum to set the options for renders.

Definition at line 34 of file tracktion_RenderOptions.h.

◆ RenderType

Enum to determine the type of UI this RenderOptions represents.

Definition at line 96 of file tracktion_RenderOptions.h.

◆ TargetFileFormat

enum tracktion::engine::RenderOptions::TargetFileFormat

Definition at line 22 of file tracktion_RenderOptions.h.

Constructor & Destructor Documentation

◆ RenderOptions() [1/3]

tracktion::engine::RenderOptions::RenderOptions ( Engine e)

Definition at line 842 of file tracktion_RenderOptions.cpp.

◆ RenderOptions() [2/3]

tracktion::engine::RenderOptions::RenderOptions ( const RenderOptions other,
juce::UndoManager um 
)

Definition at line 854 of file tracktion_RenderOptions.cpp.

◆ RenderOptions() [3/3]

tracktion::engine::RenderOptions::RenderOptions ( Engine e,
const juce::ValueTree s,
juce::UndoManager um 
)

Definition at line 847 of file tracktion_RenderOptions.cpp.

◆ ~RenderOptions()

tracktion::engine::RenderOptions::~RenderOptions ( )
override

Definition at line 859 of file tracktion_RenderOptions.cpp.

Member Function Documentation

◆ applyRenderToEdit()

Clip::Ptr tracktion::engine::RenderOptions::applyRenderToEdit ( Edit edit,
ProjectItem::Ptr  projectItem,
TimeRange  time,
SelectionManager selectionManager 
) const

Adds the given ProjectItem to the Edit using the render properties for positioning info.

Definition at line 485 of file tracktion_RenderOptions.cpp.

◆ findEndAllowance()

TimeDuration tracktion::engine::RenderOptions::findEndAllowance ( Edit edit,
juce::Array< EditItemID > *  tracks,
juce::Array< Clip * > *  clips 
)
static

Definition at line 14 of file tracktion_RenderOptions.cpp.

◆ forClipRender()

std::unique_ptr< RenderOptions > tracktion::engine::RenderOptions::forClipRender ( juce::Array< Clip * >  clips,
bool  midiNotes 
)
static

Definition at line 779 of file tracktion_RenderOptions.cpp.

◆ forEditClip()

std::unique_ptr< RenderOptions > tracktion::engine::RenderOptions::forEditClip ( Clip editClip)
static

Definition at line 832 of file tracktion_RenderOptions.cpp.

◆ forGeneralExporter()

std::unique_ptr< RenderOptions > tracktion::engine::RenderOptions::forGeneralExporter ( Edit edit)
static

Creates a default RenderOptions object for a general purpose exporter.

Definition at line 737 of file tracktion_RenderOptions.cpp.

◆ forTrackRender()

std::unique_ptr< RenderOptions > tracktion::engine::RenderOptions::forTrackRender ( juce::Array< Track * >  tracks,
AddRenderOptions  addOption 
)
static

Definition at line 754 of file tracktion_RenderOptions.cpp.

◆ getAddRenderOptionText()

juce::StringArray tracktion::engine::RenderOptions::getAddRenderOptionText ( )

Definition at line 1098 of file tracktion_RenderOptions.cpp.

◆ getAudioFormat()

juce::AudioFormat * tracktion::engine::RenderOptions::getAudioFormat ( )

Returns an AudioFormat to use for the current render properties.

Definition at line 461 of file tracktion_RenderOptions.cpp.

◆ getBitDepth()

int tracktion::engine::RenderOptions::getBitDepth ( ) const

Definition at line 132 of file tracktion_RenderOptions.h.

◆ getDestFile()

juce::File tracktion::engine::RenderOptions::getDestFile ( ) const
noexcept

Definition at line 128 of file tracktion_RenderOptions.h.

◆ getFormat()

TargetFileFormat tracktion::engine::RenderOptions::getFormat ( ) const
noexcept

Definition at line 131 of file tracktion_RenderOptions.h.

◆ getFormatTypeName()

juce::String tracktion::engine::RenderOptions::getFormatTypeName ( TargetFileFormat  fmt)

Definition at line 911 of file tracktion_RenderOptions.cpp.

◆ getFormatTypes()

juce::StringArray tracktion::engine::RenderOptions::getFormatTypes ( )

Definition at line 1071 of file tracktion_RenderOptions.cpp.

◆ getHash()

HashCode tracktion::engine::RenderOptions::getHash ( ) const
noexcept

Returns a hash representing the current set of render options.

Definition at line 66 of file tracktion_RenderOptions.h.

◆ getMarkedRegion()

bool tracktion::engine::RenderOptions::getMarkedRegion ( ) const
noexcept

Definition at line 141 of file tracktion_RenderOptions.h.

◆ getNumTracks()

int tracktion::engine::RenderOptions::getNumTracks ( ) const
noexcept

Definition at line 142 of file tracktion_RenderOptions.h.

◆ getQualitiesList()

juce::StringArray tracktion::engine::RenderOptions::getQualitiesList ( ) const

Definition at line 1129 of file tracktion_RenderOptions.cpp.

◆ getQualityIndex()

int tracktion::engine::RenderOptions::getQualityIndex ( ) const

Definition at line 125 of file tracktion_RenderOptions.h.

◆ getRemoveSilence()

bool tracktion::engine::RenderOptions::getRemoveSilence ( ) const
noexcept

Definition at line 140 of file tracktion_RenderOptions.h.

◆ getRenderParameters() [1/4]

Renderer::Parameters tracktion::engine::RenderOptions::getRenderParameters ( Edit edit)

Definition at line 291 of file tracktion_RenderOptions.cpp.

◆ getRenderParameters() [2/4]

Renderer::Parameters tracktion::engine::RenderOptions::getRenderParameters ( Edit edit,
SelectionManager selectionManager,
TimeRange  markedRegion 
)

Returns a set of renderer parameters which can be used to describe a render operation.

Definition at line 296 of file tracktion_RenderOptions.cpp.

◆ getRenderParameters() [3/4]

Renderer::Parameters tracktion::engine::RenderOptions::getRenderParameters ( EditClip clip)

Definition at line 389 of file tracktion_RenderOptions.cpp.

◆ getRenderParameters() [4/4]

Renderer::Parameters tracktion::engine::RenderOptions::getRenderParameters ( MidiClip clip)

Definition at line 429 of file tracktion_RenderOptions.cpp.

◆ getSampleRate()

double tracktion::engine::RenderOptions::getSampleRate ( ) const

Definition at line 134 of file tracktion_RenderOptions.h.

◆ getStereo()

bool tracktion::engine::RenderOptions::getStereo ( ) const

Definition at line 133 of file tracktion_RenderOptions.h.

◆ getTrackIDs()

juce::Array< EditItemID > tracktion::engine::RenderOptions::getTrackIDs ( ) const

Definition at line 117 of file tracktion_RenderOptions.h.

◆ getTrackIndexes()

juce::BigInteger tracktion::engine::RenderOptions::getTrackIndexes ( const Edit ed) const

Definition at line 959 of file tracktion_RenderOptions.cpp.

◆ getTracksHash()

HashCode tracktion::engine::RenderOptions::getTracksHash ( ) const

Definition at line 936 of file tracktion_RenderOptions.cpp.

◆ getUINeedsRefresh()

bool tracktion::engine::RenderOptions::getUINeedsRefresh ( )

If you've chnaged a property that will cause the UI configuration to change this will return true which you should rebuild the property set from.

Definition at line 872 of file tracktion_RenderOptions.cpp.

◆ isClipRender()

bool tracktion::engine::RenderOptions::isClipRender ( ) const

Definition at line 106 of file tracktion_RenderOptions.h.

◆ isEditClipRender()

bool tracktion::engine::RenderOptions::isEditClipRender ( ) const

Definition at line 105 of file tracktion_RenderOptions.h.

◆ isExportAll()

bool tracktion::engine::RenderOptions::isExportAll ( ) const

Definition at line 109 of file tracktion_RenderOptions.h.

◆ isMarkedRegionBigEnough()

bool tracktion::engine::RenderOptions::isMarkedRegionBigEnough ( TimeRange  region)
static

Definition at line 1124 of file tracktion_RenderOptions.cpp.

◆ isMidiRender()

bool tracktion::engine::RenderOptions::isMidiRender ( ) const

Definition at line 108 of file tracktion_RenderOptions.h.

◆ isRender()

bool tracktion::engine::RenderOptions::isRender ( ) const

Definition at line 110 of file tracktion_RenderOptions.h.

◆ isTrackRender()

bool tracktion::engine::RenderOptions::isTrackRender ( ) const

Definition at line 107 of file tracktion_RenderOptions.h.

◆ loadFromUserSettings()

void tracktion::engine::RenderOptions::loadFromUserSettings ( )

Definition at line 83 of file tracktion_RenderOptions.cpp.

◆ performBackgroundRender()

RenderManager::Job::Ptr tracktion::engine::RenderOptions::performBackgroundRender ( Edit edit,
SelectionManager sm,
TimeRange  timeRangeToRender 
)

Performs the render operation on a background thread.

Definition at line 192 of file tracktion_RenderOptions.cpp.

◆ saveToUserSettings()

void tracktion::engine::RenderOptions::saveToUserSettings ( )

Definition at line 141 of file tracktion_RenderOptions.cpp.

◆ setAddRenderOption()

void tracktion::engine::RenderOptions::setAddRenderOption ( AddRenderOptions  options)

Definition at line 147 of file tracktion_RenderOptions.h.

◆ setBitDepth()

void tracktion::engine::RenderOptions::setBitDepth ( int  depth)

Definition at line 122 of file tracktion_RenderOptions.h.

◆ setEndAllowance()

void tracktion::engine::RenderOptions::setEndAllowance ( TimeDuration  time)

Definition at line 148 of file tracktion_RenderOptions.h.

◆ setFilename()

void tracktion::engine::RenderOptions::setFilename ( juce::String  value,
bool  canPromptToOverwriteExisting 
)

Definition at line 978 of file tracktion_RenderOptions.cpp.

◆ setFormat()

RenderOptions::TargetFileFormat tracktion::engine::RenderOptions::setFormat ( TargetFileFormat  f)

Definition at line 882 of file tracktion_RenderOptions.cpp.

◆ setFormatType()

void tracktion::engine::RenderOptions::setFormatType ( const juce::String typeString)

Definition at line 898 of file tracktion_RenderOptions.cpp.

◆ setIncludePlugins()

void tracktion::engine::RenderOptions::setIncludePlugins ( bool  includePlugins)

Definition at line 146 of file tracktion_RenderOptions.h.

◆ setMarkedRegion()

void tracktion::engine::RenderOptions::setMarkedRegion ( bool  onlyMarked)

Definition at line 145 of file tracktion_RenderOptions.h.

◆ setQualityIndex()

void tracktion::engine::RenderOptions::setQualityIndex ( int  q)

Definition at line 126 of file tracktion_RenderOptions.h.

◆ setSampleRate()

void tracktion::engine::RenderOptions::setSampleRate ( int  sr)

Definition at line 946 of file tracktion_RenderOptions.cpp.

◆ setSelected()

void tracktion::engine::RenderOptions::setSelected ( bool  onlySelectedTrackAndClips)

Definition at line 972 of file tracktion_RenderOptions.cpp.

◆ setToDefault()

void tracktion::engine::RenderOptions::setToDefault ( )

Definition at line 693 of file tracktion_RenderOptions.cpp.

◆ setTrackIDs()

void tracktion::engine::RenderOptions::setTrackIDs ( const juce::Array< EditItemID > &  trackIDs)

Definition at line 928 of file tracktion_RenderOptions.cpp.

◆ setUINeedsRefresh()

void tracktion::engine::RenderOptions::setUINeedsRefresh ( )

Definition at line 867 of file tracktion_RenderOptions.cpp.

◆ shouldAddAcidMetadata()

bool tracktion::engine::RenderOptions::shouldAddAcidMetadata ( ) const

Definition at line 137 of file tracktion_RenderOptions.h.

◆ shouldAddMetadata()

bool tracktion::engine::RenderOptions::shouldAddMetadata ( ) const

Definition at line 135 of file tracktion_RenderOptions.h.

◆ updateHash()

void tracktion::engine::RenderOptions::updateHash ( )

Definition at line 1147 of file tracktion_RenderOptions.cpp.

Member Data Documentation

◆ addAcidMetadata

juce::CachedValue<bool> tracktion::engine::RenderOptions::addAcidMetadata

Definition at line 176 of file tracktion_RenderOptions.h.

◆ addMetadata

juce::CachedValue<bool> tracktion::engine::RenderOptions::addMetadata

Definition at line 176 of file tracktion_RenderOptions.h.

◆ addRenderOptions

juce::CachedValue<AddRenderOptions> tracktion::engine::RenderOptions::addRenderOptions

Definition at line 175 of file tracktion_RenderOptions.h.

◆ addRenderToLibrary

juce::CachedValue<bool> tracktion::engine::RenderOptions::addRenderToLibrary

Definition at line 176 of file tracktion_RenderOptions.h.

◆ adjustBasedOnRMS

juce::CachedValue<bool> tracktion::engine::RenderOptions::adjustBasedOnRMS

Definition at line 171 of file tracktion_RenderOptions.h.

◆ bitDepth

juce::CachedValue<int> tracktion::engine::RenderOptions::bitDepth

Definition at line 168 of file tracktion_RenderOptions.h.

◆ createMidiFile

juce::CachedValue<bool> tracktion::engine::RenderOptions::createMidiFile

Definition at line 164 of file tracktion_RenderOptions.h.

◆ dither

juce::CachedValue<bool> tracktion::engine::RenderOptions::dither

Definition at line 171 of file tracktion_RenderOptions.h.

◆ engine

Engine& tracktion::engine::RenderOptions::engine

Definition at line 159 of file tracktion_RenderOptions.h.

◆ format

juce::CachedValue<TargetFileFormat> tracktion::engine::RenderOptions::format

Definition at line 165 of file tracktion_RenderOptions.h.

◆ markedRegion

juce::CachedValue<bool> tracktion::engine::RenderOptions::markedRegion

Definition at line 172 of file tracktion_RenderOptions.h.

◆ normalise

juce::CachedValue<bool> tracktion::engine::RenderOptions::normalise

Definition at line 171 of file tracktion_RenderOptions.h.

◆ offerToAddClipToLibrary

std::function<void(AudioClipBase&)> tracktion::engine::RenderOptions::offerToAddClipToLibrary

Definition at line 180 of file tracktion_RenderOptions.h.

◆ offerToAddFileToLibrary

std::function<void(const juce::File&)> tracktion::engine::RenderOptions::offerToAddFileToLibrary

Definition at line 181 of file tracktion_RenderOptions.h.

◆ peakLevelDb

juce::CachedValue<double> tracktion::engine::RenderOptions::peakLevelDb

Definition at line 169 of file tracktion_RenderOptions.h.

◆ qualityIndex

juce::CachedValue<int> tracktion::engine::RenderOptions::qualityIndex

Definition at line 168 of file tracktion_RenderOptions.h.

◆ realTime

juce::CachedValue<bool> tracktion::engine::RenderOptions::realTime

Definition at line 173 of file tracktion_RenderOptions.h.

◆ removeSilence

juce::CachedValue<bool> tracktion::engine::RenderOptions::removeSilence

Definition at line 171 of file tracktion_RenderOptions.h.

◆ reverseRender

juce::CachedValue<bool> tracktion::engine::RenderOptions::reverseRender

Definition at line 176 of file tracktion_RenderOptions.h.

◆ rmsLevelDb

juce::CachedValue<double> tracktion::engine::RenderOptions::rmsLevelDb

Definition at line 169 of file tracktion_RenderOptions.h.

◆ sampleRate

juce::CachedValue<double> tracktion::engine::RenderOptions::sampleRate

Definition at line 167 of file tracktion_RenderOptions.h.

◆ selectedClips

juce::CachedValue<bool> tracktion::engine::RenderOptions::selectedClips

Definition at line 172 of file tracktion_RenderOptions.h.

◆ selectedTracks

juce::CachedValue<bool> tracktion::engine::RenderOptions::selectedTracks

Definition at line 172 of file tracktion_RenderOptions.h.

◆ stereo

juce::CachedValue<bool> tracktion::engine::RenderOptions::stereo

Definition at line 166 of file tracktion_RenderOptions.h.

◆ tracksProperty

juce::CachedValue<juce::String> tracktion::engine::RenderOptions::tracksProperty

Definition at line 162 of file tracktion_RenderOptions.h.

◆ tracksToSeparateFiles

juce::CachedValue<bool> tracktion::engine::RenderOptions::tracksToSeparateFiles

Definition at line 173 of file tracktion_RenderOptions.h.

◆ type

juce::CachedValue<RenderType> tracktion::engine::RenderOptions::type

Definition at line 161 of file tracktion_RenderOptions.h.

◆ usePlugins

juce::CachedValue<bool> tracktion::engine::RenderOptions::usePlugins

Definition at line 173 of file tracktion_RenderOptions.h.


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