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