proteus_lib/playback/engine/
state.rs1#[derive(Debug, Clone, Copy)]
5pub struct PlaybackBufferSettings {
6 pub start_buffer_ms: f32,
7 pub track_eos_ms: f32,
8 pub start_sink_chunks: usize,
9 pub startup_silence_ms: f32,
10 pub startup_fade_ms: f32,
11 pub append_jitter_log_ms: f32,
12 pub effect_boundary_log: bool,
13}
14
15impl PlaybackBufferSettings {
16 pub fn new(start_buffer_ms: f32) -> Self {
18 Self {
19 start_buffer_ms: start_buffer_ms.max(0.0),
20 track_eos_ms: 1000.0,
21 start_sink_chunks: 0,
22 startup_silence_ms: 0.0,
23 startup_fade_ms: 150.0,
24 append_jitter_log_ms: 0.0,
25 effect_boundary_log: false,
26 }
27 }
28}
29
30#[derive(Debug, Clone, Copy, Default)]
32pub struct DspChainMetrics {
33 pub dsp_time_ms: f64,
34 pub audio_time_ms: f64,
35 pub rt_factor: f64,
36 pub overrun: bool,
37 pub overrun_ms: f64,
38 pub avg_overrun_ms: f64,
39 pub max_overrun_ms: f64,
40 pub avg_dsp_ms: f64,
41 pub avg_audio_ms: f64,
42 pub avg_rt_factor: f64,
43 pub min_rt_factor: f64,
44 pub max_rt_factor: f64,
45 pub track_key_count: usize,
46 pub finished_track_count: usize,
47 pub prot_key_count: usize,
48 pub chain_ksps: f64,
49 pub avg_chain_ksps: f64,
50 pub min_chain_ksps: f64,
51 pub max_chain_ksps: f64,
52 pub underrun_count: u64,
53 pub underrun_active: bool,
54 pub pop_count: u64,
55 pub clip_count: u64,
56 pub nan_count: u64,
57 pub append_delay_ms: f64,
58 pub avg_append_delay_ms: f64,
59 pub max_append_delay_ms: f64,
60 pub late_append_count: u64,
61 pub late_append_active: bool,
62}