This commit is contained in:
2026-01-23 01:42:07 +01:00
parent 10e2812e4c
commit 183dd5b516
13 changed files with 165975 additions and 9 deletions

View File

@@ -28,7 +28,7 @@ use ratatui::prelude::CrosstermBackend;
use ratatui::Terminal;
use app::App;
use engine::{build_stream, spawn_sequencer, AudioStreamConfig, LinkState, ScopeBuffer};
use engine::{build_stream, spawn_sequencer, AudioStreamConfig, LinkState, ScopeBuffer, SpectrumBuffer};
use input::{handle_key, InputContext, InputResult};
use settings::Settings;
use state::audio::RefreshRate;
@@ -84,9 +84,12 @@ fn main() -> io::Result<()> {
app.audio.config.sample_paths = args.samples;
app.audio.config.refresh_rate = RefreshRate::from_fps(settings.display.fps);
app.ui.runtime_highlight = settings.display.runtime_highlight;
app.audio.config.show_scope = settings.display.show_scope;
app.audio.config.show_spectrum = settings.display.show_spectrum;
let metrics = Arc::new(EngineMetrics::default());
let scope_buffer = Arc::new(ScopeBuffer::new());
let spectrum_buffer = Arc::new(SpectrumBuffer::new());
let mut initial_samples = Vec::new();
for path in &app.audio.config.sample_paths {
@@ -114,6 +117,7 @@ fn main() -> io::Result<()> {
&stream_config,
sequencer.audio_rx.clone(),
Arc::clone(&scope_buffer),
Arc::clone(&spectrum_buffer),
Arc::clone(&metrics),
initial_samples,
) {
@@ -157,6 +161,7 @@ fn main() -> io::Result<()> {
&new_config,
sequencer.audio_rx.clone(),
Arc::clone(&scope_buffer),
Arc::clone(&spectrum_buffer),
Arc::clone(&metrics),
restart_samples,
) {
@@ -182,6 +187,7 @@ fn main() -> io::Result<()> {
app.metrics.schedule_depth = metrics.schedule_depth.load(Ordering::Relaxed) as usize;
app.metrics.scope = scope_buffer.read();
(app.metrics.peak_left, app.metrics.peak_right) = scope_buffer.peaks();
app.metrics.spectrum = spectrum_buffer.read();
}
let seq_snapshot = sequencer.snapshot();