TracktionEngine
Classes | Static Public Member Functions | List of all members
tracktion::engine::AudioFileUtils Struct Reference

Classes

class  EnvelopeFollower
 
struct  MappedFileAndReader
 

Static Public Member Functions

static juce::AudioFormatReader * createReaderFor (Engine &, const juce::File &)
 
static juce::AudioFormatReader * createReaderFindingFormat (Engine &, const juce::File &, juce::AudioFormat *&)
 
static juce::MemoryMappedAudioFormatReader * createMemoryMappedReader (Engine &, const juce::File &, juce::AudioFormat *&)
 
static std::unique_ptr< MappedFileAndReadercreateMappedFileAndReaderFor (Engine &, const juce::File &)
 
static juce::AudioFormatWriter * createWriterFor (Engine &, const juce::File &, double sampleRate, unsigned int numChannels, int bitsPerSample, const juce::StringPairArray &metadata, int quality)
 
static juce::AudioFormatWriter * createWriterFor (juce::AudioFormat *, const juce::File &, double sampleRate, unsigned int numChannels, int bitsPerSample, const juce::StringPairArray &metadata, int quality)
 
static SampleRange scanForNonZeroSamples (Engine &, const juce::File &, float maxZeroLevelDb)
 
static SampleRange copyNonSilentSectionToNewFile (Engine &, const juce::File &sourceFile, const juce::File &destFile, float maxZeroLevelDb)
 
static SampleRange trimSilence (Engine &, const juce::File &, float maxZeroLevelDb)
 
static bool reverse (Engine &, const juce::File &source, const juce::File &destination, std::atomic< float > &progress, juce::ThreadPoolJob *job=nullptr, bool canCreateWavIntermediate=true)
 Reverses a file updating a progress value and checking the exit status of a given job. More...
 
static SampleCount copySectionToNewFile (Engine &e, const juce::File &sourceFile, const juce::File &destFile, SampleRange range)
 
static SampleCount copySectionToNewFile (Engine &e, const juce::File &sourceFile, const juce::File &destFile, TimeRange range)
 
static void addBWAVStartToMetadata (juce::StringPairArray &metadata, SampleCount start)
 
static void applyBWAVStartTime (const juce::File &, SampleCount start)
 
static SampleCount getFileLengthSamples (Engine &e, const juce::File &)
 
template<class TargetFormat >
static bool convertToFormat (Engine &e, const juce::File &sourceFile, juce::OutputStream &destStream, int quality, const juce::StringPairArray &metadata, juce::int64 blockSize=-1, std::function< bool()> continuePredicate={}, std::function< void(float)> updateProgress={})
 
template<class TargetFormat >
static bool convertToFormat (juce::AudioFormatReader *reader, juce::OutputStream &destStream, int quality, const juce::StringPairArray &metadata, juce::int64 blockSize=-1, std::function< bool()> continuePredicate={}, std::function< void(float)> updateProgress={})
 
template<typename SourceFormat >
static bool readFromFormat (Engine &engine, juce::InputStream &source, const juce::File &dest)
 

Member Function Documentation

◆ createReaderFor()

static juce::AudioFormatReader* tracktion::engine::AudioFileUtils::createReaderFor ( Engine ,
const juce::File &   
)
static

◆ createReaderFindingFormat()

static juce::AudioFormatReader* tracktion::engine::AudioFileUtils::createReaderFindingFormat ( Engine ,
const juce::File &  ,
juce::AudioFormat *&   
)
static

◆ createMemoryMappedReader()

static juce::MemoryMappedAudioFormatReader* tracktion::engine::AudioFileUtils::createMemoryMappedReader ( Engine ,
const juce::File &  ,
juce::AudioFormat *&   
)
static

◆ createMappedFileAndReaderFor()

static std::unique_ptr<MappedFileAndReader> tracktion::engine::AudioFileUtils::createMappedFileAndReaderFor ( Engine ,
const juce::File &   
)
static

