pub struct AudioTrack {
pub source: PathBuf,
pub volume: AnimatedValue<f64>,
pub pan: AnimatedValue<f64>,
pub time_offset: Duration,
pub in_point: Option<Duration>,
pub out_point: Option<Duration>,
pub effects: Vec<FilterStep>,
pub sample_rate: u32,
pub channel_layout: ChannelLayout,
}Expand description
A single audio track in a MultiTrackAudioMixer mix.
Fields§
§source: PathBufSource media file path.
volume: AnimatedValue<f64>Volume adjustment in decibels (0.0 = unity gain).
Use AnimatedValue::Static for a constant level, or
AnimatedValue::Track to automate volume over time.
pan: AnimatedValue<f64>Stereo pan (-1.0 = full left, 0.0 = centre, +1.0 = full right).
Use AnimatedValue::Static for a fixed position. Animated pan
(AnimatedValue::Track) is not yet implemented; the initial value at
Duration::ZERO is used and a warning is emitted.
time_offset: DurationStart offset on the output timeline (Duration::ZERO = at the beginning).
in_point: Option<Duration>Source in-point: start reading audio at this offset in the source file.
When Some, an atrim=start=<t> filter is inserted immediately after
the source node so that audio before this timestamp is discarded.
None reads from the beginning of the file.
out_point: Option<Duration>Source out-point: stop reading audio at this offset in the source file.
When Some, an atrim=end=<t> filter is inserted immediately after
the source node so that audio after this timestamp is discarded.
None reads to the end of the file.
effects: Vec<FilterStep>Ordered per-track audio effect chain applied before mixing.
Each FilterStep is inserted as a filter node immediately after
the track’s pan/volume chain and before the amix node.
Use audio-relevant variants such as FilterStep::Volume,
FilterStep::AFadeIn, and FilterStep::ACompressor.
An empty vec inserts no extra nodes (zero overhead).
sample_rate: u32Sample rate of the source audio in Hz (e.g. 44_100 or 48_000).
When this differs from the mixer’s output sample rate an aresample
filter is inserted automatically. Set to the mixer’s output rate to
skip resampling.
channel_layout: ChannelLayoutChannel layout of the source audio.
When this differs from the mixer’s output layout an aformat filter
is inserted automatically. Set to the mixer’s output layout to skip
format conversion.
Trait Implementations§
Source§impl Clone for AudioTrack
impl Clone for AudioTrack
Source§fn clone(&self) -> AudioTrack
fn clone(&self) -> AudioTrack
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more