TracktionEngine
|
Namespaces | |
namespace | AppFunctions |
namespace | benchmark_utilities |
namespace | Click |
namespace | ClipConstants |
Constraints for clip speeds. | |
namespace | detail |
namespace | details |
namespace | engine |
namespace | graph |
namespace | IDs |
namespace | MidiNodeHelpers |
namespace | modifier |
namespace | ModifierCommon |
namespace | node_player_utils |
namespace | PredefinedWavetable |
namespace | RackNodeBuilder |
namespace | test_utilities |
namespace | TracktionBinaryData |
Classes | |
class | AbletonLink |
Manages an Ableton Link session connecting an Edit with a number of networked peers, syncronising their tempos, bar phases and start/stop statuses. More... | |
struct | ActiveEdits |
A list of all currently open edits. More... | |
struct | ActiveNoteList |
class | AirWindowsAutomatableParameter |
class | AirWindowsBase |
class | AirWindowsCallback |
class | AirWindowsPlugin |
class | AlphaTrackControlSurface |
struct | ARADocumentHolder |
class | ArrangerClip |
class | ArrangerLauncherSwitchingNode |
A Node that switches between two of its inputs based on a flag. More... | |
class | ArrangerTrack |
A track similar to the MarkerTrack but can be used to move sections of an Edit around. More... | |
struct | AsyncCaller |
Asyncronously call a function. More... | |
struct | AsyncFunctionCaller |
Holds a list of function objects and enables you to call them asyncronously. More... | |
struct | AtomicWrapper |
Wraps an atomic with an interface compatible with var so it can be used within CachedValues in a thread safe way. More... | |
class | AudioBufferPool |
A lock-free pool of audio buffers. More... | |
class | AudioBufferSnapshot |
class | AudioBufferStack |
A stack of audio buffers. More... | |
class | AudioClipBase |
Base class for Clips that produce some kind of audio e.g. More... | |
struct | AudioFadeCurve |
class | AudioFifo |
class | AudioFile |
class | AudioFileCache |
class | AudioFileFormatManager |
Keeps a list of available wave formats and can create a format object for a file. More... | |
struct | AudioFileInfo |
class | AudioFileManager |
struct | AudioFileUtils |
class | AudioFileWriter |
Smart wrapper for writing to an audio file. More... | |
class | AudioMidiFifo |
class | AudioProxyGenerator |
class | AudioScratchBuffer |
An audio scratch buffer that has pooled storage. More... | |
class | AudioSegmentList |
Holds a list of audio regions for playback of things like warp time. More... | |
class | AudioTrack |
class | AutomatableEditItem |
Base class for elements that have some kind of automatable parameters. More... | |
class | AutomatableParameter |
class | AutomatableParameterTree |
class | AutomationCurve |
class | AutomationDragDropTarget |
Components can implement this to let things know which automatable parameter they control. More... | |
struct | AutomationIterator |
class | AutomationTrack |
class | AuxReturnPlugin |
class | AuxSendNode |
Node for an aux send. More... | |
class | AuxSendPlugin |
class | BackgroundJobManager |
Manages a set of background tasks that can be run concurrently on a background thread. More... | |
class | BandlimitedWaveLookupTables |
class | BasicSummingNode |
struct | BeatDetect |
struct | BlockingFunction |
class | BreakpointOscillatorModifier |
class | BufferedAudioFileManager |
class | BufferedAudioReader |
class | BufferedFileReader |
class | BufferedFileReaderWrapper |
class | BufferingAudioReaderWrapper |
FallbackReader that wraps a BufferingAudioReader to avoid reading on the audio thread. More... | |
struct | ChannelConnection |
struct | ChannelIndex |
Describes a channel of a WaveInputDevice or WaveOutputDevice by specifying the channel index in the global device's audio buffer and the purpose as an AudioChannelSet::ChannelType e.g. More... | |
class | ChannelRemappingNode |
Maps channels from one to another. More... | |
class | Chord |
class | ChordClip |
class | ChordTrack |
class | ChorusPlugin |
class | ClickGenerator |
Generates click audio and MIDI and adds them to the provided buffer. More... | |
class | ClickNode |
Adds audio and MIDI clicks to the input buffers. More... | |
class | Clip |
A clip in an edit. More... | |
class | Clipboard |
class | ClipEffect |
class | ClipEffects |
struct | ClipLevel |
Holds a clip's level state. More... | |
class | ClipOwner |
Base class for items that can contain clips. More... | |
struct | ClipPosition |
Represents the position of a clip on a timeline. More... | |
class | ClipSlot |
Represents a slot on a track that a Clip can live in to be played as a launched clip. More... | |
class | ClipSlotList |
A list of the ClipSlots on a Track. More... | |
class | ClipTrack |
class | CollectionClip |
struct | ColourArea |
An area of the edit currently control by a control surface. More... | |
class | CombiningNode |
An Node that mixes a sequence of clips of other nodes. More... | |
class | CompFactory |
class | CompManager |
class | CompressorPlugin |
class | ConnectedNode |
An Node which sums together the multiple inputs adding additional latency to provide a coherent output. More... | |
class | ConstrainedCachedValue |
A CachedValue that can take a std::function to constrain its value. More... | |
class | ContainerClip |
A clip that can contain multiple other clips and mix their output together. More... | |
class | ContainerClipNode |
class | ControlSurface |
Base class for types of control surface. More... | |
struct | CrashStackTracer |
Used by the CRASH_TRACER macros to help provide a useful crash log of the stack. More... | |
struct | CreateNodeParams |
Contains options for Edit Node content creation. More... | |
class | CurveEditor |
class | CurveEditorPoint |
struct | CurvePoint |
class | CustomControlSurface |
struct | DbTimePair |
struct | DeadMansPedalMessage |
This RAII class saves a property which will be reported at startup as a failure if the app disappears before its destructor is called. More... | |
struct | DelayBufferBase |
class | DelayPlugin |
class | DeviceManager |
struct | Ditherer |
An extremely naive ditherer. More... | |
struct | DummyConstrainer |
Dummy constrainer which should optimise away to nothing. More... | |
class | DynamicallyOffsettableNodeBase |
class | DynamicOffsetNode |
class | Edit |
The Tracktion Edit class! More... | |
class | EditClip |
This is the main source of an Edit clip and is responsible for managing its properties. More... | |
struct | EditDeleter |
Deferred Edit object deleter. More... | |
class | EditFileOperations |
Contains methods for saving an Edit to a file. More... | |
class | EditInputDevices |
class | EditInsertPoint |
An EditInsertPoint is like a "paste location". More... | |
class | EditItem |
Base class for objects that live inside an edit - e.g. More... | |
struct | EditItemCache |
struct | EditItemID |
ID for objects of type EditElement - e.g. More... | |
struct | EditLimits |
Contains the limits of the various elements that can be added to an Edit. More... | |
struct | EditNodeBuilder |
class | EditPlaybackContext |
class | EditRenderJob |
class | EditSnapshot |
Holds a snapshot of an Edit file of the last time it was saved. More... | |
struct | EditTime |
Represents a time point in an Edit stored as either time or beats. More... | |
struct | EditTimecodeRemapperSnapshot |
Takes a copy of all the beat related things in an edit in terms of bars/beats and then remaps these after a tempo change. More... | |
struct | EditTimeRange |
Represents a time range in an Edit stored as either time or beats. More... | |
class | Engine |
The Engine is the central class for all tracktion sessions. More... | |
class | EngineBehaviour |
Provides custom handlers to control various aspects of the engine's behaviour. More... | |
class | EnvelopeFollowerModifier |
class | EqualiserPlugin |
class | ExpEnvelope |
class | Exportable |
An interface for objects within an edit that can be exported. More... | |
class | ExportJob |
class | ExternalAutomatableParameter |
class | ExternalController |
Acts as a holder for a ControlSurface object. More... | |
class | ExternalControllerManager |
Keeps a list of external controllers and keeps them connected to the right MIDI in/out devices. More... | |
class | ExternalPlayheadSynchroniser |
An ExternalPlayheadSynchroniser is used to synchronise the internal Edit's playhead with an AudioProcessor, for use in plugins. More... | |
class | ExternalPlugin |
struct | FadeInOutEffect |
class | FadeInOutNode |
A Node that fades in and out given time regions. More... | |
struct | FallbackReader |
struct | FileDragList |
class | FloatAudioFormat |
A raw, proprietary, simple floating point format used for freeze files, etc. More... | |
class | FolderTrack |
class | ForwardingNode |
Takes a non-owning input node and simply forwards its outputs on. More... | |
class | FourOscPlugin |
class | FreezePointPlugin |
class | FunctionNode |
class | GainNode |
class | GrooveTemplate |
class | GrooveTemplateManager |
Looks after the list of groove templates. More... | |
struct | HertzTag |
class | HostedAudioDeviceInterface |
The HostedAudioDeviceInterface allows an application or plugin to pass audio and midi buffers to the engine, rather than the engine directly opening the audio devices. More... | |
class | HostedMidiInputDeviceNode |
A Node that intercepts MIDI from a plugin callback and inserts it in to the playback graph. More... | |
class | IconProG2 |
class | ImpulseResponsePlugin |
ImpulseResponsePlugin that loads an impulse response and applies it the audio stream. More... | |
class | InputDevice |
Represents an input device. More... | |
class | InputDeviceInstance |
An instance of an InputDevice that's available to an Edit. More... | |
struct | InputProvider |
class | InsertNode |
class | InsertPlugin |
class | InsertSendNode |
The send node picks up audio/MIDI data from the InsertPlugin and then its output will be sent to the corresponding OutputDevice. More... | |
struct | InvertEffect |
struct | KeyResult |
class | LambdaSelectableListener |
A SelectableListener that safely handles listener to a Selectable and uses a lambda for its callback. More... | |
class | LambdaTimer |
class | LAMEManager |
Manages the LAME location property and an AudioFormat if the LAME encoder is provided. More... | |
class | LatencyNode |
class | LatencyPlugin |
A test plugin that introduces latency to the incoming signal. More... | |
struct | LatencyProcessor |
class | LauncherClipPlaybackHandle |
class | LaunchQuantisation |
Represents a launch quantisation. More... | |
class | LevelMeasurer |
Monitors the levels of buffers that are passed in, and keeps peak values, overloads, etc., for display in a level meter component. More... | |
class | LevelMeasurerProcessingNode |
A Node that introduces latency to balance the latency at the root Node and its position in the graph. More... | |
class | LevelMeasuringNode |
A Node that passes its incoming audio and MIDI through a LevelMeasurer. More... | |
class | LevelMeterPlugin |
class | LFOModifier |
class | LightweightSemaphore |
A counting semaphore that spins on a atomic before waiting so will avoid system calls if wait periods are very short. More... | |
class | LinEnvelope |
struct | LiveClipLevel |
Provides a thread-safe way to share a clip's levels with an audio engine without worrying about the Clip being deleted from underneath you. More... | |
class | LiveMidiInjectingNode |
A Node that injects MIDI message in to the stream, for keyboard key entry, note previews and MIDI step entry etc. More... | |
class | LiveMidiOutputNode |
A Node that calls the listeners of an AudioTrack with any incoming MIDI. More... | |
class | LockFreeMultiThreadedNodePlayer |
Plays back a node with mutiple threads. More... | |
class | LockFreeObject |
Manages access to an object in a way that means it is lock-free to access from a real-time thread. More... | |
class | LoopInfo |
Holds tempo/beat information about an audio file. More... | |
class | LoopingMidiNode |
A Node that plays MIDI data from a MidiMessageSequence, at a specific MIDI channel. More... | |
class | LowPassPlugin |
class | MackieC4 |
class | MackieMCU |
class | MackieXT |
class | MacroParameter |
A MacroParameter is an AutomatableParameter which is a collection of Mappings. More... | |
class | MacroParameterElement |
Base class for elements which can contain macro parameters. More... | |
class | MacroParameterList |
struct | MakeMonoEffect |
class | MarkerClip |
class | MarkerManager |
struct | MarkerSetting |
class | MarkerTrack |
class | MasterTrack |
A track to represent the master plugins. More... | |
class | MelodyneFileReader |
class | MelodyneNode |
Plays back a Melodyne plugin. More... | |
struct | MemoryMappedFileReader |
FallbackReader that wraps a MemoryMappedFile which usually improves read speeds. More... | |
class | MessageThreadCallback |
Calls a function on the message thread checking a calling thread for an exit signal. More... | |
class | MidiAssignable |
Base class for things that can be assigned to external control surfaces, not plugin paramters. More... | |
struct | MidiChannel |
Represents a MIDI channel 1-16, and also contains extra ID bits to encode info about the event's origin. More... | |
class | MidiClip |
class | MidiCompManager |
class | MidiControllerEvent |
struct | MidiExpression |
struct | MidiID |
class | MidiInputDevice |
class | MidiInputDeviceNode |
A Node that intercepts incoming live MIDI and inserts it in to the playback graph. More... | |
class | MidiLearnState |
Manages the Midi learn state and Listener interface to notify subclasses when the state changes. More... | |
class | MidiList |
struct | MidiMessageArray |
struct | MidiMessageWithSource |
class | MidiModifierPlugin |
class | MidiNode |
A Node that plays MIDI data from a MidiMessageSequence, at a specific MIDI channel. More... | |
class | MidiNote |
class | MidiNoteDispatcher |
class | MidiOutputDevice |
class | MidiOutputDeviceInstance |
class | MidiOutputDeviceInstanceInjectingNode |
A Node that injects the MIDI buffer of its input to the MidiOutputDevice. More... | |
class | MidiPatchBayPlugin |
class | MidiProgramManager |
class | MidiSysexEvent |
class | MIDITrackerModifier |
struct | Modifier |
Bass class for parameter Modifiers. More... | |
class | ModifierList |
Holds a list of Modifiers that have been added to a Track. More... | |
class | ModifierNode |
Node for processing a Modifier. More... | |
struct | ModifierTimer |
Base class for objects which need to know about the global Edit time every block. More... | |
struct | MonotonicBeat |
struct | MonotonicBeatRange |
class | MouseHoverDetector |
struct | MPEStartTrimmer |
If you need to play back MPE data from a point after the data starts, it's important to reconstruct the expression values immediately preceding the last note-on, then the note on, then the last expression values before the trim point. More... | |
class | MultiThreadedNodePlayer |
Plays back a Node with PlayHeadState and ProcessState. More... | |
class | MultiVoiceOscillator |
class | Node |
Main graph Node processor class. More... | |
struct | NodeAndID |
A Node and its ID cached for quick lookup (without having to traverse the graph). More... | |
struct | NodeBuffer |
Holds a view over some data and optionally some storage for that data. More... | |
struct | NodeGraph |
Holds a graph in an order ready for processing and a sorted map for quick lookups. More... | |
struct | NodeOptimisations |
Holds some hints that might be used by the Node or players to improve efficiency. More... | |
class | NodePlayer |
Simple player for an Node. More... | |
struct | NodeProperties |
Holds some really basic properties of a node. More... | |
class | NodeRenderContext |
Holds the state of an audio render procedure so it can be rendered in blocks. More... | |
struct | NormaliseEffect |
class | NovationRemoteSl |
struct | OldEditConversion |
Logic for reading legacy tracktion edit files. More... | |
class | Oscillator |
class | OutputDevice |
Base class for audio or midi output devices, to which a track's output can be sent. More... | |
class | OutputDeviceInstance |
class | ParameterChangeHandler |
Manages a set of AutomatableParameters for an Edit and notifies controllers and registered listeners when they change. More... | |
class | ParameterControlMappings |
Controls the set of midi-controller-to-parameter mappings. More... | |
class | ParameterisableDragDropSource |
struct | ParameterSetting |
class | PatchBayPlugin |
class | PatternGenerator |
class | PerformanceMeasurement |
A timer for measuring performance of code. More... | |
class | PhaserPlugin |
class | PhysicalMidiInputDevice |
struct | Pitch |
class | PitchSequence |
class | PitchSetting |
struct | PitchShiftEffect |
class | PitchShiftPlugin |
struct | PlaybackInitialisationInfo |
Passed into Nodes when they are being initialised, to give them useful contextual information that they may need. More... | |
class | PlayHead |
Converts a monotonically increasing reference range in to a timeline range. More... | |
class | PlayHeadPositionNode |
A Node that calculates a position to show visually what time is currently being processed by the graph based on its internal latency. More... | |
class | PlayHeadState |
Determines how this block releates to other previous render blocks and if the play head has jumped in time. More... | |
class | Plugin |
class | PluginCache |
struct | PluginComponent |
Components that represent a Plugin should inherit from this to ensure they are correctly notified when their colour changes e.g. More... | |
struct | PluginCreationInfo |
struct | PluginEffect |
struct | PluginInitialisationInfo |
Passed into Plugins when they are being initialised, to give them useful contextual information that they may need. More... | |
class | PluginList |
Holds a sequence of plugins. More... | |
class | PluginManager |
class | PluginNode |
Node for processing a plugin. More... | |
struct | PluginRenderContext |
The context passed to plugin render methods to provide it with buffers to fill. More... | |
struct | PluginScanHelpers |
struct | PluginWetDryAutomatableParam |
specialised AutomatableParameter for wet/dry. More... | |
struct | PluginWindowState |
struct | ProcessState |
Holds the state of a process call. More... | |
class | Project |
A tracktion project. More... | |
class | ProjectItem |
Represents a file-based resource that is used in a project. More... | |
class | ProjectItemID |
An ID representing one of the items in a Project. More... | |
class | ProjectManager |
class | ProjectSearchIndex |
class | PropertyStorage |
Create a subclass of PropertyStorage to customize how settings are saved and recalled. More... | |
class | QuantisationType |
struct | RackConnection |
class | RackInstance |
class | RackInstanceNode |
Sends an input Node to a Rack bus handling the channel mapping and channel gain levels. More... | |
class | RackNodePlayer |
Simple processor for a Node which uses an InputProvider to pass input in to the graph. More... | |
class | RackReturnNode |
Sends an input Node to a Rack bus handling the channel mapping and channel gain levels. More... | |
class | RackType |
class | RackTypeList |
struct | Ramp |
A ramp which goes between 0 and 1 over a set duration. More... | |
class | RandomModifier |
class | RealTimeSpinLock |
A basic spin lock that uses an atomic_flag to store the locked state so should never result in a system call. More... | |
class | RecordingThumbnailManager |
Holds a pool of Thumbnails that are populated whilst recording. More... | |
class | ReferenceCountedValueTree |
Holds a ValueTree as a ReferenceCountedObject. More... | |
class | ReferencedMaterialList |
A list of all the source files needed by an edit (or a section of an edit). More... | |
class | RemoteSLCompact |
class | RenderManager |
Manages a set of reference counted render jobs and can be used to retrieve matching jobs or create new ones. More... | |
class | RenderOptions |
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... | |
class | ReturnNode |
class | ReverbPlugin |
struct | ReverseEffect |
class | ReverseRenderJob |
class | SafeScopedListener |
Manages adding and removing listeners in an RAII way so you don't forget to unregister a listener. More... | |
class | SafeSelectable |
Holds a pointer to some type of Selectable, which automatically becomes null if the selectable is deleted. More... | |
class | SampleFader |
class | SamplerPlugin |
class | Scale |
class | Scene |
A Scene is a collection of ClipSlots across tracks. More... | |
class | SceneList |
Represents the Scenes in an Edit. More... | |
class | SceneWatcher |
Notifies UI components of changes to the scenes and clips. More... | |
struct | ScopedCpuMeter |
struct | ScopedDirectoryDeleter |
class | ScopedListener |
Manages adding and removing listeners in an RAII way so you don't forget to unregister a listener. More... | |
class | ScopedPerformanceMeasurement |
RAII wrapper to start and stop a performance measurement. More... | |
struct | ScopedPluginUnloadInhibitor |
struct | ScopedSignpost |
A macOS specific class to start/stop a signpost for use in Instruments. More... | |
class | ScopedSteadyLoad |
class | ScopedWaitCursor |
Shows and hides the mouse wait cursor where appropriate. More... | |
struct | ScreenSaverDefeater |
As long as at least one of these objects exists, the screensaver will be disabled. More... | |
class | SearchOperation |
class | Selectable |
Base class for things that can be selected, and whose properties can appear in the properties panel. More... | |
class | SelectableClass |
Represents a type of object that can be selected. More... | |
class | SelectableClassWithPan |
class | SelectableClassWithVolume |
struct | SelectableList |
A list of Selectables, similar to a juce::Array but contains a cached list of the SelectableClasses for each entry. More... | |
class | SelectableListener |
class | SelectedMidiEvents |
Represents a set of selected MIDI notes. More... | |
class | SelectionManager |
Manages a list of items that are currently selected. More... | |
class | Semaphore |
A basic counting semaphore. More... | |
class | SendNode |
class | SharedLevelMeasurer |
A shared level measurer that can be used by several threads to provide a total output level. More... | |
class | SharedLevelMeasuringNode |
Applies a SharedLevelMeter to the audio passing through this node. More... | |
class | SharedTimer |
class | SilentNode |
Just a simple audio node that doesn't take any input so can be used as a stub. More... | |
class | SimpleLFO |
class | SimpleNodePlayer |
Simple player for a Node. More... | |
class | SinkNode |
Blocks audio and MIDI input from reaching the outputs. More... | |
class | SinNode |
class | SlotControlNode |
class | SmartThumbnail |
SmartThumnail automatically tracks changes to an AudioFile and will update its cache if the file changes. More... | |
class | SoftwareMidiOutputDevice |
Create a software midi port on macOS. More... | |
struct | SortedValueTreeObjectList |
class | SourceFileReference |
This class wraps a string that is generally held in a 'source' property, and which is a reference to some sort of file, either in the form of a local filename or as a project ID that can be resolved. More... | |
struct | SpeedFadeDescription |
Describes the time and type of the speed fade in/outs. More... | |
class | SpeedRampWaveNode |
An Node that plays back a wave file. More... | |
struct | Spline |
An interpolated spline curve, used by the EQ to draw its response graph. More... | |
struct | SplitTimelineRange |
Represents a pair of timeline ranges which could be wraped around the loop end. More... | |
class | StepClip |
class | StepModifier |
struct | StepVolumeEffect |
struct | StopwatchTimer |
class | SummingNode |
An Node which sums together the multiple inputs adding additional latency to provide a coherent output. More... | |
struct | SyncPoint |
Holds a reference sample position and the Edit time and beat that it corresponds to. More... | |
struct | SyncRange |
class | TempoDetect |
Uses the SoundTouch BPMDetect class to guess the tempo of some audio. More... | |
class | TemporaryFileManager |
Holds info about where temp files should go, and tidies up old ones when needed. More... | |
class | TempoSequence |
Holds a list of TempoSetting objects, to form a sequence of tempo changes. More... | |
class | TempoSetting |
A tempo value, as used in a TempoSequence. More... | |
class | TempoTrack |
A track to represent the "global" items such as tempo, key changes etc. More... | |
class | TextPlugin |
class | ThreadPoolJobWithProgress |
struct | TimecodeDisplayFormat |
A timecode display mode, e.g. More... | |
struct | TimecodeDisplayIterator |
Iterates along a timeline for drawing things like the ticks on the timebar. More... | |
class | TimecodeDuration |
Stores a duration in both beats and seconds. More... | |
struct | TimecodeSnapType |
A snap mode, e.g. More... | |
class | TimedMutingNode |
A Node that mutes its input at specific time ranges. More... | |
class | TimeSigSetting |
class | TimeStretcher |
Handles time/pitch stretching using various supported libraries. More... | |
class | TimeStretchingWaveNode |
Node that reads from a file node and timestretches its output. More... | |
class | ToneGeneratorPlugin |
class | Track |
Base class for tracks which contain clips and plugins and can be added to Edit[s]. More... | |
struct | TrackAutomationSection |
Holds a reference to a section of automation for a given Track. More... | |
class | TrackCompManager |
struct | TrackInsertPoint |
Defines the place to insert Track[s]. More... | |
class | TrackItem |
Base class for EditItems that live in a Track, e.g. More... | |
struct | TrackList |
An iterable list of Track[s] that live either in an Edit or as subtracks of a Track. More... | |
class | TrackMidiInputDeviceNode |
A Node that takes MIDI from the output of a track and sends it to its corresponding InputDevice. More... | |
class | TrackMuteState |
Holds the state of a Track and if its contents/plugins should be played or not. More... | |
class | TrackMutingNode |
A Node that handles muting/soloing of its input node, according to the audibility of a track. More... | |
class | TrackOutput |
Represents the destination output device(s) for a track. More... | |
struct | TrackSection |
Defines a time raneg sectin of a Track. More... | |
class | TracktionArchiveFile |
class | TracktionEngineNode |
Base class for Nodes that provides information about the current process call. More... | |
class | TracktionNodePlayer |
Plays back a Node with PlayHeadState and ProcessState. More... | |
class | TrackWaveInputDeviceNode |
A Node that takes audio from the output of a track and sends it to its corresponding InputDevice. More... | |
class | TransformCache |
struct | TransparentToMouseInTrackItemComp |
class | TransportControl |
Controls the transport of an Edit's playback. More... | |
class | TranzportControlSurface |
class | UIBehaviour |
Create a subclass of UIBehaviour to custom UI elements created by the engine. More... | |
class | ValueSmoother |
Smooths a value between 0 and 1 at a constant rate. More... | |
struct | ValueTreeAllEventListener |
struct | ValueTreeComparator |
class | ValueTreeObjectList |
class | VCAPlugin |
The VCA plugin sits on a folder track to control the overall level of all the volume/pan plugins in its child tracks. More... | |
class | VirtualMidiInputDevice |
class | VolumeAndPanPlugin |
The built-in Tracktion volume/pan plugin. More... | |
struct | VolumeEffect |
class | VSTXML |
struct | WarpMarker |
A WarpMarker is a point that maps from a linear "source" time to a "warped" time. More... | |
struct | WarpPoint |
struct | WarpTimeEffect |
class | WarpTimeFactory |
A WarpTimeFactory manages WarpTimeManagers for Clips living in an Edit. More... | |
class | WarpTimeManager |
A WarpTimeManager contains a list of WarpMarkers and some source material and maps times from a linear "view" time to a "wapred" source time. More... | |
class | WarpTimeRenderJob |
class | WaveAudioClip |
An audio clip that uses an audio file as its source. More... | |
class | WaveCompManager |
struct | WaveDeviceDescription |
Describes a WaveDevice from which the WaveOutputDevice and WaveInputDevice lists will be built. More... | |
class | WaveInputDevice |
A (virtual) audio input device. More... | |
class | WaveInputDeviceNode |
A Node that intercepts incoming live audio and inserts it in to the playback graph. More... | |
class | WaveInputRecordingThread |
class | WaveNode |
An Node that plays back a wave file. More... | |
class | WaveNodeRealTime |
An Node that plays back a wave file. More... | |
class | WaveOutputDevice |
A (virtual) audio output device. More... | |
class | WaveOutputDeviceInstance |
Typedefs | |
using | WarpMap = std::vector< WarpPoint > |
using | SampleCount = int64_t |
using | SampleRange = juce::Range< SampleCount > |
using | HashCode = int64_t |
using | MPESourceID = uint32_t |
Functions | |
juce::Array< KeyResult > | determineKeyOfNotes (const juce::Array< MidiNote * > ¬es) |
AutomationMode | getAutomationMode (const AutomatableParameter &) |
Looks for the Track this parameter is currently on and returns the AutomationMode for it. | |
template<typename AssignmentType > | |
juce::ReferenceCountedArray< AssignmentType > | getAssignmentsOfType (const AutomatableParameter &ap) |
Returns all the Assignments of a specific type. | |
template<typename ModifierType > | |
juce::Array< ModifierType * > | getModifiersOfType (const AutomatableParameter &ap) |
Returns all the modifers in use of a specific type. | |
template<typename AssignmentType , typename ModifierSourceType , typename EditType > | |
juce::ReferenceCountedArray< AssignmentType > | getAssignmentsForSource (EditType &edit, const ModifierSourceType &source) |
Iterates an Edit looking for all parameters that assigned to a given parameter. | |
AutomatableParameter::ModifierSource * | getSourceForAssignment (const AutomatableParameter::ModifierAssignment &) |
Iterates an Edit looking for the source of this assignment. | |
juce::ReferenceCountedArray< AutomatableParameter > | getAllParametersBeingModifiedBy (Edit &, AutomatableParameter::ModifierSource &) |
Iterates an Edit looking for all parameters that are being modified by the given ModifierSource. | |
AutomatableParameter * | getParameter (AutomatableParameter::ModifierAssignment &) |
Iterates an Edit looking for the parameter that this ModifierAssignment has been made from. | |
int | getIntParamValue (const AutomatableParameter &ap) |
Returns an int version of an AutomatableParameter. | |
bool | getBoolParamValue (const AutomatableParameter &ap) |
Returns a bool version of an AutomatableParameter. | |
template<typename Type > | |
Type | getTypedParamValue (const AutomatableParameter &ap) |
Returns an int version of an AutomatableParameter cast to a enum type. | |
int | simplify (AutomationCurve &, int strength, TimeRange) |
Removes points from the curve to simplfy it and returns the number of points removed. | |
MacroParameter::Ptr | getMacroParameterForID (Edit &, EditItemID) |
Searched the Edit for a MacroParameter with this ID. | |
juce::ReferenceCountedObjectPtr< Plugin > | getOwnerPlugin (MacroParameterList *) |
If this MacroParameterList belongs to an Plugin, this will return it. | |
template<typename ModifierType > | |
juce::ReferenceCountedArray< ModifierType > | getModifiersOfType (const ModifierList &ml) |
Returns the modifers of a specific type. | |
Modifier::Ptr | findModifierForID (ModifierList &, EditItemID) |
Returns a Modifier if it can be found in the list. | |
Clip * | findClipForState (ClipOwner &, const juce::ValueTree &) |
Returns a clip with the given state if the ClipOwner contains it. | |
Clip * | findClipForID (ClipOwner &, EditItemID) |
Returns a clip with the given ID if the ClipOwner contains it. | |
Clip * | insertClipWithState (ClipOwner &, juce::ValueTree) |
Inserts a clip with the given state in to the ClipOwner's clip list. | |
Clip * | insertClipWithState (ClipOwner &, const juce::ValueTree &stateToUse, const juce::String &name, TrackItem::Type, ClipPosition, DeleteExistingClips, bool allowSpottingAdjustment) |
Inserts a clip with the given state in to the ClipOwner's clip list. | |
Clip * | insertNewClip (ClipOwner &, TrackItem::Type, EditTimeRange) |
Inserts a new clip with the given type and a default name. | |
Clip * | insertNewClip (ClipOwner &, TrackItem::Type, const juce::String &name, EditTimeRange) |
Inserts a new clip with the given type and name. | |
Clip * | insertNewClip (ClipOwner &, TrackItem::Type, const juce::String &name, ClipPosition) |
Inserts a new clip with the given type and name. | |
juce::ReferenceCountedObjectPtr< WaveAudioClip > | insertWaveClip (ClipOwner &, const juce::String &name, const juce::File &sourceFile, ClipPosition, DeleteExistingClips) |
Inserts a new WaveAudioClip into the ClipOwner's clip list. | |
juce::ReferenceCountedObjectPtr< WaveAudioClip > | insertWaveClip (ClipOwner &, const juce::String &name, ProjectItemID sourceID, ClipPosition, DeleteExistingClips) |
Inserts a new WaveAudioClip into the ClipOwner's clip list. | |
juce::ReferenceCountedObjectPtr< MidiClip > | insertMIDIClip (ClipOwner &, const juce::String &name, TimeRange) |
Inserts a new MidiClip into the ClipOwner's clip list. | |
juce::ReferenceCountedObjectPtr< MidiClip > | insertMIDIClip (ClipOwner &, TimeRange) |
Inserts a new MidiClip into the ClipOwner's clip list. | |
juce::ReferenceCountedObjectPtr< EditClip > | insertEditClip (ClipOwner &, TimeRange, ProjectItemID) |
Inserts a new EditClip into the ClipOwner's clip list. | |
juce::Array< Clip * > | deleteRegion (ClipOwner &, TimeRange) |
Removes a region of a ClipOwner and returns any newly created clips. | |
juce::Array< Clip * > | deleteRegion (Clip &, TimeRange) |
Removes a region of a clip and returns any newly created clips. | |
juce::Array< Clip * > | split (ClipOwner &, TimePosition) |
Splits the given clp owner at the time and returns any newly created clips. | |
Clip * | split (Clip &, TimePosition) |
Splits the given clip at the time and returns the newly created clip. | |
bool | containsAnyMIDIClips (const ClipOwner &) |
Returns true if the clip owner contains any MIDI clips. | |
template<typename ClipType > | |
juce::Array< ClipType * > | getClipsOfType (const ClipOwner &) |
Returns the subclips of the given type. | |
template<typename ClipType > | |
juce::Array< ClipType * > | getClipsOfTypeRecursive (const ClipOwner &) |
Returns the subclips of the given type, if any clips contain other clips, this will also return those. | |
bool | isMasterTrack (const Track &) |
Returns true if this is a MasterTrack. | |
bool | isTempoTrack (const Track &) |
Returns true if this is a TempoTrack. | |
bool | isAutomationTrack (const Track &) |
Returns true if this is an AutomationTrack. | |
bool | isAudioTrack (const Track &) |
Returns true if this is an AudioTrack. | |
bool | isFolderTrack (const Track &) |
Returns true if this is a FolderTrack. | |
bool | isMarkerTrack (const Track &) |
Returns true if this is a MarkerTrack. | |
bool | isChordTrack (const Track &) |
Returns true if this is a ChordTrack. | |
bool | isArrangerTrack (const Track &) |
Returns true if this is an ArrangerTrack. | |
bool | isAudioTrack (const ClipOwner &) |
Returns true if this is an AudioTrack. | |
bool | isFolderTrack (const ClipOwner &) |
Returns true if this is a FolderTrack. | |
bool | isMarkerTrack (const ClipOwner &) |
Returns true if this is a MarkerTrack. | |
bool | isChordTrack (const ClipOwner &) |
Returns true if this is a ChordTrack. | |
bool | isArrangerTrack (const ClipOwner &) |
Returns true if this is an ArrangerTrack. | |
bool | canContainMIDI (const ClipOwner &) |
Returns true if this Track can contain MidiClip[s]. | |
bool | canContainAudio (const ClipOwner &) |
Returns true if this Track can contain WaveAudioClip[s]. | |
bool | isMovable (const Track &) |
Returns true if this Track is movable. | |
bool | isOnTop (const Track &) |
Returns true if this a global Track and should be on top of others. | |
void | mergeInMidiSequence (MidiClip &, juce::MidiMessageSequence, TimeDuration offsetToApply, MidiList::NoteAutomationType) |
Copies a zero-time origin based MIDI sequence in to a MidiClip. | |
std::unique_ptr< Edit > | loadEditFromFile (Engine &, const juce::File &, Edit::EditRole role=Edit::EditRole::forEditing) |
Loads an edit from a file, ready for playback / editing. | |
std::unique_ptr< Edit > | loadEditFromState (Engine &, const juce::ValueTree &, Edit::EditRole role=Edit::EditRole::forEditing) |
Loads an edit from a ValueTree, ready for playback / editing. | |
std::unique_ptr< Edit > | createEmptyEdit (Engine &, const juce::File &) |
Creates a new edit for a file, ready for playback / editing. | |
juce::ValueTree | loadEditFromProjectManager (ProjectManager &, ProjectItemID) |
Uses the ProjectManager to find an Edit file and load it as a ValueTree. | |
std::unique_ptr< Edit > | loadEditForExamining (ProjectManager &, ProjectItemID, Edit::EditRole role=Edit::EditRole::forExamining, Edit::LoadContext *=nullptr) |
Uses the ProjectManager to find an Edit file and open it. | |
juce::ValueTree | loadEditFromFile (Engine &, const juce::File &, ProjectItemID) |
Legacy, will be deprecated soon. | |
juce::ValueTree | createEmptyEdit (Engine &) |
Legacy, will be deprecated soon. | |
juce::ValueTree | updateLegacyEdit (const juce::ValueTree &) |
Converts old edit formats to the latest structure. | |
void | updateLegacyEdit (juce::XmlElement &editXML) |
Converts old edit formats to the latest structure. | |
Project::Ptr | getProjectForEdit (const Edit &) |
Tries to find the project that contains this edit (but may return nullptr!) | |
ProjectItem::Ptr | getProjectItemForEdit (const Edit &) |
Tries to find the project item that refers to this edit (but may return nullptr!) | |
juce::File | getEditFileFromProjectManager (Edit &) |
Uses the ProjectManager to look up the file for an Edit. | |
bool | referencesProjectItem (Edit &, ProjectItemID) |
Returns true if the ProjectItemID is being used for any of the Edit's elements. | |
void | insertSpaceIntoEdit (Edit &, TimeRange timeRangeToInsert) |
Inserts blank space in to an Edit, splitting clips if necessary. | |
void | insertSpaceIntoEditFromBeatRange (Edit &, BeatRange) |
Inserts a number of blank beats in to the Edit. | |
EditItem * | findEditItemForID (Edit &, EditItemID) |
Looks for an item in an edit with a given ID. | |
juce::Array< Track * > | getAllTracks (const Edit &) |
Returns all the tracks in an Edit. | |
juce::Array< Track * > | getTopLevelTracks (const Edit &) |
Returns all of the non-foldered tracks in an Edit. | |
template<typename TrackType > | |
juce::Array< TrackType * > | getTracksOfType (const Edit &, bool recursive) |
Returns the tracks of a given type in an Edit. | |
juce::Array< AudioTrack * > | getAudioTracks (const Edit &) |
Returns all the AudioTracks in an Edit. | |
juce::Array< ClipTrack * > | getClipTracks (const Edit &) |
Returns all the ClipTracks in an Edit. | |
int | getTotalNumTracks (const Edit &) |
Returns the total number of Tracks in an Edit. | |
Track * | findTrackForID (const Edit &, EditItemID) |
Returns the Track with a given ID if contained in the Edit. | |
AudioTrack * | findAudioTrackForID (const Edit &, EditItemID) |
Returns the AudioTrack with a given ID if contained in the Edit. | |
juce::Array< Track * > | findTracksForIDs (const Edit &, const juce::Array< EditItemID > &) |
Returns the Tracks for the given IDs in the Edit. | |
Track * | findTrackForState (const Edit &, const juce::ValueTree &) |
Returns the Track with a given state if contained in the Edit. | |
AudioTrack * | getFirstAudioTrack (const Edit &) |
Returns the first audio track in an Edit. | |
juce::Array< Track * > | findAllTracksContainingSelectedItems (const SelectableList &) |
Returns all the tracks containing the selected tracks or TrackItems. | |
ClipTrack * | findFirstClipTrackFromSelection (const SelectableList &) |
Returns the first ClipTrack from the selected tracks or clips. | |
bool | containsTrack (const Edit &, const Track &) |
Returns true if the Edit contains this Track. | |
TrackOutput * | getTrackOutput (Track &) |
Returns the TrackOutput if the given track has one. | |
juce::BigInteger | toBitSet (const juce::Array< Track * > &) |
Returns the set of tracks as a BigInteger with each bit corresponding to the array of all tracks in an Edit. | |
juce::Array< Track * > | toTrackArray (Edit &, const juce::BigInteger &) |
Returns an Array of Track[s] corresponding to the set bits of all tracks in an Edit. | |
template<typename TrackItemType > | |
juce::Array< TrackItemType * > | getTrackItemsOfType (const Track &) |
ClipOwner * | findClipOwnerForID (const Edit &, EditItemID) |
Returns the ClipOwner with a given ID if it can be found in the Edit. | |
ClipSlot * | findClipSlotForID (const Edit &, EditItemID) |
Returns the ClipSlot for the given ID. | |
int | findClipSlotIndex (ClipSlot &) |
Returns the index of the ClipSlot in the list it is owned by. | |
Clip * | findClipForID (const Edit &, EditItemID) |
Returns the Clip with a given ID if contained in the Edit. | |
Clip * | findClipForState (const Edit &, const juce::ValueTree &) |
Returns the Clip for a given state if contained in the Edit. | |
bool | containsClip (const Edit &, Clip *) |
Returns true if an Edit contains a given clip. | |
Clip::Ptr | duplicateClip (const Clip &) |
Creates a unique copy of this clip with a new EditItemID. | |
void | visitAllTrackItems (const Edit &, std::function< bool(TrackItem &)>) |
Calls a function for all TrackItems in an Edit. | |
TimeRange | getTimeRangeForSelectedItems (const SelectableList &) |
Returns the time range covered by the given items. | |
void | deleteRegionOfTracks (Edit &, TimeRange rangeToDelete, bool onlySelectedTracks, CloseGap, SelectionManager *) |
Deletes a time range of an Edit, optionally closing the gap. | |
void | deleteRegionOfClip (Clip &, TimeRange rangeToDelete) |
Deletes a time range of a Clip. | |
void | deleteRegionOfSelectedClips (SelectionManager &, TimeRange rangeToDelete, CloseGap, bool moveAllSubsequentClipsOnTrack) |
Deletes a time range of a Clip selection, optionally closing the gap. | |
SelectableList | splitClips (const SelectableList &clips, TimePosition time) |
Splits the clips at a given time. | |
void | moveSelectedClips (const SelectableList &, Edit &, MoveClipAction mode, bool alsoMoveAutomation) |
Moves the selected clips within their track. | |
SelectableList | getClipSelectionWithCollectionClipContents (const SelectableList &) |
Returns a list of clips. | |
juce::Array< ClipEffect * > | getAllClipEffects (Edit &edit) |
Returns all clip effects. | |
MidiNote * | findNoteForState (const Edit &, const juce::ValueTree &) |
Returns the MidiNote with a given state. | |
juce::Result | mergeMidiClips (juce::Array< MidiClip * >, SelectionManager *sm=nullptr) |
Merges a set of MIDI clips in to one new one. | |
juce::OwnedArray< MidiList > | readFileToMidiList (juce::File midiFile, bool importAsNoteExpression) |
Helper function to read a file to a number of MidiLists. | |
MidiClip::Ptr | createClipFromFile (juce::File midiFile, ClipOwner &, bool importAsNoteExpression) |
Helper function to read a MIDI file and create a MidiClip from it. | |
Plugin::Array | getAllPlugins (const Edit &, bool includeMasterVolume) |
Returns all the plugins in a given Edit. | |
Plugin::Ptr | findPluginForState (const Edit &, const juce::ValueTree &) |
Returns the plugin with given state. | |
Plugin::Ptr | findPluginForID (const Edit &, EditItemID) |
Returns the plugin with given EditItemID. | |
Track * | getTrackContainingPlugin (const Edit &, const Plugin *) |
Returns the track for the track which the plugin is located on. | |
bool | areAnyPluginsMissing (const Edit &) |
Returns true if any plugins couldn't be loaded beacuse their files are missing. | |
juce::Array< RackInstance * > | getRackInstancesInEditForType (const RackType &) |
Returns all of the instances of a specific RackType in an Edit. | |
void | muteOrUnmuteAllPlugins (const Edit &) |
Toggles the enabled state of all plugins in an Edit. | |
void | midiPanic (Edit &, bool resetPlugins) |
Performs a "MIDI panic" on the edit, by sending all-note-off messages directly to all plugins in the edit, and optionally resetting them to kill any reverb tails, etc. | |
template<typename PluginType > | |
juce::ReferenceCountedObjectPtr< PluginType > | insertNewPlugin (Track &, int index=0) |
Adds a new instance of the given plugin to the track's plugin list at the specified index. | |
juce::Array< AutomatableEditItem * > | getAllAutomatableEditItems (const Edit &) |
Returns all AutomatableEditItems in an Edit. | |
void | deleteAutomation (const SelectableList &selectedClips) |
Deletes the automation covered by the selected clips. | |
juce::Array< AutomatableParameter::ModifierSource * > | getAllModifierSources (const Edit &) |
Returns all the ModifierSources in an Edit. | |
juce::ReferenceCountedArray< Modifier > | getAllModifiers (const Edit &) |
Returns all the Modifiers in an Edit. | |
template<typename ModifierType > | |
ModifierType::Ptr | findModifierTypeForID (const Edit &, EditItemID) |
Returns the Modifier with a given type and ID. | |
Modifier::Ptr | findModifierForID (const Edit &, EditItemID) |
Returns the Modifier with a given ID. | |
Modifier::Ptr | findModifierForID (const RackType &, EditItemID) |
Returns the Modifier with a given ID if the RackType contains it. | |
Track * | getTrackContainingModifier (const Edit &, const Modifier::Ptr &) |
Returns the Track containing a Modifier. | |
juce::Array< MacroParameterList * > | getAllMacroParameterLists (const Edit &) |
Returns all the MacroParameterLists in an Edit. | |
juce::Array< MacroParameterElement * > | getAllMacroParameterElements (const Edit &) |
Returns all the MacroParameterElement in an Edit. | |
InputDeviceInstance::RecordingParameters | getDefaultRecordingParameters (const EditPlaybackContext &, TimePosition playStart, TimePosition punchIn) |
Returns the default set of recording parameters. | |
juce::Result | prepareAndPunchRecord (InputDeviceInstance &, EditItemID) |
Starts an InputDeviceInstance recording to the given target without any count-in etc. | |
tl::expected< Clip::Array, juce::String > | punchOutRecording (InputDeviceInstance &) |
If the instance is currently recording, this will stop it and return any created clips or an error message. | |
bool | isRecording (EditPlaybackContext &) |
Returns true if any inputs are currently recording. | |
InputDeviceInstance::Destination * | assignTrackAsInput (AudioTrack &destinationTrack, const AudioTrack &sourceTrack, InputDevice::DeviceType) |
Creates an InputDeviceInstance::Destination on the destinationTrack from the sourceTrack if possible. | |
juce::StringArray | getLaunchQTypeChoices () |
Returns a list of quantisation type options in the order of LaunchQType. | |
std::optional< LaunchQType > | launchQTypeFromName (const juce::String &) |
Returns a the launch Q from a string returned from getLaunchQTypeChoices(). | |
juce::String | getName (LaunchQType) |
Retuns the name of a LaunchQType for display purposes. | |
double | toBarFraction (LaunchQType) noexcept |
Returns the fraction of a bar to be used for a given rate type. | |
LaunchQType | fromBarFraction (double) noexcept |
Returns the fraction of a bar to be used for a given rate type. | |
BeatPosition | getNext (LaunchQType, const TempoSequence &, BeatPosition) noexcept |
Returns the next quantised position. | |
BeatPosition | getNext (LaunchQType, const tempo::Sequence &, BeatPosition) noexcept |
Returns the next quantised position. | |
bool | operator< (const PitchSetting &p1, const PitchSetting &p2) noexcept |
tempo::Sequence::Position | createPosition (const TempoSequence &) |
Creates a Position to iterate over the given TempoSequence. | |
BeatPosition | toBeats (TimePosition, const TempoSequence &) |
Converts a TimePosition to a BeatPosition given a TempoSequence. | |
TimePosition | toTime (BeatPosition, const TempoSequence &) |
Converts a BeatPosition to a TimePosition given a TempoSequence. | |
BeatRange | toBeats (TimeRange, const TempoSequence &) |
Converts a TimeRange to a BeatRange given a TempoSequence. | |
TimeRange | toTime (BeatRange, const TempoSequence &) |
Converts a BeatRange to a TimeRange given a TempoSequence. | |
TimePosition | toTime (EditTime, const TempoSequence &) |
Converts an EditTime to a TimePosition. | |
BeatPosition | toBeats (EditTime, const TempoSequence &) |
Converts an EditTime to a BeatPosition. | |
TimeRange | toTime (EditTimeRange, const TempoSequence &) |
Converts an EditTimeRange to a TimeRange. | |
BeatRange | toBeats (EditTimeRange, const TempoSequence &) |
Converts an EditTimeRange to a BeatRange. | |
ClipPosition | createClipPosition (const TempoSequence &, TimeRange, TimeDuration offset={}) |
Creates a ClipPosition from either a time or beat range. | |
ClipPosition | createClipPosition (const TempoSequence &, BeatRange, BeatDuration offset={}) |
Creates a ClipPosition from either a time or beat range. | |
int | countNumTracks (const juce::ValueTree &) |
Returns the number of tracks from this tree recursively. | |
void | moveAutomation (const juce::Array< TrackAutomationSection > &, TimeDuration offset, bool copy) |
Moves a set of automation optionally applying an offset and copying the automation (rather than moving it). | |
template<typename ArrayType > | |
int | findIndexOfNextItemAt (const ArrayType &items, TimePosition time) |
Returns the index of the next item after the given time. | |
template<typename ArrayType > | |
TimeRange | findUnionOfEditTimeRanges (const ArrayType &items) |
Returns the the time range that covers all the given TrackItems. | |
juce::Array< std::pair< AudioTrack *, int > > | getTargetTracksAndIndexes (InputDeviceInstance &) |
Returns the AudioTracks and their indexes this instance is assigned to. | |
juce::Array< AudioTrack * > | getTargetTracks (InputDeviceInstance &) |
Returns the AudioTracks this instance is assigned to. | |
bool | isOnTargetTrack (InputDeviceInstance &, const Track &, int idx) |
Returns true if this instance is assigned to the given Track at the given index . | |
bool | isAttached (InputDeviceInstance &) |
Returns true if this input is assigned to a target. | |
juce::Result | clearFromTargets (InputDeviceInstance &, juce::UndoManager *) |
Removes this instance from all assigned targets. | |
InputDeviceInstance::Destination * | getDestination (InputDeviceInstance &, const Track &track, int index) |
Returns the destination if one has been assigned for the given arguments. | |
InputDeviceInstance::Destination * | getDestination (InputDeviceInstance &, const ClipSlot &) |
Returns the destination if one has been assigned for the given arguments. | |
InputDeviceInstance::Destination * | getDestination (InputDeviceInstance &, const juce::ValueTree &destinationState) |
Returns the destination if one has been assigned for the given arguments. | |
bool | hasErrors (const InputDeviceInstance::PreparedContext &pc) |
Returns true if all the targets were fully prepared. | |
InputDeviceInstance::PreparedContext & | append (InputDeviceInstance::PreparedContext &dest, InputDeviceInstance::PreparedContext &&src) |
Appends a PreparedContent to another. | |
std::pair< std::vector< std::unique_ptr< InputDeviceInstance::RecordingContext > >, juce::StringArray > | extract (InputDeviceInstance::PreparedContext &&pc) |
Splits the PreparedContext in to valid RecordingContexts and an array of error messages. | |
juce::String | createDescriptionOfChannels (const std::vector< ChannelIndex > &) |
Creates a String description of the channels. | |
juce::AudioChannelSet | createChannelSet (const std::vector< ChannelIndex > &) |
Creates an AudioChannelSet for a list of ChannelIndexes. | |
juce::AudioChannelSet::ChannelType | channelTypeFromAbbreviatedName (const juce::String &) |
Returns the ChannelType for an abbreviated name. | |
juce::AudioChannelSet | channelSetFromSpeakerArrangmentString (const juce::String &) |
Creates an AudioChannelSet from a list of abbreviated channel names. | |
std::unique_ptr< tracktion::graph::Node > | createNodeForEdit (EditPlaybackContext &, std::atomic< double > &audibleTimeToUpdate, const CreateNodeParams &) |
Creates a Node to play back an Edit with live inputs and outputs. | |
std::unique_ptr< tracktion::graph::Node > | createNodeForEdit (Edit &, const CreateNodeParams &) |
Creates a Node to render an Edit. | |
void | toStart (TransportControl &, const SelectableList &) |
Moves the transport to the start of the selected objects. | |
void | toEnd (TransportControl &, const SelectableList &) |
Moves the transport to the end of the selected objects. | |
void | tabBack (TransportControl &) |
Moves the transport back to the previous point of interest. | |
void | tabForward (TransportControl &) |
Moves the transport forwards to the next point of interest. | |
void | markIn (TransportControl &) |
Sets the mark in position to the current transport position. | |
void | markOut (TransportControl &) |
Sets the mark out position to the current transport position. | |
void | scrub (TransportControl &, double unitsForwards) |
Scrubs back and forth in 'units', where a unit is about 1/50th of the width of the strip window. | |
void | freePlaybackContextIfNotRecording (TransportControl &) |
Frees the playback context if no recording is in progress, useful for when an app is minimised. | |
void | float2string (float f, char *text, int len) |
void | int2string (float i, char *text, int len) |
void | dB2string (float value, char *text, int maxLen) |
std::string | getCmajorVersion () |
std::unique_ptr< juce::AudioPluginFormat > | createCmajorPatchPluginFormat (Engine &) |
bool | isCmajorPatchPluginFormat (const juce::PluginDescription &) |
bool | isCmajorPatchPluginFormat (const juce::String &formatName) |
juce::String | getCmajorPatchPluginFormatName () |
juce::String | getCmajorPatchCompileError (Plugin &) |
juce::String | createIdentifierString (const juce::PluginDescription &) |
SearchOperation * | createSearchForKeywords (const juce::String &keywords) |
Turns a keyword string into a search condition tree. | |
AudioTrack * | getOrInsertAudioTrackNearestIndex (Edit &edit, int trackIndex) |
template<typename SelectableType > | |
SafeSelectable< SelectableType > | makeSafeRef (SelectableType &selectable) |
Creates a SafeSelectable for a given selectable object. | |
template<typename Iterable > | |
auto | makeSafeVector (const Iterable &selectables) -> std::vector< SafeSelectable< typename std::remove_reference< decltype(*selectables[0])>::type > > |
Creates a std::vector<SafeSelectable<Something>> for a given juce::Array of selectable objects. | |
template<typename WeakReferenceable > | |
juce::WeakReference< WeakReferenceable > | makeWeakRef (WeakReferenceable &object) |
Creates a juce::WeakReference for an object. | |
template<typename WeakReferenceable > | |
juce::WeakReference< WeakReferenceable > | makeWeakRef (WeakReferenceable *object) |
Creates a juce::WeakReference for an object pointer (which may be null) | |
bool | callBlocking (std::function< void()> f) |
Calls a function on the message thread by posting a message and then waiting for it to be delivered. | |
bool | callBlockingCatching (std::function< void()> f) noexcept |
The same as callBlocking expect the exception is caught and ignored. | |
float | dbToGain (float db) noexcept |
float | gainToDb (float gain) noexcept |
juce::String | gainToDbString (float gain, float infLevel=-96.0f, int decPlaces=2) |
float | dbStringToDb (const juce::String &dbStr) |
float | dbStringToGain (const juce::String &dbStr) |
juce::String | getPanString (float pan) |
juce::String | getSemitonesAsString (double semitones) |
template<typename FloatType > | |
FloatType | midiNoteToFrequency (FloatType midiNote) |
template<typename FloatType > | |
FloatType | frequencyToMidiNote (FloatType freq) |
void | sanitiseValues (juce::AudioBuffer< float > &, int startSample, int numSamples, float maxAbsValue, float minAbsThreshold=1.0f/262144.0f) |
void | addAntiDenormalisationNoise (juce::AudioBuffer< float > &, int start, int numSamples) noexcept |
void | resetFP () noexcept |
bool | hasFloatingPointDenormaliseOccurred () noexcept |
void | zeroDenormalisedValuesIfNeeded (juce::AudioBuffer< float > &) noexcept |
bool | isAudioDataAlmostSilent (const float *data, int num) |
float | getAudioDataMagnitude (const float *data, int num) |
void | convertIntsToFloats (juce::AudioBuffer< float > &) |
void | convertFloatsToInts (juce::AudioBuffer< float > &) |
void | yieldGUIThread () noexcept |
template<typename SampleType > | |
choc::buffer::BufferView< SampleType, choc::buffer::SeparateChannelLayout > | toBufferView (juce::AudioBuffer< SampleType > &buffer) |
Converts a juce::AudioBuffer<SampleType> to a choc::buffer::BufferView. | |
PanLaw | getDefaultPanLaw () noexcept |
void | setDefaultPanLaw (PanLaw) |
juce::StringArray | getPanLawChoices (bool includeDefault) noexcept |
float | decibelsToVolumeFaderPosition (float dB) noexcept |
float | volumeFaderPositionToDB (float position) noexcept |
float | volumeFaderPositionToGain (float position) noexcept |
float | gainToVolumeFaderPosition (float gain) noexcept |
void | getGainsFromVolumeFaderPositionAndPan (float volSliderPos, float pan, PanLaw lawToUse, float &leftGain, float &rightGain) noexcept |
void | clearChannels (juce::AudioBuffer< float > &buffer, int startChannel, int endChannel=-1, int startSample=0, int endSample=-1) |
juce::AudioPlayHead::CurrentPositionInfo | getCurrentPositionInfo (Edit &) |
Converts an Edit's internal transport information to a juce::AudioPlayHead::CurrentPositionInfo. | |
void | synchroniseEditPosition (Edit &, const juce::AudioPlayHead::CurrentPositionInfo &) |
Syncs an Edit's transport and tempo sequence to a juce AudioPlayHead. | |
bool | isMidiFile (const juce::File &) |
bool | isTracktionEditFile (const juce::File &) |
bool | isTracktionArchiveFile (const juce::File &) |
bool | isTracktionProjectFile (const juce::File &) |
bool | isTracktionPresetFile (const juce::File &) |
juce::File | getNonExistentSiblingWithIncrementedNumberSuffix (const juce::File &, bool addHashSymbol) |
void | addSortedListToMenu (juce::PopupMenu &m, juce::StringArray names, int startID) |
juce::AffineTransform | getScaleAroundCentre (juce::Rectangle< float > r, float numPixels) |
void | moveXMLAttributeToStart (juce::XmlElement &xml, juce::StringRef att) |
template<typename Vector , typename Predicate > | |
bool | removeIf (Vector &v, Predicate &&pred) |
template<typename FloatingPointType > | |
bool | almostEqual (FloatingPointType firstValue, FloatingPointType secondValue, FloatingPointType precision=(FloatingPointType) 0.00001) |
Checks to see if two values are equal within a given precision. | |
MonotonicBeatRange | getMonotonicBeatRange (const SyncRange &) |
BeatRange | getBeatRange (const SyncRange &) |
int64_t | getNumSamples (const SyncRange &) |
template<typename VarType > | |
void | convertPropertyToType (juce::ValueTree &v, const juce::Identifier &id) |
Ensures a property is a given type which can avoid having to parse a string every time it is read after loading from XML. | |
template<typename Type > | |
bool | matchesAnyOf (const Type &needle, const std::initializer_list< Type > &haystack) |
Returns true if the needle is found in the haystack. | |
template<typename Type , typename UnaryFunction > | |
void | forEachItem (const juce::Array< Type * > &items, const UnaryFunction &fn) |
Calls a function object on each item in an array. | |
template<typename... Others> | |
void | addValueTreeProperties (juce::ValueTree &v, const juce::Identifier &name, const juce::var &value, Others &&... others) |
template<typename... Properties> | |
juce::ValueTree | createValueTree (const juce::Identifier &name, Properties &&... properties) |
juce::Array< juce::ValueTree > & | removeInvalidValueTrees (juce::Array< juce::ValueTree > &trees) |
Strips out any invalid trees from the array. | |
juce::Array< juce::ValueTree > | getTreesOfType (const juce::Array< juce::ValueTree > &trees, const juce::Identifier &type) |
Returns a new array with any trees without the given type removed. | |
void | getChildTreesRecursive (juce::Array< juce::ValueTree > &result, const juce::ValueTree &tree) |
void | renamePropertyRecursive (juce::ValueTree &tree, const juce::Identifier &oldName, const juce::Identifier &newName, juce::UndoManager *um) |
template<typename NodeType , typename... Args> | |
std::unique_ptr< Node > | makeNode (Args &&... args) |
Creates a node of the given type and returns it as the base Node class. | |
bool | operator< (NodeAndID n1, NodeAndID n2) |
Compares two NodeAndIDs. | |
bool | operator== (NodeAndID n1, NodeAndID n2) |
Compares two NodeAndIDs. | |
std::unique_ptr< NodeGraph > | createNodeGraph (std::unique_ptr< Node >) |
Transforms a Node and then returns a NodeGraph of it ready to be initialised. | |
template<typename Visitor > | |
void | visitNodes (Node &, Visitor &&, bool preordering) |
Should call the visitor for any direct inputs to the node exactly once. | |
template<typename Visitor > | |
void | visitNodesBFS (Node &node, Visitor &&visitor) |
void | addNodesRecursive (std::vector< NodeAndID > &nodeMap, Node &n) |
std::vector< NodeAndID > | createNodeMap (const std::vector< Node * > &nodes) |
LockFreeMultiThreadedNodePlayer::ThreadPoolCreator | getPoolCreatorFunction (ThreadPoolStrategy) |
Returns a function to create a ThreadPool for the given stategy. | |
template<typename IntType > | |
constexpr double | sampleToTime (IntType samplePosition, double sampleRate) |
Converts an integer sample number to a time in seconds. | |
constexpr int64_t | timeToSample (std::floating_point auto timeInSeconds, double sampleRate) |
Converts a time in seconds to a sample number. | |
template<typename IntType > | |
constexpr juce::Range< double > | sampleToTime (juce::Range< IntType > sampleRange, double sampleRate) |
Converts an integer sample range to a time range in seconds. | |
constexpr juce::Range< int64_t > | timeToSample (juce::Range< double > timeInSeconds, double sampleRate) |
Converts a time range in seconds to a range of sample numbers. | |
template<typename RangeType > | |
constexpr juce::Range< int64_t > | timeToSample (RangeType timeInSeconds, double sampleRate) |
Converts a time range in seconds to a range of sample numbers. | |
template<typename NodeType , typename Predicate > | |
NodeType * | findNode (NodeGraph &nodeGraph, Predicate pred) |
Attempts to find a Node of a given type with a specified ID. | |
template<typename NodeType > | |
NodeType * | findNodeWithID (NodeGraph &nodeGraph, size_t nodeIDToLookFor) |
Attempts to find a Node of a given type with a specified ID. | |
template<typename NodeType > | |
NodeType * | findNodeWithIDIfNonZero (NodeGraph *nodeGraph, size_t nodeIDToLookFor) |
Attempts to find a Node of a given type with a specified ID. | |
juce::AudioBuffer< float > | toAudioBuffer (choc::buffer::ChannelArrayView< float > view) |
Creates a juce::AudioBuffer from a choc::buffer::BufferView. | |
template<typename SampleType > | |
choc::buffer::BufferView< SampleType, choc::buffer::SeparateChannelLayout > | toBufferView (juce::AudioBuffer< SampleType > &buffer) |
Converts a juce::AudioBuffer<SampleType> to a choc::buffer::BufferView. | |
choc::buffer::FrameRange | createFrameRange (std::integral auto start, std::integral auto end) |
Creates a FrameRange from any integral type. | |
juce::MidiMessage | toMidiMessage (const choc::midi::Sequence::Event &e) |
Converts a choc::midi event to a juce::MidiMessage. | |
template<typename BufferViewType , typename SampleType , typename SmoothingType > | |
void | multiplyBy (BufferViewType &view, juce::SmoothedValue< SampleType, SmoothingType > &value) noexcept |
Mutiplies a choc::buffer::BufferView by a juce::SmoothedValue. | |
template<typename BufferType , typename GainType > | |
void | applyGainRamp (BufferType &&buffer, GainType startGain, GainType endGain) noexcept |
Applies a gain ram to a choc::buffer::BufferView. | |
choc::buffer::FrameRange | frameRangeWithStartAndLength (choc::buffer::FrameCount start, choc::buffer::FrameCount length) |
Returns a FrameRange with a start and length. | |
choc::buffer::ChannelRange | channelRangeWithStartAndLength (choc::buffer::ChannelCount start, choc::buffer::ChannelCount length) |
Returns a ChannelRange with a start and length. | |
template<typename Buffer > | |
void | sanitise (Buffer &buffer) |
template<typename SampleType , template< typename > typename LayoutType> | |
void | sanityCheckView (const choc::buffer::BufferView< SampleType, LayoutType > &view) |
Checks that the channels have valid pointers if they have a non-zero number of frames. | |
bool | setThreadPriority (std::thread &, int priority) |
Changes the thread's priority. | |
bool | tryToUpgradeCurrentThreadToRealtime (const juce::Thread::RealtimeOptions &) |
Tries to upgrade the current thread to realtime priority. | |
Variables | |
const char *const | projectFileSuffix = ".tracktion" |
const char *const | editFileSuffix = ".tracktionedit" |
const char *const | legacyEditFileSuffix = ".trkedit" |
const char *const | archiveFileSuffix = ".trkarch" |
const char *const | soundFileWildCard = "*.wav;*.aiff;*.aif;*.ogg;*.mp3;*.flac;*.au;*.voc;*.caf;*.w64;*.rx2;*.rcy;*.rex;*.wfaf" |
const char *const | soundFileAndMidiWildCard = "*.wav;*.aiff;*.aif;*.ogg;*.mp3;*.mid;*.midi;*.flac;*.au;*.voc;*.caf;*.w64;*.rx2;*.rcy;*.rex;*.wfaf" |
const char *const | midiFileWildCard = "*.midi;*.mid" |
const char *const | soundFileExtensions = "wav;aiff;aif;ogg;mp3;flac;au;voc;caf;w64;rx2;rcy;rex;wfaf" |
const char *const | soundFileAndMidiExtensions = "wav;aiff;aif;ogg;mp3;flac;au;voc;caf;w64;rx2;rcy;rex;wfaf;midi;mid" |
const char *const | midiFileExtensions = "midi;mid" |
const char *const | keyMapWildCard = "*.tracktionkeys" |
const char *const | keyMapSuffix = ".tracktionkeys" |
const char *const | customControllerFileSuffix = ".trkctrlr" |
const char *const | customProgramSetWildcard = "*.trkmidi;*.midnam" |
const char *const | customProgramSetFileSuffix = ".trkmidi" |
const char *const | presetFileSuffix = ".trkpreset" |
const char *const | rackFileSuffix = ".trkrack" |
const char *const | scriptFileSuffix = ".tracktionscript" |
const char *const | grooveTemplateSuffix = ".trkgroove" |
const char *const | grooveTemplateWildCard = "*.trkgroove" |
constexpr HertzTag | HertzTag_t {} |
Aims:
Notes:
Initialisation:
Avoiding incontinuities when latency changes:
Buffer optimisation: