TracktionEngine
Loading...
Searching...
No Matches
Classes | Namespaces | Enumerations | Functions
tracktion_RenderSpecification.h File Reference

Classes

struct  engine::RenderSpecification
 A plain-data description of a single render operation: one output file. More...
 
struct  engine::PlannedRenderJob
 A concrete render job created from a RenderSpecification. More...
 

Namespaces

namespace  engine
 

Enumerations

enum class  engine::RenderFormat {
  engine::wav , engine::aiff , engine::flac , engine::ogg ,
  engine::mp3 , engine::midi
}
 The file format a render is written in. More...
 

Functions

std::optional< RenderFormatengine::renderFormatFromString (juce::String)
 Converts a RenderFormat from its canonical name, or nullopt if unrecognised.
 
juce::String engine::toString (RenderFormat)
 Converts a RenderFormat to its canonical name.
 
bool engine::isMidiFormat (RenderFormat f)
 True for the format that writes notes rather than audio.
 
juce::StringPairArray engine::createTagMetadata (Edit &)
 Returns an Edit's tag metadata - title, artist, album, date, genre, comment and track number - as the canonical "id3*" key/value pairs.
 
bool engine::hasTagMetadata (Edit &)
 True if an Edit has actually been given any tags, which is what decides whether tagging is enabled by default.
 
bool engine::formatSupportsTagMetadata (RenderFormat)
 True if a format's writer can carry tag metadata at all: wav (in a RIFF INFO chunk), ogg (Vorbis comments) and mp3 (ID3) can; aiff and flac have no metadata support in their writers, and a MIDI file has nowhere to put it.
 
juce::StringPairArray engine::translateMetadataForFormat (const juce::StringPairArray &, RenderFormat)
 Converts canonical "id3*" tag pairs to the keys a format's writer understands: passed through unchanged for ogg and mp3, mapped to the WAV writer's RIFF INFO names for wav, and dropped for the formats which can't carry tags.
 
juce::Result engine::validateRenderSpecification (Edit &, const RenderSpecification &)
 Checks a specification can be rendered from the given Edit, returning a failure result describing the first problem found.
 
juce::Array< EditItemIDengine::findStemSourceTracks (Edit &, const juce::Array< EditItemID > &stemTracks)
 Finds the tracks a stem render depends on for its sound but which aren't part of the stem itself: sidechain sources of the stem's plugins, tracks with an aux send feeding an aux return in the stem, and tracks hosting instances of a rack the stem shares (a rack is processed once, fed by all its instances).
 
std::optional< PlannedRenderJobengine::createRenderJob (Edit &, const RenderSpecification &)
 Creates the render job for a valid specification.
 
std::vector< RenderSpecificationengine::createPerTrackSpecifications (Edit &, const RenderSpecification &base, const juce::File &directory)
 Creates one specification per track from a template, for rendering each track to its own file in the given directory.