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