mirror of
https://github.com/storytold/soundcraft.git
synced 2026-11-09 20:00:25 -06:00
Show stereo input pairs for stereo tracks
Fixes #1255 Co-Authored-By: GPT-5.6-Luna <noreply@openai.com>
This commit is contained in:
co-authored by
GPT-5.6-Luna
parent
8444edf075
commit
8f7eb4d777
@@ -11,7 +11,12 @@ pub(crate) fn route_name(app: &SoundApp, r: &Route) -> String {
|
||||
}
|
||||
|
||||
pub(crate) fn input_name(app: &SoundApp, track: &Track) -> String {
|
||||
if track.kind.has_playlist() && track.mixer.input == Route::None { "In 1".to_string() } else { route_name(app, &track.mixer.input) }
|
||||
if track.kind.has_playlist() && track.mixer.input == Route::None {
|
||||
let channels = track.format.channels();
|
||||
if channels == 1 { "In 1".to_string() } else { format!("In 1-{channels}") }
|
||||
} else {
|
||||
route_name(app, &track.mixer.input)
|
||||
}
|
||||
}
|
||||
|
||||
/// The input or output menu under `resp`. It closes only on a click outside, so its bus search
|
||||
@@ -59,3 +64,19 @@ fn route_menu(app: &mut SoundApp, ui: &mut Ui, id: TrackId, input: bool) {
|
||||
ui.close();
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::input_name;
|
||||
use crate::{Services, SoundApp};
|
||||
use serde_json::json;
|
||||
|
||||
#[test]
|
||||
fn stereo_track_defaults_to_a_stereo_input_pair() {
|
||||
let mut app = SoundApp::new(soundcraft_engine::Engine::default(), None, Services::default());
|
||||
app.run("track.new", json!({"format": "stereo"})).unwrap();
|
||||
let track = &app.engine.session().tracks[0];
|
||||
|
||||
assert_eq!(input_name(&app, track), "In 1-2");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user