◆ createWriterFor() [1/2]

static juce::AudioFormatWriter* tracktion::engine::AudioFileUtils::createWriterFor ( Engine ,
const juce::File &  ,
double  sampleRate,
unsigned int  numChannels,
int  bitsPerSample,
const juce::StringPairArray &  metadata,
int  quality 
)
static

◆ createWriterFor() [2/2]

static juce::AudioFormatWriter* tracktion::engine::AudioFileUtils::createWriterFor ( juce::AudioFormat *  ,
const juce::File &  ,
double  sampleRate,
unsigned int  numChannels,
int  bitsPerSample,
const juce::StringPairArray &  metadata,
int  quality 
)
static

◆ scanForNonZeroSamples()

static SampleRange tracktion::engine::AudioFileUtils::scanForNonZeroSamples ( Engine ,
const juce::File &  ,
float  maxZeroLevelDb 
)
static

◆ copyNonSilentSectionToNewFile()

static SampleRange tracktion::engine::AudioFileUtils::copyNonSilentSectionToNewFile ( Engine ,
const juce::File &  sourceFile,
const juce::File &  destFile,
float  maxZeroLevelDb 
)
static

◆ trimSilence()

static SampleRange tracktion::engine::AudioFileUtils::trimSilence ( Engine ,
const juce::File &  ,
float  maxZeroLevelDb 
)
static

◆ reverse()

static bool tracktion::engine::AudioFileUtils::reverse ( Engine ,
const juce::File &  source,
const juce::File &  destination,
std::atomic< float > &  progress,
juce::ThreadPoolJob *  job = nullptr,
bool  canCreateWavIntermediate = true 
)
static

Reverses a file updating a progress value and checking the exit status of a given job.

Referenced by tracktion::engine::ReverseRenderJob::renderNextBlock().

◆ copySectionToNewFile() [1/2]

static SampleCount tracktion::engine::AudioFileUtils::copySectionToNewFile ( Engine e,
const juce::File &  sourceFile,
const juce::File &  destFile,
SampleRange  range 
)
static

◆ copySectionToNewFile() [2/2]

static SampleCount tracktion::engine::AudioFileUtils::copySectionToNewFile ( Engine e,
const juce::File &  sourceFile,
const juce::File &  destFile,
TimeRange  range 
)
static

◆ addBWAVStartToMetadata()

static void tracktion::engine::AudioFileUtils::addBWAVStartToMetadata ( juce::StringPairArray &  metadata,
SampleCount  start 
)
static

◆ applyBWAVStartTime()

static void tracktion::engine::AudioFileUtils::applyBWAVStartTime ( const juce::File &  ,
SampleCount  start 
)
static

◆ getFileLengthSamples()

static SampleCount tracktion::engine::AudioFileUtils::getFileLengthSamples ( Engine e,
const juce::File &   
)
static

◆ convertToFormat() [1/2]

template<class TargetFormat >
static bool tracktion::engine::AudioFileUtils::convertToFormat ( Engine e,
const juce::File &  sourceFile,
juce::OutputStream &  destStream,
int  quality,
const juce::StringPairArray &  metadata,
juce::int64  blockSize = -1,
std::function< bool()>  continuePredicate = {},
std::function< void(float)>  updateProgress = {} 
)
static

◆ convertToFormat() [2/2]

template<class TargetFormat >
static bool tracktion::engine::AudioFileUtils::convertToFormat ( juce::AudioFormatReader *  reader,
juce::OutputStream &  destStream,
int  quality,
const juce::StringPairArray &  metadata,
juce::int64  blockSize = -1,
std::function< bool()>  continuePredicate = {},
std::function< void(float)>  updateProgress = {} 
)
static

◆ readFromFormat()

template<typename SourceFormat >
static bool tracktion::engine::AudioFileUtils::readFromFormat ( Engine engine,
juce::InputStream &  source,
const juce::File &  dest 
)
static

The documentation for this struct was generated from the following file: