|
TracktionEngine
|
Namespaces | |
| namespace | AppFunctions |
| namespace | benchmark_utilities |
| namespace | Click |
| namespace | ClipConstants |
| Constraints for clip speeds. | |
| namespace | dawproject |
| DAWproject interchange format support. | |
| namespace | detail |
| namespace | details |
| namespace | IDs |
| namespace | legacy |
| namespace | MidiNodeHelpers |
| namespace | modifier |
| namespace | ModifierCommon |
| namespace | PredefinedWavetable |
| namespace | ProjectUtilities |
| Utilities for consolidating Projects and Edits. | |
| namespace | RackNodeBuilder |
| namespace | render_utils |
| 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 | ARAFileReader |
| Manages an ARA plugin instance for an audio clip. More... | |
| struct | ARAIXMLResult |
| Result of detecting ARA iXML chunks in an audio file. More... | |
| class | ARANode |
| Node for playing back audio through an ARA plugin. More... | |
| class | ARAPluginBinding |
| RAII wrapper for an ARA document-controller binding created by ARADocumentHolder::bindPluginToDocument, owned by the bound ExternalPlugin (see ExternalPlugin::setARADocumentBinding). More... | |
| class | ArchiveJob |
| Job that archives a Project or single Edit into a standard zip file. More... | |
| 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... | |
| struct | AudioAnalysisOptions |
| Options for the standard analyseAudioFile() convenience overload. More... | |
| class | AudioBufferSnapshot |
| class | AudioClipBase |
| Base class for Clips that produce some kind of audio e.g. More... | |
| struct | AudioClipPlayhead |
| Holds a playhead for an AudioClipBase. More... | |
| struct | AudioFadeCurve |
| class | AudioFifo |
| A single-producer, single-consumer fifo of audio samples. More... | |
| class | AudioFile |
| class | AudioFileAnalyser |
| Interface for a streaming audio-file analyser. More... | |
| 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... | |
| struct | AudioFormatReaderWithTimeout |
| 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 |
| struct | AutomatableParameterID |
| Contains the ID of an AutomatableEditItem and the paramID. More... | |
| class | AutomatableParameterTree |
| class | AutomationCurve |
| class | AutomationCurveList |
| Manages a list of AutomationCurveModifiers which can be used to control the values and modifiers of AutomatableParameters. More... | |
| class | AutomationCurveModifier |
| An AutomationCurveModifier contains three curves to control automation: absolute, relative and scale. More... | |
| struct | AutomationCurvePlayhead |
| Holds a playhead for an AutomationCurveModifier type. More... | |
| class | AutomationDragDropTarget |
| Components can implement this to let things know which automatable parameter they control. More... | |
| struct | AutomationIterator |
| A cache of automation points, with a cursor which moves through it. More... | |
| class | AutomationRecordManager |
| Stores automation data as it's being read in, and writes it back to the edit when recording finishes. More... | |
| 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 |
| struct | BaseAndModValue |
| Contains the base and modifier values if they are active. More... | |
| struct | BeatDetect |
| struct | BlockingFunction |
| class | BreakpointOscillatorModifier |
| class | BufferedAudioFileManager |
| class | BufferedAudioReader |
| class | BufferedFileReader |
| class | BufferedFileReaderWrapper |
| class | BufferingAudioReaderWrapper |
| AudioFormatReaderWithTimeout that wraps a BufferingAudioReader to avoid reading on the audio thread. More... | |
| class | ChannelMapperPlugin |
| A plugin that applies an explicit channel mapping. 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... | |
| struct | ClipPositionBeats |
| Represents the position of a clip on a timeline. More... | |
| struct | ClipPositionInfo |
| Holds information about the position of a clip. 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 | 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 |
| struct | CurvePosition |
| A position of a curve in an Edit. More... | |
| 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 | DiscreteLabelledParameter |
| 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 | EditDefaults |
| Defaults applied to newly created Edits. 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... | |
| class | EditLoader |
| Some useful utility functions for asyncronously loading Edits on background threads. More... | |
| struct | EditNodeBuilder |
| class | EditPlaybackContext |
| struct | EditPosition |
| Represents a time point in an Edit stored as either time or beats. More... | |
| class | EditPositionWithTempoSequence |
| class | EditRenderer |
| Some useful utility functions for asyncronously rendering Edits on background threads. More... | |
| class | EditRenderJob |
| class | EditSnapshot |
| Holds a snapshot of an Edit file of the last time it was saved. 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 | 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 |
| Wraps a juce::AudioPluginInstance (VST2, VST3, AU, etc.) as a tracktion Plugin. More... | |
| struct | FadeInOutEffect |
| class | FadeInOutNode |
| A Node that fades in and out given time regions. More... | |
| class | FileBasedProject |
| Contains the implementation logic for a file-based (.tracktion) project. More... | |
| struct | FileDragList |
| class | FloatAudioFormat |
| A raw, proprietary, simple floating point format used for freeze files, etc. More... | |
| class | FolderBasedProject |
| A project backend that represents a folder on disk. More... | |
| class | FolderTrack |
| class | FollowActions |
| class | FourOscPlugin |
| class | FreezePointPlugin |
| 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 | LambdaValueTreeAllEventListener |
| class | LAMEManager |
| Manages the LAME location property and an AudioFormat if the LAME encoder is provided. More... | |
| class | LatencyPlugin |
| A test plugin that introduces latency to the incoming signal. More... | |
| class | LauncherClipPlaybackHandle |
| class | LaunchHandle |
| A handle used to control the launching of a clip. More... | |
| 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 | 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 | 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 | LoudnessMeter |
| A real-time-safe EBU R128 / ITU-R BS.1770-4 loudness meter. 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... | |
| struct | MemoryMappedFileReader |
| AudioFormatReaderWithTimeout 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 | MinBeatConstrainer |
| 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 | 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 |
| struct | ParameterWithStateValue |
| A helper class that creates an AutomatableParameter and links it to a CachedValue, to make it easier to create and manage parameters whose values are stored as a property in a plugin's ValueTree state. More... | |
| class | PatchBayPlugin |
| class | PatternGenerator |
| class | PhaserPlugin |
| class | PhysicalMidiInputDevice |
| struct | Pitch |
| class | PitchSequence |
| class | PitchSetting |
| struct | PitchShiftEffect |
| class | PitchShiftPlugin |
| struct | PlannedRenderJob |
| A concrete render job created from a RenderSpecification. 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 | Plugin |
| Base class for all audio plugins in the Tracktion Engine. More... | |
| 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 |
| Holds the information needed to construct a Plugin: the owning Edit, the ValueTree that stores the plugin's persistent state, and whether this is a brand-new insertion vs. More... | |
| 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 | ProjectBase |
| Abstract base class for project backends. More... | |
| class | ProjectID |
| A strongly-typed wrapper for a project's numeric ID. 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 | ProjectItemRef |
| A lightweight reference that can hold either a ProjectItemID or a file path. More... | |
| class | ProjectManager |
| Manages the master list of projects known to the engine. More... | |
| 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 | ReadAheadTimeStretcher |
| Wraps a TimeStretcher but keeps a larger internal input and output buffer and uses a background thread to try and process frames, reducing CPU cost on real-time threads. 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 | Renderer |
| Lowest level render operation. More... | |
| 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 | RenderQueue |
| Runs a list of render jobs strictly one at a time, in order. More... | |
| struct | RenderSpecification |
| A plain-data description of a single render operation: one output file. More... | |
| 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... | |
| struct | ScopedPluginUnloadInhibitor |
| class | ScopedSteadyLoad |
| struct | ScopedThreadExitStatusEnabler |
| Enables the calling thread to be cancelled from another thread and the calling thread to be able to query this. More... | |
| class | ScopedTrackMuter |
| Mutes a set of tracks for its lifetime, restoring their previous mute states on destruction. More... | |
| 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 | 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 | 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 | SimpleLFO |
| 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... | |
| class | StepClip |
| class | StepModifier |
| struct | StepVolumeEffect |
| class | StereoFieldAnalyser |
| A real-time-safe stereo field analyser: phase correlation, stereo balance and stereo width, over a short sliding window and over the whole measurement. More... | |
| struct | StopwatchTimer |
| struct | SuffixedParameter |
| 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 | 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... | |
| 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 | ValueTreePropertyChangedListener |
| 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 group of audio channels from a physical device, which are to be treated as a WaveInputDevice or WaveOutputDevice. More... | |
| struct | WaveDeviceDescriptionList |
| 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 |
Concepts | |
| concept | WeakReferenceable |
Typedefs | |
| using | EditDuration = std::variant< TimeDuration, BeatDuration > |
| Alias for a duration. | |
| using | EditTime = EditPosition |
| Alias provided for compatibility, may be removed in future. | |
| using | MelodyneNode = ARANode |
| using | WarpMap = std::vector< WarpPoint > |
| using | MelodyneFileReader = ARAFileReader |
| template<typename Type , typename Constrainer = DummyConstrainer<Type>> | |
| using | AtomicWrapperRelaxed = AtomicWrapper< Type, Constrainer, std::memory_order_relaxed, std::memory_order_relaxed > |
| template<typename Type , typename Constrainer = DummyConstrainer<Type>> | |
| using | AtomicWrapperAcqRel = AtomicWrapper< Type, Constrainer, std::memory_order_acquire, std::memory_order_release > |
| using | SampleCount = int64_t |
| using | SampleRange = juce::Range< SampleCount > |
| using | HashCode = int64_t |
| using | MPESourceID = uint32_t |
Functions | |
| tl::expected< juce::var, juce::String > | analyseAudioFile (Engine &, const juce::File &, const std::vector< AudioFileAnalyser * > &, const std::function< bool()> &shouldAbort={}) |
| Streams an audio file once through the given analysers, returning their combined results as a JSON-style object with the file's basic properties (sampleRate, channels, seconds) always included. | |
| tl::expected< juce::var, juce::String > | analyseAudioFile (Engine &, const juce::File &, const AudioAnalysisOptions &={}) |
| Analyses a file with the standard level/spectrum/envelope analysers. | |
| 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, EditTimeRange, juce::Range< float > valueRange, juce::UndoManager *) |
| Removes points from the curve to simplify it and returns the number of points removed. | |
| void | mergeCurve (AutomationCurve &dest, EditTimeRange destRange, const AutomationCurve &source, EditPosition sourceStartTime, float defaultValue, EditDuration fadeLength, bool leaveOpenAtStart, bool leaveOpenEnded) |
| float | getValueAt (AutomatableParameter &, EditPosition) |
| Returns the value of a parameter's curve at the given position. | |
| float | getValueAt (AutomatableParameter &, TimePosition) |
| Returns the value of a parameter's curve at the given position. | |
| EditTimeRange | getFullRange (const AutomationCurve &) |
| Returns the range the curve occupies. | |
| juce::String | toString (CurveModifierType) |
| Converts a CurveModifierType to a string if possible. | |
| std::optional< CurveModifierType > | curveModifierTypeFromString (juce::String) |
| Converts a string to a CurveModifierType if possible. | |
| BaseAndModValue | getValuesAtEditPosition (AutomationCurveModifier &, AutomatableParameter &, EditPosition) |
| Returns the base and modifier values this AutomationCurveModifier will apply at the given position. | |
| BaseAndModValue | getValuesAtCurvePosition (AutomationCurveModifier &, AutomatableParameter &, EditPosition) |
| Returns the base and modifier values this AutomationCurveModifier will apply at the given position. | |
| BaseAndModValue | getValuesAtCurvePositionUnlooped (AutomationCurveModifier &, AutomatableParameter &, EditPosition) |
| Similar to getValuesAtCurvePosition but doesn't apply the looping which can be useful when drawing the curves. | |
| std::optional< EditPosition > | applyTimingToCurvePosition (AutomationCurveModifier &, CurveModifierType, EditPosition) |
| Takes a position relative to the AutomationCurveModifier and applies the CurveTiming to it, giving a final position relative to the AutomationCurve. | |
| std::optional< EditPosition > | editPositionToCurvePosition (AutomationCurveModifier &, CurveModifierType, EditPosition) |
| Converts a position relative to the Edit and applies the CurvePosition and CurveTiming to it, giving a final position relative to the AutomationCurve. | |
| float | getDefaultValue (AutomatableParameter &, CurveModifierType) |
| Returns the default value used if there is no curve for the given type. | |
| bool | hasAnyPoints (AutomationCurveModifier &) |
| Returns true if any of the curves have any points. | |
| AutomatableParameter::Ptr | getParameter (const AutomationCurveModifier &) |
| Returns the destination parameter this curve is controlling. | |
| AutomationCurveModifier::Ptr | getAutomationCurveModifierForID (Edit &, EditItemID) |
| Returns the AutomationCurveModifier with the given EditItemID. | |
| void | updateRelativeDestinationOrRemove (AutomationCurveList &, AutomationCurveModifier &, Clip &newParent) |
| Looks at the destinations on the given AutomationCurveModifier and tries to re-assign parameters to corresponding parameters via the newParent Clip. | |
| void | assignNewIDsToAutomationCurveModifiers (Edit &, juce::ValueTree &) |
| Iterates over the given tree and gives new IDs to any AutomationCurveModifier states. | |
| void | removeInvalidAutomationCurveModifiers (juce::ValueTree &, const AutomatableParameter &) |
| Removes any assignments in the given state if they don't have the given parameter as the destination. | |
| std::optional< AutomationMode > | automationModeFromString (juce::String) |
| Converts an AutomationMode from a string. | |
| juce::String | toString (AutomationMode) |
| Converts an AutomationMode to string. | |
| 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. | |
| void | showARAWindow (AudioClipBase &) |
| Shows the ARA plugin window if this clip is using an ARA plugin. | |
| void | hideARAWindow (AudioClipBase &) |
| Hides the ARA plugin window if this clip is using an ARA plugin. | |
| void | araConvertToMIDI (AudioClipBase &) |
| If this clip is using an ARA plugin, this will create a new MIDI clip based on the ARA plugin's analysis. | |
| void | showMelodyneWindow (AudioClipBase &c) |
| void | hideMelodyneWindow (AudioClipBase &c) |
| void | melodyneConvertToMIDI (AudioClipBase &c) |
| 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, ProjectItemRef 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, ProjectItemRef) |
| 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. | |
| std::optional< FollowAction > | followActionFromString (juce::String) |
| Converts a string to a FollowAction if possible. | |
| juce::String | toString (FollowAction) |
| Converts a FollowAction to a string if possible. | |
| std::function< void(MonotonicBeat)> | createFollowAction (Clip &) |
| Creates a follow action for a Clip. | |
| 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, Edit::LoadContext *=nullptr) |
| 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, Edit::LoadContext *=nullptr) |
| 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 &, ProjectItemRef) |
| Uses the ProjectManager to find an Edit file and load it as a ValueTree. | |
| std::unique_ptr< Edit > | loadEditForExamining (ProjectManager &, ProjectItemRef, 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 &, ProjectItemRef) |
| 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 &, ProjectItemRef) |
| Returns true if the ProjectItemRef is being used for any of the Edit's elements. | |
| void | convertAllSourcePaths (Edit &, bool useRelativePaths) |
| Converts all clip source paths in an Edit to relative or absolute paths. | |
| void | insertSpaceIntoEdit (Edit &, TimeRange timeRangeToInsert, const juce::Array< Track * > &onlyTheseTracks={}) |
| 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 given tracks as a BigInteger, with each set bit corresponding to a track's index in the Edit's array of all tracks (. | |
| 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. | |
| std::vector< 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. | |
| Track * | getTrackShowingParameter (AutomatableParameter &) |
| Returns the Track that is currently showing an AutomatableParameter's curve. | |
| 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. | |
| template<typename Type > requires (std::is_same_v<Type, Edit> || requires (Type t) { t.edit; } || requires (Type t) { t.getEdit(); }) | |
| Edit & | getEdit (Type &type) |
| Returns a reference to the Edit if accessible by the given object. | |
| TempoSequence & | getTempoSequence (auto &type) |
| juce::UndoManager & | getUndoManager (auto &type) |
| juce::UndoManager * | getUndoManager_p (auto &type) |
| 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. | |
| bool | isLegacyArchive (Engine &, const juce::File &) |
| Returns true if the file is a legacy .trkarch archive. | |
| bool | isArchive (Engine &, const juce::File &) |
| Returns true if the file is any supported archive format (legacy or zip). | |
| juce::StringPairArray | createAcidInfo (Edit &, TimeRange) |
| Creates ACID metadata info from the Edit. | |
| std::optional< RenderFormat > | renderFormatFromString (juce::String) |
| Converts a RenderFormat from its canonical name, or nullopt if unrecognised. | |
| juce::String | toString (RenderFormat) |
| Converts a RenderFormat to its canonical name. | |
| bool | isMidiFormat (RenderFormat f) |
| True for the format that writes notes rather than audio. | |
| juce::StringPairArray | 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 | hasTagMetadata (Edit &) |
| True if an Edit has actually been given any tags, which is what decides whether tagging is enabled by default. | |
| bool | 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 | 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 | 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< EditItemID > | 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< PlannedRenderJob > | createRenderJob (Edit &, const RenderSpecification &) |
| Creates the render job for a valid specification. | |
| std::vector< RenderSpecification > | 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. | |
| BeatPosition | toBeats (TimePosition, const TempoSequence &) |
| Converts a TimePosition to a BeatPosition given a TempoSequence. | |
| BeatPosition | toBeats (TimePosition, const tempo::Sequence &) |
| TimePosition | toTime (BeatPosition, const TempoSequence &) |
| Converts a BeatPosition to a TimePosition given a TempoSequence. | |
| TimePosition | toTime (BeatPosition, const tempo::Sequence &) |
| BeatRange | toBeats (TimeRange, const TempoSequence &) |
| Converts a TimeRange to a BeatRange given a TempoSequence. | |
| BeatRange | toBeats (TimeRange, const tempo::Sequence &) |
| TimeRange | toTime (BeatRange, const TempoSequence &) |
| Converts a BeatRange to a TimeRange given a TempoSequence. | |
| TimeRange | toTime (BeatRange, const tempo::Sequence &) |
| EditPosition | toPosition (EditDuration) |
| Returns the raw value of beats or seconds, only really useful for comparing two EditDurations with the same time base. | |
| double | toUnderlying (EditDuration) |
| Returns the raw value of beats or seconds, only really useful for comparing two EditDurations with the same time base. | |
| bool | isZero (EditDuration) |
| Returns true if the duration is 0 beats or seconds. | |
| bool | isGreaterThanZero (EditDuration) |
| Returns true if the duration is greater than zero beats or seconds. | |
| EditPosition | plus (const EditPosition &lhs, const EditDuration &rhs, const TempoSequence &ts) |
| EditPosition | minus (const EditPosition &lhs, const EditDuration &rhs, const TempoSequence &ts) |
| bool | equals (const EditPosition &lhs, const EditPosition &rhs, const TempoSequence &ts) |
| EditDuration | minus (const EditPosition &lhs, const EditPosition &rhs, const TempoSequence &ts) |
| bool | less (const EditPosition &lhs, const EditPosition &rhs, const TempoSequence &ts) |
| bool | greater (const EditPosition &lhs, const EditPosition &rhs, const TempoSequence &ts) |
| bool | lessThanOrEqualTo (const EditPosition &lhs, const EditPosition &rhs, const TempoSequence &ts) |
| bool | greaterThanOrEqualTo (const EditPosition &lhs, const EditPosition &rhs, const TempoSequence &ts) |
| EditPosition | min (const EditPosition &lhs, const EditPosition &rhs, const TempoSequence &ts) |
| EditPosition | max (const EditPosition &lhs, const EditPosition &rhs, const TempoSequence &ts) |
| EditDuration | toDuration (const EditPosition &p) |
| bool | operator== (const EditPositionWithTempoSequence &lhs, const EditPositionWithTempoSequence &rhs) |
| bool | operator< (const EditPositionWithTempoSequence &lhs, const EditPositionWithTempoSequence &rhs) |
| bool | operator<= (const EditPositionWithTempoSequence &lhs, const EditPositionWithTempoSequence &rhs) |
| bool | operator> (const EditPositionWithTempoSequence &lhs, const EditPositionWithTempoSequence &rhs) |
| bool | operator>= (const EditPositionWithTempoSequence &lhs, const EditPositionWithTempoSequence &rhs) |
| EditDuration | operator- (const EditPositionWithTempoSequence &lhs, const EditPositionWithTempoSequence &rhs) |
| EditPosition | operator+ (const EditPositionWithTempoSequence &lhs, const EditDuration &rhs) |
| EditPosition | operator- (const EditPositionWithTempoSequence &lhs, const EditDuration &rhs) |
| TimePosition | toTime (EditPosition, const TempoSequence &) |
| Converts an EditTime to a TimePosition. | |
| BeatPosition | toBeats (EditPosition, const TempoSequence &) |
| Converts an EditTime to a BeatPosition. | |
| double | toUnderlying (EditPosition) |
| Returns the raw number of seconds or beats. | |
| juce::Range< double > | toUnderlying (EditTimeRange) |
| Returns the raw number of seconds or beats. | |
| bool | contains (EditTimeRange, EditPosition, const TempoSequence &) |
| Returns true if the given position is contained within the given range. | |
| bool | containsInclusive (EditTimeRange, EditPosition, const TempoSequence &) |
| Returns true if the given position is contained within the given closed range. | |
| 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. | |
| TimePosition | toTime (EditPosition et, const tempo::Sequence &ts) |
| BeatPosition | toBeats (EditPosition et, const tempo::Sequence &ts) |
| TimeRange | toTime (EditTimeRange r, const tempo::Sequence &ts) |
| BeatRange | toBeats (EditTimeRange r, const tempo::Sequence &ts) |
| 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. | |
| 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. | |
| std::unique_ptr< tracktion::graph::Node > | createGeneratorPluginNode (const Plugin::Ptr &, const CreateNodeParams &, std::unique_ptr< tracktion::graph::Node > output) |
| Wraps a Plugin as a generator Node (driven by a silent input) and sums it into the supplied output Node. | |
| 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) |
| ARAIXMLResult | detectARAFromIXMLChunks (Engine &, const juce::File &sourceFile) |
| Scans a source audio file for ARA iXML chunks and returns the first matching installed plugin description along with archive data. | |
| 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 &) |
| Project::Ptr | convertToFolderBasedProject (Project &) |
| Converts a file-based project to a folder-based project. | |
| bool | operator== (ProjectItemID lhs, const ProjectItemRef &rhs) |
| bool | operator!= (ProjectItemID lhs, const ProjectItemRef &rhs) |
| 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) | |
| void | resetSelectableListener (SafeScopedListener &scopedListener, Selectable &broadcaster, SelectableListener &listener) |
| Registers a SafeScopedListener with a Selectable. | |
| void | resetSelectableListener (SafeScopedListener &scopedListener, Selectable *broadcaster, SelectableListener &listener) |
| Registers a SafeScopedListener with a Selectable, or unregisters it if the broadcaster is 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 > &) |
| 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. | |
| template<typename SampleType > | |
| SampleType | getRMS (choc::buffer::MonoView< SampleType >) |
| Returns the RMS of a single channel buffer. | |
| 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 | isTracktionProjectFolder (const juce::File &) |
| bool | isTracktionProjectFileOrFolder (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. | |
| bool | isCurrentThreadSupplyingExitStatus () |
| Returns true if the current thread has an active ScopedThreadExitStatusEnabler. | |
| void | signalThreadShouldExit (std::thread::id) |
| Can be used to signal that the current thread is waiting to exit. | |
| bool | shouldCurrentThreadExit () |
| Returns true if the current thread is waiting to exit. | |
| 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) |
| juce::ValueTree | getOrCreateChildWithTypeAndProperty (juce::ValueTree &tree, const juce::Identifier &type, const juce::Identifier &property, const juce::var &propertyValue, juce::UndoManager *undoManager) |
| Looks for a chile with the given name and property, if one doesn't exist, creates it. | |
Variables | |
| const char *const | projectFileSuffix = ".tracktion" |
| const char *const | editFileSuffix = ".tracktionedit" |
| const char *const | legacyEditFileSuffix = ".trkedit" |
| const char *const | legacyArchiveFileSuffix = ".trkarch" |
| const char *const | archiveFileSuffix_v2 = ".zip" |
| 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 {} |
| using engine::EditDuration = typedef std::variant<TimeDuration, BeatDuration> |
Alias for a duration.
Note this isn't a proper type like EditPosition as a duration by itself doesn't make sense for beats, you can't convert to/from Time without a position as well. So most of the time you'd specify this as an EditRange.
| using engine::EditTime = typedef EditPosition |
Alias provided for compatibility, may be removed in future.
| using engine::MelodyneNode = typedef ARANode |
| using engine::WarpMap = typedef std::vector<WarpPoint> |
| using engine::MelodyneFileReader = typedef ARAFileReader |
| using engine::AtomicWrapperRelaxed = typedef AtomicWrapper<Type, Constrainer, std::memory_order_relaxed, std::memory_order_relaxed> |
| using engine::AtomicWrapperAcqRel = typedef AtomicWrapper<Type, Constrainer, std::memory_order_acquire, std::memory_order_release> |
| using engine::SampleCount = typedef int64_t |
| using engine::SampleRange = typedef juce::Range<SampleCount> |
| using engine::HashCode = typedef int64_t |
| using engine::MPESourceID = typedef uint32_t |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
Determines the type of action to perform after a Clip has played for a set period.
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
The file format a render is written in.
The enumerator names are the format's canonical name everywhere it is written as text - JSON, config files, the command line and the scripting API - so don't rename one without migrating saved presets.
| Enumerator | |
|---|---|
| wav | |
| aiff | |
| flac | |
| ogg | |
| mp3 | |
| midi | Writes a MIDI file rather than audio. Every audio-only setting is ignored for it.
|
|
strong |
|
strong |
Specifies a number of resampling qualities that can be used.
| enum engine::PanLaw |
|
strong |
|
strong |
A list of settings the engine will get and set.
| tl::expected< juce::var, juce::String > engine::analyseAudioFile | ( | Engine & | , |
| const juce::File & | , | ||
| const std::vector< AudioFileAnalyser * > & | , | ||
| const std::function< bool()> & | shouldAbort = {} |
||
| ) |
Streams an audio file once through the given analysers, returning their combined results as a JSON-style object with the file's basic properties (sampleRate, channels, seconds) always included.
All values are rounded for compactness: the output is designed to be read by an LLM.
References analyseAudioFile().
Referenced by analyseAudioFile(), and analyseAudioFile().
| tl::expected< juce::var, juce::String > engine::analyseAudioFile | ( | Engine & | , |
| const juce::File & | , | ||
| const AudioAnalysisOptions & | = {} |
||
| ) |
Analyses a file with the standard level/spectrum/envelope analysers.
Level stats: sample peak, oversampled true peak, RMS, EBU R128 loudness (integrated, max momentary, max short-term - BS.1770-4 K-weighting and gating), loudness range in LU (EBU Tech 3342), clipped-sample count and the ratio of silent time, plus derived dynamics statistics: crest factor, PLR, PSR and transient density. Spectrum: third-octave band energies relative to the loudest band, plus spectral centroid, 85% rolloff and low/mid/high balance. Envelope: peak and RMS in dB over evenly-spaced windows. Stereo: phase correlation (overall and worst 400ms window), stereo width and balance, mono summing loss, and a low-band (sub-200Hz) correlation and width for mono-bass checks. Null for mono files. Spectrogram: per-band level over time (broad mixing bands by default, or third-octave), each band with its own summary stats, plus detected buildups (sustained level rises within one band).
References analyseAudioFile().
References determineKeyOfNotes().
Referenced by determineKeyOfNotes().
| AutomationMode engine::getAutomationMode | ( | const AutomatableParameter & | ) |
Looks for the Track this parameter is currently on and returns the AutomationMode for it.
References getAutomationMode().
Referenced by getAutomationMode().
| juce::ReferenceCountedArray< AssignmentType > engine::getAssignmentsOfType | ( | const AutomatableParameter & | ap | ) |
Returns all the Assignments of a specific type.
References engine::AutomatableParameter::getAssignments(), and getAssignmentsOfType().
Referenced by getAssignmentsOfType().
| juce::Array< ModifierType * > engine::getModifiersOfType | ( | const AutomatableParameter & | ap | ) |
Returns all the modifers in use of a specific type.
References engine::AutomatableParameter::getModifiers(), and getModifiersOfType().
Referenced by getModifiersOfType(), and getModifiersOfType().
| juce::ReferenceCountedArray< AssignmentType > engine::getAssignmentsForSource | ( | EditType & | edit, |
| const ModifierSourceType & | source | ||
| ) |
Iterates an Edit looking for all parameters that assigned to a given parameter.
References engine::AutomatableParameter::getAssignments(), and getAssignmentsForSource().
Referenced by getAssignmentsForSource().
| AutomatableParameter::ModifierSource * engine::getSourceForAssignment | ( | const AutomatableParameter::ModifierAssignment & | ) |
Iterates an Edit looking for the source of this assignment.
References getSourceForAssignment().
Referenced by getSourceForAssignment().
| juce::ReferenceCountedArray< AutomatableParameter > engine::getAllParametersBeingModifiedBy | ( | Edit & | , |
| AutomatableParameter::ModifierSource & | |||
| ) |
Iterates an Edit looking for all parameters that are being modified by the given ModifierSource.
References getAllParametersBeingModifiedBy().
Referenced by getAllParametersBeingModifiedBy().
| AutomatableParameter * engine::getParameter | ( | AutomatableParameter::ModifierAssignment & | ) |
Iterates an Edit looking for the parameter that this ModifierAssignment has been made from.
References getParameter().
Referenced by getParameter(), and getParameter().
| int engine::getIntParamValue | ( | const AutomatableParameter & | ap | ) |
Returns an int version of an AutomatableParameter.
References engine::AutomatableParameter::getCurrentValue(), and getIntParamValue().
Referenced by getBoolParamValue(), getIntParamValue(), and getTypedParamValue().
| bool engine::getBoolParamValue | ( | const AutomatableParameter & | ap | ) |
Returns a bool version of an AutomatableParameter.
References getBoolParamValue(), and getIntParamValue().
Referenced by getBoolParamValue().
| Type engine::getTypedParamValue | ( | const AutomatableParameter & | ap | ) |
Returns an int version of an AutomatableParameter cast to a enum type.
References getIntParamValue(), and getTypedParamValue().
Referenced by getTypedParamValue().
| int engine::simplify | ( | AutomationCurve & | , |
| int | strength, | ||
| EditTimeRange | , | ||
| juce::Range< float > | valueRange, | ||
| juce::UndoManager * | |||
| ) |
Removes points from the curve to simplify it and returns the number of points removed.
| void engine::mergeCurve | ( | AutomationCurve & | dest, |
| EditTimeRange | destRange, | ||
| const AutomationCurve & | source, | ||
| EditPosition | sourceStartTime, | ||
| float | defaultValue, | ||
| EditDuration | fadeLength, | ||
| bool | leaveOpenAtStart, | ||
| bool | leaveOpenEnded | ||
| ) |
| float engine::getValueAt | ( | AutomatableParameter & | , |
| EditPosition | |||
| ) |
Returns the value of a parameter's curve at the given position.
| float engine::getValueAt | ( | AutomatableParameter & | , |
| TimePosition | |||
| ) |
Returns the value of a parameter's curve at the given position.
| EditTimeRange engine::getFullRange | ( | const AutomationCurve & | ) |
Returns the range the curve occupies.
| juce::String engine::toString | ( | CurveModifierType | ) |
Converts a CurveModifierType to a string if possible.
References toString().
Referenced by engine::ValueTreeComparator< Type >::compareElements(), toString(), engine::details::toString(), toString(), toString(), and toString().
| std::optional< CurveModifierType > engine::curveModifierTypeFromString | ( | juce::String | ) |
Converts a string to a CurveModifierType if possible.
References curveModifierTypeFromString().
Referenced by curveModifierTypeFromString().
| BaseAndModValue engine::getValuesAtEditPosition | ( | AutomationCurveModifier & | , |
| AutomatableParameter & | , | ||
| EditPosition | |||
| ) |
Returns the base and modifier values this AutomationCurveModifier will apply at the given position.
N.B. The position is relative to the the Edit, this internally applies any CurvePosition/CurveTiming.
References getValuesAtEditPosition().
Referenced by getValuesAtEditPosition().
| BaseAndModValue engine::getValuesAtCurvePosition | ( | AutomationCurveModifier & | , |
| AutomatableParameter & | , | ||
| EditPosition | |||
| ) |
Returns the base and modifier values this AutomationCurveModifier will apply at the given position.
N.B. The position is relative to the the AutomationCurveModifier, this internally applies any curve timing such as start/end and looping. [[ message_thread ]]
References getValuesAtCurvePosition().
Referenced by getValuesAtCurvePosition().
| BaseAndModValue engine::getValuesAtCurvePositionUnlooped | ( | AutomationCurveModifier & | , |
| AutomatableParameter & | , | ||
| EditPosition | |||
| ) |
Similar to getValuesAtCurvePosition but doesn't apply the looping which can be useful when drawing the curves.
[[ message_thread ]]
References getValuesAtCurvePositionUnlooped().
Referenced by getValuesAtCurvePositionUnlooped().
| std::optional< EditPosition > engine::applyTimingToCurvePosition | ( | AutomationCurveModifier & | , |
| CurveModifierType | , | ||
| EditPosition | |||
| ) |
Takes a position relative to the AutomationCurveModifier and applies the CurveTiming to it, giving a final position relative to the AutomationCurve.
This effectively applies either the looping or start/length clipping. If the curve is in linked mode, this just returns the position unchanged.
You shouldn't normally need to use this, it's mainly for the playback graph. [[thread_safe]]
References applyTimingToCurvePosition().
Referenced by applyTimingToCurvePosition().
| std::optional< EditPosition > engine::editPositionToCurvePosition | ( | AutomationCurveModifier & | , |
| CurveModifierType | , | ||
| EditPosition | |||
| ) |
Converts a position relative to the Edit and applies the CurvePosition and CurveTiming to it, giving a final position relative to the AutomationCurve.
You shouldn't normally need to use this, it's mainly for the playback graph. [[thread_safe]]
References editPositionToCurvePosition().
Referenced by editPositionToCurvePosition().
| float engine::getDefaultValue | ( | AutomatableParameter & | , |
| CurveModifierType | |||
| ) |
Returns the default value used if there is no curve for the given type.
References getDefaultValue().
Referenced by getDefaultValue().
| bool engine::hasAnyPoints | ( | AutomationCurveModifier & | ) |
Returns true if any of the curves have any points.
References hasAnyPoints().
Referenced by hasAnyPoints().
| AutomatableParameter::Ptr engine::getParameter | ( | const AutomationCurveModifier & | ) |
Returns the destination parameter this curve is controlling.
References getParameter().
| AutomationCurveModifier::Ptr engine::getAutomationCurveModifierForID | ( | Edit & | , |
| EditItemID | |||
| ) |
Returns the AutomationCurveModifier with the given EditItemID.
References getAutomationCurveModifierForID().
Referenced by getAutomationCurveModifierForID().
| void engine::updateRelativeDestinationOrRemove | ( | AutomationCurveList & | , |
| AutomationCurveModifier & | , | ||
| Clip & | newParent | ||
| ) |
Looks at the destinations on the given AutomationCurveModifier and tries to re-assign parameters to corresponding parameters via the newParent Clip.
You shouldn't need to call this manually, it's done in several key places internally.
References updateRelativeDestinationOrRemove().
Referenced by updateRelativeDestinationOrRemove().
| void engine::assignNewIDsToAutomationCurveModifiers | ( | Edit & | , |
| juce::ValueTree & | |||
| ) |
Iterates over the given tree and gives new IDs to any AutomationCurveModifier states.
You shouldn't need to call this manually, it's done automatically when clips are split.
References assignNewIDsToAutomationCurveModifiers().
Referenced by assignNewIDsToAutomationCurveModifiers().
| void engine::removeInvalidAutomationCurveModifiers | ( | juce::ValueTree & | , |
| const AutomatableParameter & | |||
| ) |
Removes any assignments in the given state if they don't have the given parameter as the destination.
You shouldn't need to call this manually, it's used internally to clean up after copy/paste operations etc..
References removeInvalidAutomationCurveModifiers().
Referenced by removeInvalidAutomationCurveModifiers().
| std::optional< AutomationMode > engine::automationModeFromString | ( | juce::String | ) |
Converts an AutomationMode from a string.
References automationModeFromString().
Referenced by automationModeFromString().
| juce::String engine::toString | ( | AutomationMode | ) |
Converts an AutomationMode to string.
References toString().
| MacroParameter::Ptr engine::getMacroParameterForID | ( | Edit & | , |
| EditItemID | |||
| ) |
Searched the Edit for a MacroParameter with this ID.
References getMacroParameterForID().
Referenced by getMacroParameterForID().
| juce::ReferenceCountedObjectPtr< Plugin > engine::getOwnerPlugin | ( | MacroParameterList * | ) |
If this MacroParameterList belongs to an Plugin, this will return it.
References getOwnerPlugin().
Referenced by getOwnerPlugin().
| juce::ReferenceCountedArray< ModifierType > engine::getModifiersOfType | ( | const ModifierList & | ml | ) |
Returns the modifers of a specific type.
References engine::ModifierList::getModifiers(), and getModifiersOfType().
| Modifier::Ptr engine::findModifierForID | ( | ModifierList & | , |
| EditItemID | |||
| ) |
Returns a Modifier if it can be found in the list.
References findModifierForID().
Referenced by findModifierForID(), findModifierForID(), and findModifierForID().
| void engine::showARAWindow | ( | AudioClipBase & | ) |
Shows the ARA plugin window if this clip is using an ARA plugin.
References showARAWindow().
Referenced by showARAWindow(), and showMelodyneWindow().
| void engine::hideARAWindow | ( | AudioClipBase & | ) |
Hides the ARA plugin window if this clip is using an ARA plugin.
References hideARAWindow().
Referenced by hideARAWindow(), and hideMelodyneWindow().
| void engine::araConvertToMIDI | ( | AudioClipBase & | ) |
If this clip is using an ARA plugin, this will create a new MIDI clip based on the ARA plugin's analysis.
References araConvertToMIDI().
Referenced by araConvertToMIDI(), and melodyneConvertToMIDI().
| void engine::showMelodyneWindow | ( | AudioClipBase & | c | ) |
References showARAWindow(), and showMelodyneWindow().
Referenced by showMelodyneWindow().
| void engine::hideMelodyneWindow | ( | AudioClipBase & | c | ) |
References hideARAWindow(), and hideMelodyneWindow().
Referenced by hideMelodyneWindow().
| void engine::melodyneConvertToMIDI | ( | AudioClipBase & | c | ) |
References araConvertToMIDI(), and melodyneConvertToMIDI().
Referenced by melodyneConvertToMIDI().
Returns a clip with the given state if the ClipOwner contains it.
References findClipForState().
Referenced by findClipForState(), and findClipForState().
| Clip * engine::findClipForID | ( | ClipOwner & | , |
| EditItemID | |||
| ) |
Returns a clip with the given ID if the ClipOwner contains it.
References findClipForID().
Referenced by findClipForID(), and findClipForID().
Inserts a clip with the given state in to the ClipOwner's clip list.
References insertClipWithState().
Referenced by insertClipWithState(), and insertClipWithState().
| Clip * engine::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.
References insertClipWithState().
| Clip * engine::insertNewClip | ( | ClipOwner & | , |
| TrackItem::Type | , | ||
| EditTimeRange | |||
| ) |
Inserts a new clip with the given type and a default name.
References insertNewClip().
Referenced by insertNewClip(), insertNewClip(), and insertNewClip().
| Clip * engine::insertNewClip | ( | ClipOwner & | , |
| TrackItem::Type | , | ||
| const juce::String & | name, | ||
| EditTimeRange | |||
| ) |
Inserts a new clip with the given type and name.
References insertNewClip().
| Clip * engine::insertNewClip | ( | ClipOwner & | , |
| TrackItem::Type | , | ||
| const juce::String & | name, | ||
| ClipPosition | |||
| ) |
Inserts a new clip with the given type and name.
References insertNewClip().
| juce::ReferenceCountedObjectPtr< WaveAudioClip > engine::insertWaveClip | ( | ClipOwner & | , |
| const juce::String & | name, | ||
| const juce::File & | sourceFile, | ||
| ClipPosition | , | ||
| DeleteExistingClips | |||
| ) |
Inserts a new WaveAudioClip into the ClipOwner's clip list.
References insertWaveClip().
Referenced by insertWaveClip(), and insertWaveClip().
| juce::ReferenceCountedObjectPtr< WaveAudioClip > engine::insertWaveClip | ( | ClipOwner & | , |
| const juce::String & | name, | ||
| ProjectItemRef | sourceID, | ||
| ClipPosition | , | ||
| DeleteExistingClips | |||
| ) |
Inserts a new WaveAudioClip into the ClipOwner's clip list.
References insertWaveClip().
| juce::ReferenceCountedObjectPtr< MidiClip > engine::insertMIDIClip | ( | ClipOwner & | , |
| const juce::String & | name, | ||
| TimeRange | |||
| ) |
Inserts a new MidiClip into the ClipOwner's clip list.
References insertMIDIClip().
Referenced by insertMIDIClip(), and insertMIDIClip().
Inserts a new MidiClip into the ClipOwner's clip list.
References insertMIDIClip().
| juce::ReferenceCountedObjectPtr< EditClip > engine::insertEditClip | ( | ClipOwner & | , |
| TimeRange | , | ||
| ProjectItemRef | |||
| ) |
Inserts a new EditClip into the ClipOwner's clip list.
References insertEditClip().
Referenced by insertEditClip().
Removes a region of a ClipOwner and returns any newly created clips.
References deleteRegion().
Referenced by engine::AppFunctions::deleteRegion(), deleteRegion(), and deleteRegion().
Removes a region of a clip and returns any newly created clips.
References deleteRegion().
Splits the given clp owner at the time and returns any newly created clips.
References split().
Referenced by engine::AppFunctions::split(), split(), and split().
Splits the given clip at the time and returns the newly created clip.
References split().
| bool engine::containsAnyMIDIClips | ( | const ClipOwner & | ) |
Returns true if the clip owner contains any MIDI clips.
References containsAnyMIDIClips(), getClipsOfType(), and getClipsOfTypeRecursive().
Referenced by containsAnyMIDIClips().
| juce::Array< ClipType * > engine::getClipsOfType | ( | const ClipOwner & | parent | ) |
Returns the subclips of the given type.
References engine::ClipOwner::getClips(), and getClipsOfType().
Referenced by containsAnyMIDIClips(), and getClipsOfType().
| juce::Array< ClipType * > engine::getClipsOfTypeRecursive | ( | const ClipOwner & | parent | ) |
Returns the subclips of the given type, if any clips contain other clips, this will also return those.
References engine::ClipOwner::getClips(), and getClipsOfTypeRecursive().
Referenced by containsAnyMIDIClips(), and getClipsOfTypeRecursive().
| bool engine::isMasterTrack | ( | const Track & | ) |
Returns true if this is a MasterTrack.
References isMasterTrack().
Referenced by engine::Track::canContainPlugins(), and isMasterTrack().
| bool engine::isTempoTrack | ( | const Track & | ) |
| bool engine::isAutomationTrack | ( | const Track & | ) |
Returns true if this is an AutomationTrack.
References isAutomationTrack().
Referenced by isAutomationTrack().
| bool engine::isAudioTrack | ( | const Track & | ) |
Returns true if this is an AudioTrack.
References isAudioTrack().
Referenced by engine::Track::acceptsInput(), engine::Track::canContainAudio(), engine::Track::canContainEditClips(), engine::Track::canContainMIDI(), engine::Track::canContainPlugins(), engine::Track::createsOutput(), isAudioTrack(), isAudioTrack(), and engine::Track::isMovable().
| bool engine::isFolderTrack | ( | const Track & | ) |
Returns true if this is a FolderTrack.
References isFolderTrack().
Referenced by engine::Track::canContainPlugins(), isFolderTrack(), isFolderTrack(), and engine::Track::isMovable().
| bool engine::isMarkerTrack | ( | const Track & | ) |
Returns true if this is a MarkerTrack.
References isMarkerTrack().
Referenced by engine::Track::canContainMarkers(), isMarkerTrack(), isMarkerTrack(), and engine::Track::wantsAutomation().
| bool engine::isChordTrack | ( | const Track & | ) |
Returns true if this is a ChordTrack.
References isChordTrack().
Referenced by isChordTrack(), isChordTrack(), and engine::Track::wantsAutomation().
| bool engine::isArrangerTrack | ( | const Track & | ) |
Returns true if this is an ArrangerTrack.
References isArrangerTrack().
Referenced by isArrangerTrack(), isArrangerTrack(), and engine::Track::wantsAutomation().
| bool engine::isAudioTrack | ( | const ClipOwner & | ) |
Returns true if this is an AudioTrack.
References isAudioTrack().
| bool engine::isFolderTrack | ( | const ClipOwner & | ) |
Returns true if this is a FolderTrack.
References isFolderTrack().
| bool engine::isMarkerTrack | ( | const ClipOwner & | ) |
Returns true if this is a MarkerTrack.
References isMarkerTrack().
| bool engine::isChordTrack | ( | const ClipOwner & | ) |
Returns true if this is a ChordTrack.
References isChordTrack().
| bool engine::isArrangerTrack | ( | const ClipOwner & | ) |
Returns true if this is an ArrangerTrack.
References isArrangerTrack().
| bool engine::canContainMIDI | ( | const ClipOwner & | ) |
Returns true if this Track can contain MidiClip[s].
References canContainMIDI().
Referenced by canContainMIDI().
| bool engine::canContainAudio | ( | const ClipOwner & | ) |
Returns true if this Track can contain WaveAudioClip[s].
References canContainAudio().
Referenced by canContainAudio().
| bool engine::isMovable | ( | const Track & | ) |
Returns true if this Track is movable.
References isMovable().
Referenced by isMovable().
| bool engine::isOnTop | ( | const Track & | ) |
Returns true if this a global Track and should be on top of others.
References isOnTop().
Referenced by isOnTop().
| std::optional< FollowAction > engine::followActionFromString | ( | juce::String | ) |
Converts a string to a FollowAction if possible.
References followActionFromString().
Referenced by followActionFromString().
| juce::String engine::toString | ( | FollowAction | ) |
Converts a FollowAction to a string if possible.
References toString().
| std::function< void(MonotonicBeat)> engine::createFollowAction | ( | Clip & | ) |
Creates a follow action for a Clip.
References createFollowAction().
Referenced by createFollowAction().
| void engine::mergeInMidiSequence | ( | MidiClip & | , |
| juce::MidiMessageSequence | , | ||
| TimeDuration | offsetToApply, | ||
| MidiList::NoteAutomationType | |||
| ) |
Copies a zero-time origin based MIDI sequence in to a MidiClip.
This zill extend the start and end of the clip to fit the whole sequence.
| MidiClip | The destination clip |
| MidiMessageSequence | The zero-based MIDI sequence |
| offsetToApply | An offset to apply to all MIDI message timestamps |
| NoteAutomationType | Whether to use standard MIDI or MPE |
References mergeInMidiSequence().
Referenced by mergeInMidiSequence().
| std::unique_ptr< Edit > engine::loadEditFromFile | ( | Engine & | , |
| const juce::File & | , | ||
| Edit::EditRole | role = Edit::EditRole::forEditing, |
||
| Edit::LoadContext * | = nullptr |
||
| ) |
Loads an edit from a file, ready for playback / editing.
References loadEditFromFile().
Referenced by loadEditFromFile(), loadEditFromFile(), and engine::benchmark_utilities::openEditfromArchiveData().
| std::unique_ptr< Edit > engine::loadEditFromState | ( | Engine & | , |
| const juce::ValueTree & | , | ||
| Edit::EditRole | role = Edit::EditRole::forEditing, |
||
| Edit::LoadContext * | = nullptr |
||
| ) |
Loads an edit from a ValueTree, ready for playback / editing.
References loadEditFromState().
Referenced by loadEditFromState().
Creates a new edit for a file, ready for playback / editing.
References createEmptyEdit().
Referenced by createEmptyEdit(), and createEmptyEdit().
| juce::ValueTree engine::loadEditFromProjectManager | ( | ProjectManager & | , |
| ProjectItemRef | |||
| ) |
Uses the ProjectManager to find an Edit file and load it as a ValueTree.
References loadEditFromProjectManager().
Referenced by loadEditFromProjectManager().
| std::unique_ptr< Edit > engine::loadEditForExamining | ( | ProjectManager & | , |
| ProjectItemRef | , | ||
| Edit::EditRole | role = Edit::EditRole::forExamining, |
||
| Edit::LoadContext * | = nullptr |
||
| ) |
Uses the ProjectManager to find an Edit file and open it.
If the ref is ID-based, looks up via ProjectManager. If the ref is path-based with an owner project, resolves the file directly.
References loadEditForExamining().
Referenced by loadEditForExamining().
| juce::ValueTree engine::loadEditFromFile | ( | Engine & | , |
| const juce::File & | , | ||
| ProjectItemRef | |||
| ) |
Legacy, will be deprecated soon.
Use version that returns an edit. Loads a ValueTree from a file to load an Edit. If the file is empty, a new Edit state will be created with the given ProjectItemID.
References loadEditFromFile().
| juce::ValueTree engine::createEmptyEdit | ( | Engine & | ) |
Legacy, will be deprecated soon.
Use version that returns an edit. Creates an empty Edit with no project.
References createEmptyEdit(), and updateLegacyEdit().
| juce::ValueTree engine::updateLegacyEdit | ( | const juce::ValueTree & | v | ) |
Converts old edit formats to the latest structure.
References updateLegacyEdit().
Referenced by createEmptyEdit(), updateLegacyEdit(), and updateLegacyEdit().
| void engine::updateLegacyEdit | ( | juce::XmlElement & | editXML | ) |
Converts old edit formats to the latest structure.
References updateLegacyEdit().
| Project::Ptr engine::getProjectForEdit | ( | const Edit & | ) |
Tries to find the project that contains this edit (but may return nullptr!)
References getProjectForEdit().
Referenced by getProjectForEdit().
| ProjectItem::Ptr engine::getProjectItemForEdit | ( | const Edit & | ) |
Tries to find the project item that refers to this edit (but may return nullptr!)
References getProjectItemForEdit().
Referenced by getProjectItemForEdit().
| juce::File engine::getEditFileFromProjectManager | ( | Edit & | ) |
Uses the ProjectManager to look up the file for an Edit.
References getEditFileFromProjectManager().
Referenced by getEditFileFromProjectManager().
| bool engine::referencesProjectItem | ( | Edit & | , |
| ProjectItemRef | |||
| ) |
Returns true if the ProjectItemRef is being used for any of the Edit's elements.
References referencesProjectItem().
Referenced by referencesProjectItem().
| void engine::convertAllSourcePaths | ( | Edit & | , |
| bool | useRelativePaths | ||
| ) |
Converts all clip source paths in an Edit to relative or absolute paths.
References convertAllSourcePaths().
Referenced by convertAllSourcePaths().
| void engine::insertSpaceIntoEdit | ( | Edit & | , |
| TimeRange | timeRangeToInsert, | ||
| const juce::Array< Track * > & | onlyTheseTracks = {} |
||
| ) |
Inserts blank space in to an Edit, splitting clips if necessary.
If onlyTheseTracks is provided, only those tracks are affected; otherwise all tracks are.
References insertSpaceIntoEdit().
Referenced by insertSpaceIntoEdit().
| void engine::insertSpaceIntoEditFromBeatRange | ( | Edit & | , |
| BeatRange | |||
| ) |
Inserts a number of blank beats in to the Edit.
References insertSpaceIntoEditFromBeatRange().
Referenced by insertSpaceIntoEditFromBeatRange().
| EditItem * engine::findEditItemForID | ( | Edit & | , |
| EditItemID | |||
| ) |
Looks for an item in an edit with a given ID.
References findEditItemForID().
Referenced by findEditItemForID().
Returns all of the non-foldered tracks in an Edit.
References getTopLevelTracks(), and getTracksOfType().
Referenced by getTopLevelTracks().
| juce::Array< TrackType * > engine::getTracksOfType | ( | const Edit & | edit, |
| bool | recursive | ||
| ) |
Returns the tracks of a given type in an Edit.
References getTracksOfType(), and engine::Edit::visitAllTracks().
Referenced by getTopLevelTracks(), and getTracksOfType().
| juce::Array< AudioTrack * > engine::getAudioTracks | ( | const Edit & | ) |
Returns all the AudioTracks in an Edit.
References getAudioTracks().
Referenced by getAudioTracks().
| int engine::getTotalNumTracks | ( | const Edit & | ) |
Returns the total number of Tracks in an Edit.
References getTotalNumTracks().
Referenced by getTotalNumTracks().
| Track * engine::findTrackForID | ( | const Edit & | , |
| EditItemID | |||
| ) |
Returns the Track with a given ID if contained in the Edit.
References findTrackForID().
Referenced by findTrackForID().
| AudioTrack * engine::findAudioTrackForID | ( | const Edit & | , |
| EditItemID | |||
| ) |
Returns the AudioTrack with a given ID if contained in the Edit.
References findAudioTrackForID().
Referenced by findAudioTrackForID().
| juce::Array< Track * > engine::findTracksForIDs | ( | const Edit & | , |
| const juce::Array< EditItemID > & | |||
| ) |
Returns the Tracks for the given IDs in the Edit.
References findTracksForIDs().
Referenced by findTracksForIDs().
Returns the Track with a given state if contained in the Edit.
References findTrackForState().
Referenced by findTrackForState().
| AudioTrack * engine::getFirstAudioTrack | ( | const Edit & | ) |
Returns the first audio track in an Edit.
References getFirstAudioTrack().
Referenced by getFirstAudioTrack().
| juce::Array< Track * > engine::findAllTracksContainingSelectedItems | ( | const SelectableList & | ) |
Returns all the tracks containing the selected tracks or TrackItems.
References findAllTracksContainingSelectedItems().
Referenced by findAllTracksContainingSelectedItems().
| ClipTrack * engine::findFirstClipTrackFromSelection | ( | const SelectableList & | ) |
Returns the first ClipTrack from the selected tracks or clips.
References findFirstClipTrackFromSelection().
Referenced by findFirstClipTrackFromSelection().
Returns true if the Edit contains this Track.
References containsTrack().
Referenced by containsTrack().
| TrackOutput * engine::getTrackOutput | ( | Track & | ) |
Returns the TrackOutput if the given track has one.
References getTrackOutput().
Referenced by getTrackOutput().
| juce::BigInteger engine::toBitSet | ( | const juce::Array< Track * > & | ) |
Returns the given tracks as a BigInteger, with each set bit corresponding to a track's index in the Edit's array of all tracks (.
References toBitSet().
Referenced by toBitSet().
Returns an Array of Track[s] corresponding to the set bits of all tracks in an Edit.
Used in Renderer.
References getTrackItemsOfType(), and toTrackArray().
Referenced by toTrackArray().
| juce::Array< TrackItemType * > engine::getTrackItemsOfType | ( | const Track & | track | ) |
References engine::Track::getNumTrackItems(), engine::Track::getTrackItem(), and getTrackItemsOfType().
Referenced by getTrackItemsOfType(), and toTrackArray().
| ClipOwner * engine::findClipOwnerForID | ( | const Edit & | , |
| EditItemID | |||
| ) |
Returns the ClipOwner with a given ID if it can be found in the Edit.
References findClipOwnerForID().
Referenced by findClipOwnerForID().
| ClipSlot * engine::findClipSlotForID | ( | const Edit & | , |
| EditItemID | |||
| ) |
Returns the ClipSlot for the given ID.
References findClipSlotForID().
Referenced by findClipSlotForID().
| int engine::findClipSlotIndex | ( | ClipSlot & | ) |
Returns the index of the ClipSlot in the list it is owned by.
References findClipSlotIndex().
Referenced by findClipSlotIndex().
| Clip * engine::findClipForID | ( | const Edit & | , |
| EditItemID | |||
| ) |
Returns the Clip with a given ID if contained in the Edit.
References findClipForID().
Returns the Clip for a given state if contained in the Edit.
References findClipForState().
Returns true if an Edit contains a given clip.
References containsClip().
Referenced by containsClip().
Creates a unique copy of this clip with a new EditItemID.
References duplicateClip().
Referenced by duplicateClip().
Calls a function for all TrackItems in an Edit.
References visitAllTrackItems().
Referenced by visitAllTrackItems().
| TimeRange engine::getTimeRangeForSelectedItems | ( | const SelectableList & | ) |
Returns the time range covered by the given items.
References getTimeRangeForSelectedItems().
Referenced by getTimeRangeForSelectedItems().
| void engine::deleteRegionOfTracks | ( | Edit & | , |
| TimeRange | rangeToDelete, | ||
| bool | onlySelectedTracks, | ||
| CloseGap | , | ||
| SelectionManager * | |||
| ) |
Deletes a time range of an Edit, optionally closing the gap.
References deleteRegionOfTracks().
Referenced by deleteRegionOfTracks().
| void engine::deleteRegionOfClip | ( | Clip & | , |
| TimeRange | rangeToDelete | ||
| ) |
Deletes a time range of a Clip.
References deleteRegionOfClip().
Referenced by deleteRegionOfClip().
| void engine::deleteRegionOfSelectedClips | ( | SelectionManager & | , |
| TimeRange | rangeToDelete, | ||
| CloseGap | , | ||
| bool | moveAllSubsequentClipsOnTrack | ||
| ) |
Deletes a time range of a Clip selection, optionally closing the gap.
References deleteRegionOfSelectedClips().
Referenced by deleteRegionOfSelectedClips().
| SelectableList engine::splitClips | ( | const SelectableList & | clips, |
| TimePosition | time | ||
| ) |
| void engine::moveSelectedClips | ( | const SelectableList & | , |
| Edit & | , | ||
| MoveClipAction | mode, | ||
| bool | alsoMoveAutomation | ||
| ) |
Moves the selected clips within their track.
References moveSelectedClips().
Referenced by moveSelectedClips().
| SelectableList engine::getClipSelectionWithCollectionClipContents | ( | const SelectableList & | ) |
Returns a list of clips.
If any of these are collection clips, this will return their contained clips.
References getClipSelectionWithCollectionClipContents().
Referenced by getClipSelectionWithCollectionClipContents().
| juce::Array< ClipEffect * > engine::getAllClipEffects | ( | Edit & | edit | ) |
Returns the MidiNote with a given state.
References findNoteForState().
Referenced by findNoteForState().
| juce::Result engine::mergeMidiClips | ( | juce::Array< MidiClip * > | , |
| SelectionManager * | sm = nullptr |
||
| ) |
Merges a set of MIDI clips in to one new one.
References mergeMidiClips().
Referenced by mergeMidiClips().
| juce::OwnedArray< MidiList > engine::readFileToMidiList | ( | juce::File | midiFile, |
| bool | importAsNoteExpression | ||
| ) |
Helper function to read a file to a number of MidiLists.
References readFileToMidiList().
Referenced by readFileToMidiList().
| MidiClip::Ptr engine::createClipFromFile | ( | juce::File | midiFile, |
| ClipOwner & | , | ||
| bool | importAsNoteExpression | ||
| ) |
Helper function to read a MIDI file and create a MidiClip from it.
N.B. This will only use the first track in the file, any other tracks will be discarded. The clip will be positioned at 0 with a beat length the duration of the imported list.
References createClipFromFile().
Referenced by createClipFromFile().
| Plugin::Array engine::getAllPlugins | ( | const Edit & | , |
| bool | includeMasterVolume | ||
| ) |
| Plugin::Ptr engine::findPluginForState | ( | const Edit & | , |
| const juce::ValueTree & | |||
| ) |
Returns the plugin with given state.
References findPluginForState().
Referenced by findPluginForState().
| Plugin::Ptr engine::findPluginForID | ( | const Edit & | , |
| EditItemID | |||
| ) |
Returns the plugin with given EditItemID.
References findPluginForID().
Referenced by findPluginForID().
Returns the track for the track which the plugin is located on.
References getTrackContainingPlugin().
Referenced by getTrackContainingPlugin().
| bool engine::areAnyPluginsMissing | ( | const Edit & | ) |
Returns true if any plugins couldn't be loaded beacuse their files are missing.
References areAnyPluginsMissing().
Referenced by areAnyPluginsMissing().
| juce::Array< RackInstance * > engine::getRackInstancesInEditForType | ( | const RackType & | ) |
Returns all of the instances of a specific RackType in an Edit.
References getRackInstancesInEditForType().
Referenced by getRackInstancesInEditForType().
| void engine::muteOrUnmuteAllPlugins | ( | const Edit & | ) |
Toggles the enabled state of all plugins in an Edit.
References muteOrUnmuteAllPlugins().
Referenced by muteOrUnmuteAllPlugins().
| void engine::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.
References insertNewPlugin(), and midiPanic().
Referenced by midiPanic().
| juce::ReferenceCountedObjectPtr< PluginType > engine::insertNewPlugin | ( | Track & | track, |
| int | index | ||
| ) |
Adds a new instance of the given plugin to the track's plugin list at the specified index.
References engine::PluginCache::createNewPlugin(), engine::EditItem::edit, engine::Edit::getPluginCache(), insertNewPlugin(), engine::PluginList::insertPlugin(), and engine::Track::pluginList.
Referenced by insertNewPlugin(), and midiPanic().
| std::vector< AutomatableEditItem * > engine::getAllAutomatableEditItems | ( | const Edit & | ) |
Returns all AutomatableEditItems in an Edit.
References getAllAutomatableEditItems().
Referenced by getAllAutomatableEditItems().
| void engine::deleteAutomation | ( | const SelectableList & | selectedClips | ) |
Deletes the automation covered by the selected clips.
References deleteAutomation().
Referenced by deleteAutomation().
| juce::Array< AutomatableParameter::ModifierSource * > engine::getAllModifierSources | ( | const Edit & | ) |
Returns all the ModifierSources in an Edit.
References getAllModifierSources().
Referenced by getAllModifierSources().
Returns all the Modifiers in an Edit.
References findModifierTypeForID(), and getAllModifiers().
Referenced by findModifierTypeForID(), and getAllModifiers().
| ModifierType::Ptr engine::findModifierTypeForID | ( | const Edit & | edit, |
| EditItemID | id | ||
| ) |
Returns the Modifier with a given type and ID.
References findModifierTypeForID(), and getAllModifiers().
Referenced by findModifierTypeForID(), and getAllModifiers().
| Modifier::Ptr engine::findModifierForID | ( | const Edit & | , |
| EditItemID | |||
| ) |
Returns the Modifier with a given ID.
References findModifierForID().
| Modifier::Ptr engine::findModifierForID | ( | const RackType & | , |
| EditItemID | |||
| ) |
Returns the Modifier with a given ID if the RackType contains it.
References findModifierForID().
| Track * engine::getTrackContainingModifier | ( | const Edit & | , |
| const Modifier::Ptr & | |||
| ) |
Returns the Track containing a Modifier.
References getTrackContainingModifier().
Referenced by getTrackContainingModifier().
| Track * engine::getTrackShowingParameter | ( | AutomatableParameter & | ) |
Returns the Track that is currently showing an AutomatableParameter's curve.
First tries param.getTrack(), then searches all tracks for one displaying this parameter.
References getTrackShowingParameter().
Referenced by getTrackShowingParameter().
| juce::Array< MacroParameterList * > engine::getAllMacroParameterLists | ( | const Edit & | ) |
Returns all the MacroParameterLists in an Edit.
References getAllMacroParameterLists().
Referenced by getAllMacroParameterLists().
| juce::Array< MacroParameterElement * > engine::getAllMacroParameterElements | ( | const Edit & | ) |
Returns all the MacroParameterElement in an Edit.
References getAllMacroParameterElements().
Referenced by getAllMacroParameterElements().
| InputDeviceInstance::RecordingParameters engine::getDefaultRecordingParameters | ( | const EditPlaybackContext & | , |
| TimePosition | playStart, | ||
| TimePosition | punchIn | ||
| ) |
Returns the default set of recording parameters.
This behaviour may not be desirable in which case it might make more sense to just construct your own RecordingParameters and pass them to InputDeviceInstance::prepareToRecord.
References getDefaultRecordingParameters().
Referenced by getDefaultRecordingParameters().
| juce::Result engine::prepareAndPunchRecord | ( | InputDeviceInstance & | , |
| EditItemID | |||
| ) |
Starts an InputDeviceInstance recording to the given target without any count-in etc.
N.B. The input must already be assigned to the target and armed for the punch to start.
References prepareAndPunchRecord().
Referenced by prepareAndPunchRecord().
| tl::expected< Clip::Array, juce::String > engine::punchOutRecording | ( | InputDeviceInstance & | ) |
If the instance is currently recording, this will stop it and return any created clips or an error message.
References punchOutRecording().
Referenced by punchOutRecording().
| bool engine::isRecording | ( | EditPlaybackContext & | ) |
Returns true if any inputs are currently recording.
References isRecording().
Referenced by engine::AutomatableParameter::isCurrentlyRecording(), and isRecording().
| InputDeviceInstance::Destination * engine::assignTrackAsInput | ( | AudioTrack & | destinationTrack, |
| const AudioTrack & | sourceTrack, | ||
| InputDevice::DeviceType | |||
| ) |
Creates an InputDeviceInstance::Destination on the destinationTrack from the sourceTrack if possible.
References assignTrackAsInput().
Referenced by assignTrackAsInput().
| Edit & engine::getEdit | ( | Type & | type | ) |
Returns a reference to the Edit if accessible by the given object.
Referenced by getTempoSequence(), getUndoManager(), and engine::AirWindowsAutomatableParameter::markAsChanged().
| TempoSequence & engine::getTempoSequence | ( | auto & | type | ) |
References getEdit(), getTempoSequence(), and engine::Edit::tempoSequence.
Referenced by getTempoSequence().
| juce::UndoManager & engine::getUndoManager | ( | auto & | type | ) |
References getEdit(), engine::Edit::getUndoManager(), and getUndoManager().
Referenced by getUndoManager(), and getUndoManager_p().
| juce::UndoManager * engine::getUndoManager_p | ( | auto & | type | ) |
References getUndoManager(), and getUndoManager_p().
Referenced by getUndoManager_p().
| juce::StringArray engine::getLaunchQTypeChoices | ( | ) |
Returns a list of quantisation type options in the order of LaunchQType.
References getLaunchQTypeChoices().
Referenced by getLaunchQTypeChoices().
| std::optional< LaunchQType > engine::launchQTypeFromName | ( | const juce::String & | ) |
Returns a the launch Q from a string returned from getLaunchQTypeChoices().
References launchQTypeFromName().
Referenced by launchQTypeFromName().
| juce::String engine::getName | ( | LaunchQType | ) |
Retuns the name of a LaunchQType for display purposes.
References getName().
Referenced by getName(), engine::BreakpointOscillatorModifier::getSelectableDescription(), engine::EnvelopeFollowerModifier::getSelectableDescription(), engine::LFOModifier::getSelectableDescription(), engine::MIDITrackerModifier::getSelectableDescription(), engine::RandomModifier::getSelectableDescription(), engine::Edit::getSelectableDescription(), engine::LatencyPlugin::getSelectableDescription(), engine::ToneGeneratorPlugin::getSelectableDescription(), engine::VCAPlugin::getSelectableDescription(), engine::VolumeAndPanPlugin::getSelectableDescription(), engine::Plugin::getShortName(), engine::ChorusPlugin::getShortName(), engine::ToneGeneratorPlugin::getShortName(), and engine::ExternalPlugin::getTooltip().
|
noexcept |
Returns the fraction of a bar to be used for a given rate type.
References toBarFraction().
Referenced by toBarFraction().
|
noexcept |
Returns the fraction of a bar to be used for a given rate type.
References fromBarFraction().
Referenced by fromBarFraction().
|
noexcept |
|
noexcept |
Returns the next quantised position.
References getNext().
|
noexcept |
| tempo::Sequence::Position engine::createPosition | ( | const TempoSequence & | ) |
Creates a Position to iterate over the given TempoSequence.
One of these lets you take a position in a tempo sequence, and skip forwards/backwards either by absolute times, or by bar/beat amounts. This is dynamic and if the TempoSequence changes, the position will update to reflect this.
N.B. It is only safe to call this from the message thread or during audio callbacks. Access at any other time could incur data races.
References createPosition().
Referenced by createPosition().
| bool engine::isLegacyArchive | ( | Engine & | , |
| const juce::File & | |||
| ) |
Returns true if the file is a legacy .trkarch archive.
References isLegacyArchive().
Referenced by isLegacyArchive().
| bool engine::isArchive | ( | Engine & | , |
| const juce::File & | |||
| ) |
Returns true if the file is any supported archive format (legacy or zip).
References isArchive().
Referenced by isArchive().
| juce::StringPairArray engine::createAcidInfo | ( | Edit & | , |
| TimeRange | |||
| ) |
Creates ACID metadata info from the Edit.
References createAcidInfo().
Referenced by createAcidInfo().
| std::optional< RenderFormat > engine::renderFormatFromString | ( | juce::String | ) |
Converts a RenderFormat from its canonical name, or nullopt if unrecognised.
References renderFormatFromString().
Referenced by renderFormatFromString().
| juce::String engine::toString | ( | RenderFormat | ) |
Converts a RenderFormat to its canonical name.
References toString().
| bool engine::isMidiFormat | ( | RenderFormat | f | ) |
True for the format that writes notes rather than audio.
References isMidiFormat().
Referenced by isMidiFormat().
| 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.
These names are the single vocabulary tags are written in everywhere a render carries them (presets, config files and the scripting API), whatever the output format turns out to be: translateMetadataForFormat() converts them to whatever the format's writer actually understands. Empty fields are left out - but note getEditMetadata() fills the date in with the current year, so an Edit with no tags at all still gets a date.
References createTagMetadata().
Referenced by createTagMetadata().
| bool engine::hasTagMetadata | ( | Edit & | ) |
True if an Edit has actually been given any tags, which is what decides whether tagging is enabled by default.
This is not the same as createTagMetadata() returning something - that always carries a date.
References hasTagMetadata().
Referenced by hasTagMetadata().
| 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.
References formatSupportsTagMetadata().
Referenced by formatSupportsTagMetadata().
| 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.
Pairs outside the "id3*" family - ACID or BWAV info, say - are always passed through untouched, so this can be applied to a whole metadata set.
References translateMetadataForFormat().
Referenced by translateMetadataForFormat().
| 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.
References validateRenderSpecification().
Referenced by validateRenderSpecification().
| juce::Array< EditItemID > engine::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).
The search runs to a fixpoint, so sources of sources are found too, and looks inside the stem's submix folders.
Render the returned tracks via RenderSpecification::mutedTracks: included in the graph, silenced in the output. Tracks that merely route their output into the stem's tracks are NOT returned - the render graph pulls those in by itself.
References findStemSourceTracks().
Referenced by findStemSourceTracks().
| std::optional< PlannedRenderJob > engine::createRenderJob | ( | Edit & | , |
| const RenderSpecification & | |||
| ) |
Creates the render job for a valid specification.
Call validateRenderSpecification() first: an invalid specification returns nullopt.
References createRenderJob().
Referenced by createRenderJob().
| std::vector< RenderSpecification > engine::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.
The template's tracks list chooses which tracks (all audio tracks if empty); its destination is ignored. File names come from the track names, uniquified against each other and against existing files.
References createPerTrackSpecifications().
Referenced by createPerTrackSpecifications().
| BeatPosition engine::toBeats | ( | TimePosition | , |
| const TempoSequence & | |||
| ) |
| BeatPosition engine::toBeats | ( | TimePosition | , |
| const tempo::Sequence & | |||
| ) |
References toBeats().
| TimePosition engine::toTime | ( | BeatPosition | , |
| const TempoSequence & | |||
| ) |
| TimePosition engine::toTime | ( | BeatPosition | , |
| const tempo::Sequence & | |||
| ) |
References toTime().
| BeatRange engine::toBeats | ( | TimeRange | , |
| const TempoSequence & | |||
| ) |
Converts a TimeRange to a BeatRange given a TempoSequence.
References toBeats().
| BeatRange engine::toBeats | ( | TimeRange | , |
| const tempo::Sequence & | |||
| ) |
References toBeats().
| TimeRange engine::toTime | ( | BeatRange | , |
| const TempoSequence & | |||
| ) |
Converts a BeatRange to a TimeRange given a TempoSequence.
References toTime().
| TimeRange engine::toTime | ( | BeatRange | , |
| const tempo::Sequence & | |||
| ) |
References toTime().
| EditPosition engine::toPosition | ( | EditDuration | duration | ) |
Returns the raw value of beats or seconds, only really useful for comparing two EditDurations with the same time base.
References toPosition().
Referenced by toPosition().
| double engine::toUnderlying | ( | EditDuration | duration | ) |
Returns the raw value of beats or seconds, only really useful for comparing two EditDurations with the same time base.
References toUnderlying().
Referenced by engine::AutomationCurve::AutomationPoint::AutomationPoint(), greater(), greaterThanOrEqualTo(), isGreaterThanZero(), isZero(), less(), lessThanOrEqualTo(), max(), min(), engine::AutomationCurve::AutomationPoint::operator<(), toDuration(), toUnderlying(), and toUnderlying().
| bool engine::isZero | ( | EditDuration | duration | ) |
Returns true if the duration is 0 beats or seconds.
References isZero(), and toUnderlying().
Referenced by isZero().
| bool engine::isGreaterThanZero | ( | EditDuration | duration | ) |
Returns true if the duration is greater than zero beats or seconds.
References isGreaterThanZero(), and toUnderlying().
Referenced by isGreaterThanZero().
| EditPosition engine::plus | ( | const EditPosition & | lhs, |
| const EditDuration & | rhs, | ||
| const TempoSequence & | ts | ||
| ) |
References plus(), toBeats(), and toTime().
Referenced by operator+(), and plus().
| EditPosition engine::minus | ( | const EditPosition & | lhs, |
| const EditDuration & | rhs, | ||
| const TempoSequence & | ts | ||
| ) |
References minus(), toBeats(), and toTime().
Referenced by minus(), minus(), operator-(), and operator-().
| bool engine::equals | ( | const EditPosition & | lhs, |
| const EditPosition & | rhs, | ||
| const TempoSequence & | ts | ||
| ) |
References equals(), engine::EditPosition::isBeats(), toBeats(), and toTime().
Referenced by equals(), and operator==().
| EditDuration engine::minus | ( | const EditPosition & | lhs, |
| const EditPosition & | rhs, | ||
| const TempoSequence & | ts | ||
| ) |
References engine::EditPosition::isBeats(), minus(), toBeats(), and toTime().
| bool engine::less | ( | const EditPosition & | lhs, |
| const EditPosition & | rhs, | ||
| const TempoSequence & | ts | ||
| ) |
References engine::EditPosition::isBeats(), less(), toTime(), and toUnderlying().
Referenced by contains(), less(), and operator<().
| bool engine::greater | ( | const EditPosition & | lhs, |
| const EditPosition & | rhs, | ||
| const TempoSequence & | ts | ||
| ) |
References greater(), engine::EditPosition::isBeats(), toTime(), and toUnderlying().
Referenced by greater(), and operator>().
| bool engine::lessThanOrEqualTo | ( | const EditPosition & | lhs, |
| const EditPosition & | rhs, | ||
| const TempoSequence & | ts | ||
| ) |
References engine::EditPosition::isBeats(), lessThanOrEqualTo(), toTime(), and toUnderlying().
Referenced by containsInclusive(), lessThanOrEqualTo(), and operator<=().
| bool engine::greaterThanOrEqualTo | ( | const EditPosition & | lhs, |
| const EditPosition & | rhs, | ||
| const TempoSequence & | ts | ||
| ) |
References greaterThanOrEqualTo(), engine::EditPosition::isBeats(), toTime(), and toUnderlying().
Referenced by contains(), containsInclusive(), greaterThanOrEqualTo(), and operator>=().
| EditPosition engine::min | ( | const EditPosition & | lhs, |
| const EditPosition & | rhs, | ||
| const TempoSequence & | ts | ||
| ) |
References engine::EditPosition::isBeats(), min(), toBeats(), toTime(), and toUnderlying().
Referenced by min().
| EditPosition engine::max | ( | const EditPosition & | lhs, |
| const EditPosition & | rhs, | ||
| const TempoSequence & | ts | ||
| ) |
References engine::EditPosition::isBeats(), max(), toBeats(), toTime(), and toUnderlying().
Referenced by max().
| EditDuration engine::toDuration | ( | const EditPosition & | p | ) |
References engine::EditPosition::isBeats(), toDuration(), and toUnderlying().
Referenced by engine::Clip::getMaximumLength(), and toDuration().
| bool engine::operator== | ( | const EditPositionWithTempoSequence & | lhs, |
| const EditPositionWithTempoSequence & | rhs | ||
| ) |
| bool engine::operator< | ( | const EditPositionWithTempoSequence & | lhs, |
| const EditPositionWithTempoSequence & | rhs | ||
| ) |
| bool engine::operator<= | ( | const EditPositionWithTempoSequence & | lhs, |
| const EditPositionWithTempoSequence & | rhs | ||
| ) |
| bool engine::operator> | ( | const EditPositionWithTempoSequence & | lhs, |
| const EditPositionWithTempoSequence & | rhs | ||
| ) |
| bool engine::operator>= | ( | const EditPositionWithTempoSequence & | lhs, |
| const EditPositionWithTempoSequence & | rhs | ||
| ) |
| EditDuration engine::operator- | ( | const EditPositionWithTempoSequence & | lhs, |
| const EditPositionWithTempoSequence & | rhs | ||
| ) |
| EditPosition engine::operator+ | ( | const EditPositionWithTempoSequence & | lhs, |
| const EditDuration & | rhs | ||
| ) |
| EditPosition engine::operator- | ( | const EditPositionWithTempoSequence & | lhs, |
| const EditDuration & | rhs | ||
| ) |
| TimePosition engine::toTime | ( | EditPosition | et, |
| const TempoSequence & | ts | ||
| ) |
Converts an EditTime to a TimePosition.
N.B. This may be a slow operation if this was created using a BeatPosition.
| BeatPosition engine::toBeats | ( | EditPosition | et, |
| const TempoSequence & | ts | ||
| ) |
Converts an EditTime to a BeatPosition.
N.B. This may be a slow operation if this was created using a TimePosition.
| double engine::toUnderlying | ( | EditPosition | et | ) |
Returns the raw number of seconds or beats.
Mostly useful for testing.
| juce::Range< double > engine::toUnderlying | ( | EditTimeRange | r | ) |
Returns the raw number of seconds or beats.
Mostly useful for testing.
References engine::EditTimeRange::getEnd(), engine::EditTimeRange::getStart(), and toUnderlying().
| bool engine::contains | ( | EditTimeRange | r, |
| EditPosition | pos, | ||
| const TempoSequence & | ts | ||
| ) |
Returns true if the given position is contained within the given range.
References engine::EditTimeRange::getEnd(), engine::EditTimeRange::getStart(), greaterThanOrEqualTo(), and less().
Referenced by engine::Pitch::getPitchFromString().
| bool engine::containsInclusive | ( | EditTimeRange | r, |
| EditPosition | pos, | ||
| const TempoSequence & | ts | ||
| ) |
Returns true if the given position is contained within the given closed range.
References engine::EditTimeRange::getEnd(), engine::EditTimeRange::getStart(), greaterThanOrEqualTo(), and lessThanOrEqualTo().
| TimeRange engine::toTime | ( | EditTimeRange | r, |
| const TempoSequence & | ts | ||
| ) |
Converts an EditTimeRange to a TimeRange.
N.B. This may be a slow operation if this was created using a BeatRange.
| BeatRange engine::toBeats | ( | EditTimeRange | r, |
| const TempoSequence & | ts | ||
| ) |
Converts an EditTimeRange to a BeatRange.
N.B. This may be a slow operation if this was created using a TimeRange.
| ClipPosition engine::createClipPosition | ( | const TempoSequence & | , |
| TimeRange | , | ||
| TimeDuration | offset = {} |
||
| ) |
Creates a ClipPosition from either a time or beat range.
| ClipPosition engine::createClipPosition | ( | const TempoSequence & | , |
| BeatRange | , | ||
| BeatDuration | offset = {} |
||
| ) |
Creates a ClipPosition from either a time or beat range.
| TimePosition engine::toTime | ( | EditPosition | et, |
| const tempo::Sequence & | ts | ||
| ) |
| BeatPosition engine::toBeats | ( | EditPosition | et, |
| const tempo::Sequence & | ts | ||
| ) |
| TimeRange engine::toTime | ( | EditTimeRange | r, |
| const tempo::Sequence & | ts | ||
| ) |
| BeatRange engine::toBeats | ( | EditTimeRange | r, |
| const tempo::Sequence & | ts | ||
| ) |
| int engine::countNumTracks | ( | const juce::ValueTree & | ) |
Returns the number of tracks from this tree recursively.
References countNumTracks().
Referenced by countNumTracks().
| void engine::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).
References moveAutomation().
Referenced by moveAutomation().
| int engine::findIndexOfNextItemAt | ( | const ArrayType & | items, |
| TimePosition | time | ||
| ) |
Returns the index of the next item after the given time.
References findIndexOfNextItemAt().
Referenced by findIndexOfNextItemAt().
| TimeRange engine::findUnionOfEditTimeRanges | ( | const ArrayType & | items | ) |
Returns the the time range that covers all the given TrackItems.
References findUnionOfEditTimeRanges().
Referenced by findUnionOfEditTimeRanges().
| juce::Array< std::pair< AudioTrack *, int > > engine::getTargetTracksAndIndexes | ( | InputDeviceInstance & | ) |
Returns the AudioTracks and their indexes this instance is assigned to.
References getTargetTracksAndIndexes().
Referenced by getTargetTracksAndIndexes().
| juce::Array< AudioTrack * > engine::getTargetTracks | ( | InputDeviceInstance & | ) |
Returns the AudioTracks this instance is assigned to.
References getTargetTracks().
Referenced by getTargetTracks().
| bool engine::isOnTargetTrack | ( | InputDeviceInstance & | , |
| const Track & | , | ||
| int | idx | ||
| ) |
Returns true if this instance is assigned to the given Track at the given index .
References isOnTargetTrack().
Referenced by isOnTargetTrack().
| bool engine::isAttached | ( | InputDeviceInstance & | ) |
Returns true if this input is assigned to a target.
References isAttached().
Referenced by isAttached().
| juce::Result engine::clearFromTargets | ( | InputDeviceInstance & | , |
| juce::UndoManager * | |||
| ) |
Removes this instance from all assigned targets.
References clearFromTargets().
Referenced by clearFromTargets().
| InputDeviceInstance::Destination * engine::getDestination | ( | InputDeviceInstance & | , |
| const Track & | track, | ||
| int | index | ||
| ) |
Returns the destination if one has been assigned for the given arguments.
References getDestination().
Referenced by getDestination(), getDestination(), and getDestination().
| InputDeviceInstance::Destination * engine::getDestination | ( | InputDeviceInstance & | , |
| const ClipSlot & | |||
| ) |
Returns the destination if one has been assigned for the given arguments.
References getDestination().
| InputDeviceInstance::Destination * engine::getDestination | ( | InputDeviceInstance & | , |
| const juce::ValueTree & | destinationState | ||
| ) |
Returns the destination if one has been assigned for the given arguments.
References getDestination().
| bool engine::hasErrors | ( | const InputDeviceInstance::PreparedContext & | pc | ) |
Returns true if all the targets were fully prepared.
References hasErrors().
Referenced by hasErrors().
| InputDeviceInstance::PreparedContext & engine::append | ( | InputDeviceInstance::PreparedContext & | dest, |
| InputDeviceInstance::PreparedContext && | src | ||
| ) |
| std::pair< std::vector< std::unique_ptr< InputDeviceInstance::RecordingContext > >, juce::StringArray > engine::extract | ( | InputDeviceInstance::PreparedContext && | pc | ) |
| std::unique_ptr< tracktion::graph::Node > engine::createNodeForEdit | ( | EditPlaybackContext & | , |
| std::atomic< double > & | audibleTimeToUpdate, | ||
| const CreateNodeParams & | |||
| ) |
Creates a Node to play back an Edit with live inputs and outputs.
References createNodeForEdit().
Referenced by engine::benchmark_utilities::createNode(), createNodeForEdit(), and createNodeForEdit().
| std::unique_ptr< tracktion::graph::Node > engine::createNodeForEdit | ( | Edit & | , |
| const CreateNodeParams & | |||
| ) |
Creates a Node to render an Edit.
References createNodeForEdit().
| std::unique_ptr< tracktion::graph::Node > engine::createGeneratorPluginNode | ( | const Plugin::Ptr & | , |
| const CreateNodeParams & | , | ||
| std::unique_ptr< tracktion::graph::Node > | output | ||
| ) |
Wraps a Plugin as a generator Node (driven by a silent input) and sums it into the supplied output Node.
Intended to be returned from CreateNodeParams::insertOptionalLastStageNodeForDevice to add a transient plugin (e.g. a browser-hosted generator) to a device's output. If the plugin is null the output Node is returned unchanged.
References createGeneratorPluginNode().
Referenced by createGeneratorPluginNode().
| void engine::toStart | ( | TransportControl & | , |
| const SelectableList & | |||
| ) |
| void engine::toEnd | ( | TransportControl & | , |
| const SelectableList & | |||
| ) |
| void engine::tabBack | ( | TransportControl & | ) |
Moves the transport back to the previous point of interest.
References tabBack().
Referenced by engine::AppFunctions::tabBack(), and tabBack().
| void engine::tabForward | ( | TransportControl & | ) |
Moves the transport forwards to the next point of interest.
References tabForward().
Referenced by engine::AppFunctions::tabForward(), and tabForward().
| void engine::markIn | ( | TransportControl & | ) |
Sets the mark in position to the current transport position.
References markIn().
Referenced by engine::EditSnapshot::getMarkIn(), engine::AppFunctions::markIn(), and markIn().
| void engine::markOut | ( | TransportControl & | ) |
Sets the mark out position to the current transport position.
References markOut().
Referenced by engine::EditSnapshot::getMarkOut(), engine::AppFunctions::markOut(), and markOut().
| void engine::scrub | ( | TransportControl & | , |
| double | unitsForwards | ||
| ) |
| void engine::freePlaybackContextIfNotRecording | ( | TransportControl & | ) |
Frees the playback context if no recording is in progress, useful for when an app is minimised.
References freePlaybackContextIfNotRecording().
Referenced by freePlaybackContextIfNotRecording().
| void engine::float2string | ( | float | f, |
| char * | text, | ||
| int | len | ||
| ) |
References float2string().
Referenced by dB2string(), and float2string().
| void engine::int2string | ( | float | i, |
| char * | text, | ||
| int | len | ||
| ) |
References int2string().
Referenced by int2string().
| void engine::dB2string | ( | float | value, |
| char * | text, | ||
| int | maxLen | ||
| ) |
References dB2string(), float2string(), value, and vst_strncpy.
Referenced by dB2string().
| ARAIXMLResult engine::detectARAFromIXMLChunks | ( | Engine & | , |
| const juce::File & | sourceFile | ||
| ) |
Scans a source audio file for ARA iXML chunks and returns the first matching installed plugin description along with archive data.
References detectARAFromIXMLChunks().
Referenced by detectARAFromIXMLChunks().
| std::string engine::getCmajorVersion | ( | ) |
References getCmajorVersion().
Referenced by getCmajorVersion().
| std::unique_ptr< juce::AudioPluginFormat > engine::createCmajorPatchPluginFormat | ( | Engine & | ) |
References createCmajorPatchPluginFormat().
Referenced by createCmajorPatchPluginFormat().
| bool engine::isCmajorPatchPluginFormat | ( | const juce::PluginDescription & | ) |
References isCmajorPatchPluginFormat().
Referenced by isCmajorPatchPluginFormat(), and isCmajorPatchPluginFormat().
| bool engine::isCmajorPatchPluginFormat | ( | const juce::String & | formatName | ) |
References isCmajorPatchPluginFormat().
| juce::String engine::getCmajorPatchPluginFormatName | ( | ) |
References getCmajorPatchPluginFormatName().
Referenced by getCmajorPatchPluginFormatName().
| juce::String engine::getCmajorPatchCompileError | ( | Plugin & | ) |
References getCmajorPatchCompileError().
Referenced by getCmajorPatchCompileError().
| juce::String engine::createIdentifierString | ( | const juce::PluginDescription & | ) |
References createIdentifierString().
Referenced by createIdentifierString(), and engine::ExternalPlugin::getIdentifierString().
| Project::Ptr engine::convertToFolderBasedProject | ( | Project & | ) |
Converts a file-based project to a folder-based project.
Opens each edit and rewrites ProjectItemID source references as relative file paths. Writes project metadata to project_info.json and deletes the .tracktion file. Returns a new folder-based Project opened from the directory. The original Project object should be released promptly.
References convertToFolderBasedProject().
Referenced by convertToFolderBasedProject().
| bool engine::operator== | ( | ProjectItemID | lhs, |
| const ProjectItemRef & | rhs | ||
| ) |
| bool engine::operator!= | ( | ProjectItemID | lhs, |
| const ProjectItemRef & | rhs | ||
| ) |
| AudioTrack * engine::getOrInsertAudioTrackNearestIndex | ( | Edit & | edit, |
| int | trackIndex | ||
| ) |
References getOrInsertAudioTrackNearestIndex().
Referenced by getOrInsertAudioTrackNearestIndex().
| SafeSelectable< SelectableType > engine::makeSafeRef | ( | SelectableType & | selectable | ) |
Creates a SafeSelectable for a given selectable object.
References makeSafeRef().
Referenced by makeSafeRef(), and resetSelectableListener().
| auto engine::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.
References makeSafeVector().
Referenced by makeSafeVector().
| juce::WeakReference< WeakReferenceable > engine::makeWeakRef | ( | WeakReferenceable & | object | ) |
Creates a juce::WeakReference for an object.
References makeWeakRef().
Referenced by makeWeakRef(), and makeWeakRef().
| juce::WeakReference< WeakReferenceable > engine::makeWeakRef | ( | WeakReferenceable * | object | ) |
Creates a juce::WeakReference for an object pointer (which may be null)
References makeWeakRef().
| void engine::resetSelectableListener | ( | SafeScopedListener & | scopedListener, |
| Selectable & | broadcaster, | ||
| SelectableListener & | listener | ||
| ) |
Registers a SafeScopedListener with a Selectable.
Prefer this over calling SafeScopedListener::reset() directly for Selectables, as the parameter types resolve two things at the call site that are easy to get wrong by hand:
References makeSafeRef(), engine::SafeScopedListener::reset(), and resetSelectableListener().
Referenced by resetSelectableListener(), and resetSelectableListener().
| void engine::resetSelectableListener | ( | SafeScopedListener & | scopedListener, |
| Selectable * | broadcaster, | ||
| SelectableListener & | listener | ||
| ) |
Registers a SafeScopedListener with a Selectable, or unregisters it if the broadcaster is null.
References engine::SafeScopedListener::reset(), and resetSelectableListener().
| bool engine::callBlocking | ( | std::function< void()> | f | ) |
Calls a function on the message thread by posting a message and then waiting for it to be delivered.
If this fails for some reason, e.g. the calling thread is trying to exit or is blocking the message thread, this will throw an exception.
References callBlocking(), engine::MessageThreadCallback::hasFinished(), and engine::MessageThreadCallback::triggerAndWaitForCallback().
Referenced by callBlocking(), and callBlockingCatching().
|
noexcept |
The same as callBlocking expect the exception is caught and ignored.
Use this when failue is ok.
References callBlocking(), and callBlockingCatching().
Referenced by callBlockingCatching().
|
noexcept |
References dbToGain().
Referenced by dbToGain(), engine::AudioClipBase::getGain(), and engine::LiveClipLevel::getGain().
|
noexcept |
References gainToDb().
Referenced by gainToDb().
| juce::String engine::gainToDbString | ( | float | gain, |
| float | infLevel = -96.0f, |
||
| int | decPlaces = 2 |
||
| ) |
References gainToDbString().
Referenced by gainToDbString().
| float engine::dbStringToDb | ( | const juce::String & | dbStr | ) |
References dbStringToDb().
Referenced by dbStringToDb(), and engine::ExternalAutomatableParameter::stringToValue().
| float engine::dbStringToGain | ( | const juce::String & | dbStr | ) |
References dbStringToGain().
Referenced by dbStringToGain().
| juce::String engine::getPanString | ( | float | pan | ) |
References getPanString().
Referenced by getPanString().
| juce::String engine::getSemitonesAsString | ( | double | semitones | ) |
References getSemitonesAsString().
Referenced by getSemitonesAsString().
| FloatType engine::midiNoteToFrequency | ( | FloatType | midiNote | ) |
References midiNoteToFrequency().
Referenced by midiNoteToFrequency().
| FloatType engine::frequencyToMidiNote | ( | FloatType | freq | ) |
References frequencyToMidiNote().
Referenced by frequencyToMidiNote().
| void engine::sanitiseValues | ( | juce::AudioBuffer< float > & | , |
| int | startSample, | ||
| int | numSamples, | ||
| float | maxAbsValue, | ||
| float | minAbsThreshold = 1.0f/262144.0f |
||
| ) |
References sanitiseValues().
Referenced by sanitiseValues().
|
noexcept |
References addAntiDenormalisationNoise().
Referenced by addAntiDenormalisationNoise().
|
noexcept |
|
noexcept |
| bool engine::isAudioDataAlmostSilent | ( | const float * | data, |
| int | num | ||
| ) |
| float engine::getAudioDataMagnitude | ( | const float * | data, |
| int | num | ||
| ) |
| void engine::convertIntsToFloats | ( | juce::AudioBuffer< float > & | ) |
| void engine::convertFloatsToInts | ( | juce::AudioBuffer< float > & | ) |
| choc::buffer::BufferView< SampleType, choc::buffer::SeparateChannelLayout > engine::toBufferView | ( | juce::AudioBuffer< SampleType > & | buffer | ) |
Converts a juce::AudioBuffer<SampleType> to a choc::buffer::BufferView.
| SampleType engine::getRMS | ( | choc::buffer::MonoView< SampleType > | view | ) |
|
noexcept |
References getDefaultPanLaw().
Referenced by getDefaultPanLaw().
| void engine::setDefaultPanLaw | ( | PanLaw | ) |
|
noexcept |
|
noexcept |
|
noexcept |
Referenced by engine::AuxSendPlugin::getGainDb().
|
noexcept |
|
noexcept |
|
noexcept |
| void engine::clearChannels | ( | juce::AudioBuffer< float > & | buffer, |
| int | startChannel, | ||
| int | endChannel = -1, |
||
| int | startSample = 0, |
||
| int | endSample = -1 |
||
| ) |
References clearChannels().
Referenced by clearChannels().
| juce::AudioPlayHead::CurrentPositionInfo engine::getCurrentPositionInfo | ( | Edit & | ) |
Converts an Edit's internal transport information to a juce::AudioPlayHead::CurrentPositionInfo.
References getCurrentPositionInfo().
Referenced by getCurrentPositionInfo().
| void engine::synchroniseEditPosition | ( | Edit & | , |
| const juce::AudioPlayHead::CurrentPositionInfo & | |||
| ) |
Syncs an Edit's transport and tempo sequence to a juce AudioPlayHead.
References synchroniseEditPosition().
Referenced by synchroniseEditPosition().
| bool engine::isMidiFile | ( | const juce::File & | ) |
References isMidiFile().
Referenced by isMidiFile().
| bool engine::isTracktionEditFile | ( | const juce::File & | ) |
References isTracktionEditFile().
Referenced by isTracktionEditFile(), and engine::benchmark_utilities::openEditfromArchiveData().
| bool engine::isTracktionArchiveFile | ( | const juce::File & | ) |
References isTracktionArchiveFile().
Referenced by isTracktionArchiveFile().
| bool engine::isTracktionProjectFile | ( | const juce::File & | ) |
References isTracktionProjectFile().
Referenced by isTracktionProjectFile().
| bool engine::isTracktionProjectFolder | ( | const juce::File & | ) |
References isTracktionProjectFolder().
Referenced by isTracktionProjectFolder().
| bool engine::isTracktionProjectFileOrFolder | ( | const juce::File & | ) |
References isTracktionProjectFileOrFolder().
Referenced by isTracktionProjectFileOrFolder().
| bool engine::isTracktionPresetFile | ( | const juce::File & | ) |
References isTracktionPresetFile().
Referenced by isTracktionPresetFile().
| juce::File engine::getNonExistentSiblingWithIncrementedNumberSuffix | ( | const juce::File & | , |
| bool | addHashSymbol | ||
| ) |
References getNonExistentSiblingWithIncrementedNumberSuffix().
Referenced by getNonExistentSiblingWithIncrementedNumberSuffix().
| void engine::addSortedListToMenu | ( | juce::PopupMenu & | m, |
| juce::StringArray | names, | ||
| int | startID | ||
| ) |
References addSortedListToMenu().
Referenced by addSortedListToMenu().
| juce::AffineTransform engine::getScaleAroundCentre | ( | juce::Rectangle< float > | r, |
| float | numPixels | ||
| ) |
References getScaleAroundCentre().
Referenced by getScaleAroundCentre().
| void engine::moveXMLAttributeToStart | ( | juce::XmlElement & | xml, |
| juce::StringRef | att | ||
| ) |
References moveXMLAttributeToStart(), and value.
Referenced by moveXMLAttributeToStart().
| bool engine::removeIf | ( | Vector & | v, |
| Predicate && | pred | ||
| ) |
References removeIf().
Referenced by removeIf().
| bool engine::almostEqual | ( | FloatingPointType | firstValue, |
| FloatingPointType | secondValue, | ||
| FloatingPointType | precision = (FloatingPointType) 0.00001 |
||
| ) |
Checks to see if two values are equal within a given precision.
References almostEqual().
Referenced by almostEqual().
| bool engine::isCurrentThreadSupplyingExitStatus | ( | ) |
Returns true if the current thread has an active ScopedThreadExitStatusEnabler.
References isCurrentThreadSupplyingExitStatus().
Referenced by isCurrentThreadSupplyingExitStatus(), and engine::MessageThreadCallback::triggerAndWaitForCallback().
| void engine::signalThreadShouldExit | ( | std::thread::id | ) |
Can be used to signal that the current thread is waiting to exit.
Only to be used in conjunction with a ScopedThreadExitStatusEnabler.
References signalThreadShouldExit().
Referenced by signalThreadShouldExit().
| bool engine::shouldCurrentThreadExit | ( | ) |
Returns true if the current thread is waiting to exit.
Only to be used in conjunction with a ScopedThreadExitStatusEnabler.
References shouldCurrentThreadExit().
Referenced by shouldCurrentThreadExit(), and engine::MessageThreadCallback::triggerAndWaitForCallback().
| MonotonicBeatRange engine::getMonotonicBeatRange | ( | const SyncRange & | r | ) |
References engine::SyncRange::end, getMonotonicBeatRange(), engine::SyncPoint::monotonicBeat, engine::SyncRange::start, and engine::MonotonicBeat::v.
Referenced by getMonotonicBeatRange().
| BeatRange engine::getBeatRange | ( | const SyncRange & | r | ) |
References engine::SyncPoint::beat, engine::SyncRange::end, getBeatRange(), and engine::SyncRange::start.
Referenced by getBeatRange().
| int64_t engine::getNumSamples | ( | const SyncRange & | r | ) |
References engine::SyncRange::end, getNumSamples(), engine::SyncPoint::referenceSamplePosition, and engine::SyncRange::start.
Referenced by getNumSamples().
| void engine::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.
References convertPropertyToType().
Referenced by convertPropertyToType().
| bool engine::matchesAnyOf | ( | const Type & | needle, |
| const std::initializer_list< Type > & | haystack | ||
| ) |
Returns true if the needle is found in the haystack.
References matchesAnyOf().
Referenced by matchesAnyOf().
| void engine::forEachItem | ( | const juce::Array< Type * > & | items, |
| const UnaryFunction & | fn | ||
| ) |
Calls a function object on each item in an array.
References forEachItem().
Referenced by forEachItem().
| void engine::addValueTreeProperties | ( | juce::ValueTree & | v, |
| const juce::Identifier & | name, | ||
| const juce::var & | value, | ||
| Others &&... | others | ||
| ) |
References addValueTreeProperties(), and value.
Referenced by addValueTreeProperties(), and createValueTree().
| juce::ValueTree engine::createValueTree | ( | const juce::Identifier & | name, |
| Properties &&... | properties | ||
| ) |
References addValueTreeProperties(), and createValueTree().
Referenced by createValueTree().
| juce::Array< juce::ValueTree > & engine::removeInvalidValueTrees | ( | juce::Array< juce::ValueTree > & | trees | ) |
Strips out any invalid trees from the array.
References removeInvalidValueTrees().
Referenced by removeInvalidValueTrees().
| juce::Array< juce::ValueTree > engine::getTreesOfType | ( | const juce::Array< juce::ValueTree > & | trees, |
| const juce::Identifier & | type | ||
| ) |
Returns a new array with any trees without the given type removed.
References getTreesOfType().
Referenced by getTreesOfType().
| void engine::getChildTreesRecursive | ( | juce::Array< juce::ValueTree > & | result, |
| const juce::ValueTree & | tree | ||
| ) |
References getChildTreesRecursive().
Referenced by getChildTreesRecursive().
| void engine::renamePropertyRecursive | ( | juce::ValueTree & | tree, |
| const juce::Identifier & | oldName, | ||
| const juce::Identifier & | newName, | ||
| juce::UndoManager * | um | ||
| ) |
References renamePropertyRecursive().
Referenced by renamePropertyRecursive().
| juce::ValueTree engine::getOrCreateChildWithTypeAndProperty | ( | juce::ValueTree & | tree, |
| const juce::Identifier & | type, | ||
| const juce::Identifier & | property, | ||
| const juce::var & | propertyValue, | ||
| juce::UndoManager * | undoManager | ||
| ) |
Looks for a chile with the given name and property, if one doesn't exist, creates it.
References getOrCreateChildWithTypeAndProperty().
Referenced by getOrCreateChildWithTypeAndProperty().
| const char* const engine::projectFileSuffix = ".tracktion" |
| const char* const engine::editFileSuffix = ".tracktionedit" |
| const char* const engine::legacyEditFileSuffix = ".trkedit" |
| const char* const engine::legacyArchiveFileSuffix = ".trkarch" |
| const char* const engine::archiveFileSuffix_v2 = ".zip" |
| const char* const engine::soundFileWildCard = "*.wav;*.aiff;*.aif;*.ogg;*.mp3;*.flac;*.au;*.voc;*.caf;*.w64;*.rx2;*.rcy;*.rex;*.wfaf" |
| const char* const engine::soundFileAndMidiWildCard = "*.wav;*.aiff;*.aif;*.ogg;*.mp3;*.mid;*.midi;*.flac;*.au;*.voc;*.caf;*.w64;*.rx2;*.rcy;*.rex;*.wfaf" |
| const char* const engine::midiFileWildCard = "*.midi;*.mid" |
| const char* const engine::soundFileExtensions = "wav;aiff;aif;ogg;mp3;flac;au;voc;caf;w64;rx2;rcy;rex;wfaf" |
| const char* const engine::soundFileAndMidiExtensions = "wav;aiff;aif;ogg;mp3;flac;au;voc;caf;w64;rx2;rcy;rex;wfaf;midi;mid" |
| const char* const engine::midiFileExtensions = "midi;mid" |
| const char* const engine::keyMapWildCard = "*.tracktionkeys" |
| const char* const engine::keyMapSuffix = ".tracktionkeys" |
| const char* const engine::customControllerFileSuffix = ".trkctrlr" |
| const char* const engine::customProgramSetWildcard = "*.trkmidi;*.midnam" |
| const char* const engine::customProgramSetFileSuffix = ".trkmidi" |
| const char* const engine::presetFileSuffix = ".trkpreset" |
| const char* const engine::rackFileSuffix = ".trkrack" |
| const char* const engine::scriptFileSuffix = ".tracktionscript" |
| const char* const engine::grooveTemplateSuffix = ".trkgroove" |
| const char* const engine::grooveTemplateWildCard = "*.trkgroove" |
|
constexpr |