TracktionEngine
Classes | Namespaces | Typedefs | Enumerations | Functions
tracktion_AudioUtilities.h File Reference

Classes

class  tracktion::engine::AudioMidiFifo
 
class  tracktion::engine::AudioBufferSnapshot
 
struct  juce::VariantConverter< tracktion::engine::ResamplingQuality >
 

Namespaces

 tracktion
 
 tracktion::engine
 
 juce
 

Typedefs

using tracktion::engine::SampleCount = int64_t
 
using tracktion::engine::SampleRange = juce::Range< SampleCount >
 

Enumerations

enum class  tracktion::engine::ResamplingQuality { tracktion::engine::lagrange , tracktion::engine::sincFast , tracktion::engine::sincMedium , tracktion::engine::sincBest }
 Specifies a number of resampling qualities that can be used. More...
 
enum  tracktion::engine::PanLaw {
  tracktion::engine::PanLawDefault = -1 , tracktion::engine::PanLawLinear = 0 , tracktion::engine::PanLaw2point5dBCenter = 1 , tracktion::engine::PanLaw3dBCenter = 2 ,
  tracktion::engine::PanLaw4point5dBCenter = 3 , tracktion::engine::PanLaw6dBCenter = 4
}
 All laws have been designed to be equal-power, excluding linear respectively. More...
 

Functions

float tracktion::engine::dbToGain (float db) noexcept
 
float tracktion::engine::gainToDb (float gain) noexcept
 
juce::String tracktion::engine::gainToDbString (float gain, float infLevel=-96.0f, int decPlaces=2)
 
float tracktion::engine::dbStringToDb (const juce::String &dbStr)
 
float tracktion::engine::dbStringToGain (const juce::String &dbStr)
 
juce::String tracktion::engine::getPanString (float pan)
 
juce::String tracktion::engine::getSemitonesAsString (double semitones)
 
template<typename FloatType >
FloatType tracktion::engine::midiNoteToFrequency (FloatType midiNote)
 
template<typename FloatType >
FloatType tracktion::engine::frequencyToMidiNote (FloatType freq)
 
void tracktion::engine::sanitiseValues (juce::AudioBuffer< float > &, int startSample, int numSamples, float maxAbsValue, float minAbsThreshold=1.0f/262144.0f)
 
void tracktion::engine::addAntiDenormalisationNoise (juce::AudioBuffer< float > &, int start, int numSamples) noexcept
 
void tracktion::engine::resetFP () noexcept
 
bool tracktion::engine::hasFloatingPointDenormaliseOccurred () noexcept
 
void tracktion::engine::zeroDenormalisedValuesIfNeeded (juce::AudioBuffer< float > &) noexcept
 
bool tracktion::engine::isAudioDataAlmostSilent (const float *data, int num)
 
float tracktion::engine::getAudioDataMagnitude (const float *data, int num)
 
void tracktion::engine::convertIntsToFloats (juce::AudioBuffer< float > &)
 
void tracktion::engine::convertFloatsToInts (juce::AudioBuffer< float > &)
 
void tracktion::engine::yieldGUIThread () noexcept
 
template<typename SampleType >
choc::buffer::BufferView< SampleType, choc::buffer::SeparateChannelLayout > tracktion::engine::toBufferView (juce::AudioBuffer< SampleType > &buffer)
 Converts a juce::AudioBuffer<SampleType> to a choc::buffer::BufferView. More...
 
PanLaw tracktion::engine::getDefaultPanLaw () noexcept
 
void tracktion::engine::setDefaultPanLaw (PanLaw)
 
juce::StringArray tracktion::engine::getPanLawChoices (bool includeDefault) noexcept
 
float tracktion::engine::decibelsToVolumeFaderPosition (float dB) noexcept
 
float tracktion::engine::volumeFaderPositionToDB (float position) noexcept
 
float tracktion::engine::volumeFaderPositionToGain (float position) noexcept
 
float tracktion::engine::gainToVolumeFaderPosition (float gain) noexcept
 
void tracktion::engine::getGainsFromVolumeFaderPositionAndPan (float volSliderPos, float pan, PanLaw lawToUse, float &leftGain, float &rightGain) noexcept
 
void tracktion::engine::clearChannels (juce::AudioBuffer< float > &buffer, int startChannel, int endChannel=-1, int startSample=0, int endSample=-1)