TracktionEngine
|
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>
Inherits juce::ValueTree::Listener.
Public Types | |
enum | TargetFileFormat { wav = 0 , aiff , flac , ogg , mp3 , midi , numFormats } |
enum | AddRenderOptions { addTrack = 0 , replaceTrack = 1 , nextTrack = 2 , thisTrack = 3 , replaceClips = 4 , none = 5 } |
Enum to set the options for renders. More... | |
enum class | RenderType { editClip = 0 , 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 () override | |
RenderOptions ()=delete | |
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::AudioFormat * | getAudioFormat () |
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< EditItemID > | getTrackIDs () 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< RenderOptions > | forGeneralExporter (Edit &) |
Creates a default RenderOptions object for a general purpose exporter. | |
static std::unique_ptr< RenderOptions > | forTrackRender (juce::Array< Track * > tracks, AddRenderOptions addOption) |
static std::unique_ptr< RenderOptions > | forClipRender (juce::Array< Clip * > clips, bool midiNotes) |
static std::unique_ptr< RenderOptions > | forEditClip (Clip &editClip) |
static TimeDuration | findEndAllowance (Edit &, juce::Array< EditItemID > *tracks, juce::Array< Clip * > *) |
static bool | isMarkedRegionBigEnough (TimeRange) |
Public Attributes | |
Engine & | engine |
juce::CachedValue< RenderType > | type |
juce::CachedValue< juce::String > | tracksProperty |
juce::CachedValue< bool > | createMidiFile |
juce::CachedValue< TargetFileFormat > | format |
juce::CachedValue< bool > | stereo |
juce::CachedValue< double > | sampleRate |
juce::CachedValue< int > | bitDepth |
juce::CachedValue< int > | qualityIndex |
juce::CachedValue< double > | rmsLevelDb |
juce::CachedValue< double > | peakLevelDb |
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< AddRenderOptions > | addRenderOptions |
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 |
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.
|
strong |
Enum to determine the type of UI this RenderOptions represents.
Enumerator | |
---|---|
editClip | |
clip | |
track | |
midi | |
allExport |
tracktion::engine::RenderOptions::RenderOptions | ( | Engine & | ) |
tracktion::engine::RenderOptions::RenderOptions | ( | const RenderOptions & | , |
juce::UndoManager * | |||
) |
tracktion::engine::RenderOptions::RenderOptions | ( | Engine & | , |
const juce::ValueTree & | , | ||
juce::UndoManager * | |||
) |
|
override |
|
delete |
|
delete |
|
delete |
|
delete |
|
delete |
void tracktion::engine::RenderOptions::loadFromUserSettings | ( | ) |
void tracktion::engine::RenderOptions::saveToUserSettings | ( | ) |
void tracktion::engine::RenderOptions::setToDefault | ( | ) |
RenderManager::Job::Ptr tracktion::engine::RenderOptions::performBackgroundRender | ( | Edit & | , |
SelectionManager * | , | ||
TimeRange | timeRangeToRender | ||
) |
Performs the render operation on a background thread.
|
noexcept |
Returns a hash representing the current set of render options.
Renderer::Parameters tracktion::engine::RenderOptions::getRenderParameters | ( | Edit & | , |
SelectionManager * | , | ||
TimeRange | markedRegion | ||
) |
Returns a set of renderer parameters which can be used to describe a render operation.
Renderer::Parameters tracktion::engine::RenderOptions::getRenderParameters | ( | Edit & | ) |
Renderer::Parameters tracktion::engine::RenderOptions::getRenderParameters | ( | EditClip & | ) |
Renderer::Parameters tracktion::engine::RenderOptions::getRenderParameters | ( | MidiClip & | ) |
juce::AudioFormat * tracktion::engine::RenderOptions::getAudioFormat | ( | ) |
Returns an AudioFormat to use for the current render properties.
Clip::Ptr tracktion::engine::RenderOptions::applyRenderToEdit | ( | Edit & | , |
ProjectItem::Ptr | , | ||
TimeRange | time, | ||
SelectionManager * | |||
) | const |
Adds the given ProjectItem to the Edit using the render properties for positioning info.
|
static |
Creates a default RenderOptions object for a general purpose exporter.
|
static |
|
static |
|
static |
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.
void tracktion::engine::RenderOptions::setUINeedsRefresh | ( | ) |
bool tracktion::engine::RenderOptions::isClipRender | ( | ) | const |
Referenced by isRender().
bool tracktion::engine::RenderOptions::isTrackRender | ( | ) | const |
Referenced by isRender().
bool tracktion::engine::RenderOptions::isMidiRender | ( | ) | const |
Referenced by isRender().
bool tracktion::engine::RenderOptions::isRender | ( | ) | const |
References isClipRender(), isMidiRender(), and isTrackRender().
TargetFileFormat tracktion::engine::RenderOptions::setFormat | ( | TargetFileFormat | ) |
void tracktion::engine::RenderOptions::setFormatType | ( | const juce::String & | typeString | ) |
juce::String tracktion::engine::RenderOptions::getFormatTypeName | ( | TargetFileFormat | ) |
juce::Array< EditItemID > tracktion::engine::RenderOptions::getTrackIDs | ( | ) | const |
void tracktion::engine::RenderOptions::setTrackIDs | ( | const juce::Array< EditItemID > & | ) |
HashCode tracktion::engine::RenderOptions::getTracksHash | ( | ) | const |
void tracktion::engine::RenderOptions::setSampleRate | ( | int | ) |
void tracktion::engine::RenderOptions::setBitDepth | ( | int | depth | ) |
References bitDepth.
juce::StringArray tracktion::engine::RenderOptions::getQualitiesList | ( | ) | const |
int tracktion::engine::RenderOptions::getQualityIndex | ( | ) | const |
References qualityIndex.
void tracktion::engine::RenderOptions::setQualityIndex | ( | int | q | ) |
References qualityIndex.
|
noexcept |
juce::String tracktion::engine::RenderOptions::getFileExtension | ( | ) | const |
|
noexcept |
References format.
int tracktion::engine::RenderOptions::getBitDepth | ( | ) | const |
References bitDepth.
bool tracktion::engine::RenderOptions::getStereo | ( | ) | const |
References stereo.
double tracktion::engine::RenderOptions::getSampleRate | ( | ) | const |
References sampleRate.
bool tracktion::engine::RenderOptions::shouldAddMetadata | ( | ) | const |
References addMetadata.
bool tracktion::engine::RenderOptions::shouldAddAcidMetadata | ( | ) | const |
References addAcidMetadata.
juce::BigInteger tracktion::engine::RenderOptions::getTrackIndexes | ( | const Edit & | ) | const |
|
noexcept |
References removeSilence.
|
noexcept |
References markedRegion.
|
noexcept |
void tracktion::engine::RenderOptions::setSelected | ( | bool | onlySelectedTrackAndClips | ) |
void tracktion::engine::RenderOptions::setMarkedRegion | ( | bool | onlyMarked | ) |
References markedRegion.
void tracktion::engine::RenderOptions::setIncludePlugins | ( | bool | includePlugins | ) |
References usePlugins.
void tracktion::engine::RenderOptions::setAddRenderOption | ( | AddRenderOptions | options | ) |
References addRenderOptions.
void tracktion::engine::RenderOptions::setEndAllowance | ( | TimeDuration | time | ) |
void tracktion::engine::RenderOptions::setFilename | ( | juce::String | , |
bool | canPromptToOverwriteExisting | ||
) |
void tracktion::engine::RenderOptions::updateHash | ( | ) |
juce::StringArray tracktion::engine::RenderOptions::getFormatTypes | ( | ) |
juce::StringArray tracktion::engine::RenderOptions::getAddRenderOptionText | ( | ) |
|
static |
|
static |
Engine& tracktion::engine::RenderOptions::engine |
juce::CachedValue<RenderType> tracktion::engine::RenderOptions::type |
Referenced by isClipRender(), isEditClipRender(), isExportAll(), isMidiRender(), and isTrackRender().
juce::CachedValue<juce::String> tracktion::engine::RenderOptions::tracksProperty |
juce::CachedValue<bool> tracktion::engine::RenderOptions::createMidiFile |
juce::CachedValue<TargetFileFormat> tracktion::engine::RenderOptions::format |
Referenced by getFormat().
juce::CachedValue<bool> tracktion::engine::RenderOptions::stereo |
Referenced by getStereo().
juce::CachedValue<double> tracktion::engine::RenderOptions::sampleRate |
Referenced by getSampleRate().
juce::CachedValue<int> tracktion::engine::RenderOptions::bitDepth |
Referenced by getBitDepth(), and setBitDepth().
juce::CachedValue<int> tracktion::engine::RenderOptions::qualityIndex |
Referenced by getQualityIndex(), and setQualityIndex().
juce::CachedValue<double> tracktion::engine::RenderOptions::rmsLevelDb |
juce::CachedValue<double> tracktion::engine::RenderOptions::peakLevelDb |
juce::CachedValue<bool> tracktion::engine::RenderOptions::removeSilence |
Referenced by getRemoveSilence().
juce::CachedValue<bool> tracktion::engine::RenderOptions::normalise |
juce::CachedValue<bool> tracktion::engine::RenderOptions::dither |
juce::CachedValue<bool> tracktion::engine::RenderOptions::adjustBasedOnRMS |
juce::CachedValue<bool> tracktion::engine::RenderOptions::markedRegion |
Referenced by getMarkedRegion(), and setMarkedRegion().
juce::CachedValue<bool> tracktion::engine::RenderOptions::selectedTracks |
juce::CachedValue<bool> tracktion::engine::RenderOptions::selectedClips |
juce::CachedValue<bool> tracktion::engine::RenderOptions::tracksToSeparateFiles |
juce::CachedValue<bool> tracktion::engine::RenderOptions::realTime |
juce::CachedValue<bool> tracktion::engine::RenderOptions::usePlugins |
Referenced by setIncludePlugins().
juce::CachedValue<AddRenderOptions> tracktion::engine::RenderOptions::addRenderOptions |
Referenced by setAddRenderOption().
juce::CachedValue<bool> tracktion::engine::RenderOptions::addRenderToLibrary |
juce::CachedValue<bool> tracktion::engine::RenderOptions::reverseRender |
juce::CachedValue<bool> tracktion::engine::RenderOptions::addMetadata |
Referenced by shouldAddMetadata().
juce::CachedValue<bool> tracktion::engine::RenderOptions::addAcidMetadata |
Referenced by shouldAddAcidMetadata().
std::function<void(AudioClipBase&)> tracktion::engine::RenderOptions::offerToAddClipToLibrary |
std::function<void(const juce::File&)> tracktion::engine::RenderOptions::offerToAddFileToLibrary |