Feat: rework recording
This commit is contained in:
@@ -1642,21 +1642,21 @@ impl Forth {
|
||||
}
|
||||
Op::Rec => {
|
||||
let name = pop(stack)?;
|
||||
outputs.push(format!("/doux/rec/sound/{}", name.as_str()?));
|
||||
outputs.push(format!("/doux/rec/{}", name.as_str()?));
|
||||
}
|
||||
Op::Overdub => {
|
||||
let name = pop(stack)?;
|
||||
outputs.push(format!("/doux/rec/sound/{}/overdub/1", name.as_str()?));
|
||||
outputs.push(format!("/doux/rec/{}/overdub/1", name.as_str()?));
|
||||
}
|
||||
Op::Orec => {
|
||||
let orbit = pop(stack)?.as_int()?;
|
||||
let name = pop(stack)?;
|
||||
outputs.push(format!("/doux/rec/sound/{}/orbit/{}", name.as_str()?, orbit));
|
||||
outputs.push(format!("/doux/rec/{}/orbit/{}", name.as_str()?, orbit));
|
||||
}
|
||||
Op::Odub => {
|
||||
let orbit = pop(stack)?.as_int()?;
|
||||
let name = pop(stack)?;
|
||||
outputs.push(format!("/doux/rec/sound/{}/overdub/1/orbit/{}", name.as_str()?, orbit));
|
||||
outputs.push(format!("/doux/rec/{}/overdub/1/orbit/{}", name.as_str()?, orbit));
|
||||
}
|
||||
Op::Forget => {
|
||||
let name = pop(stack)?;
|
||||
|
||||
@@ -230,19 +230,19 @@ fn noall_clears_across_evaluations() {
|
||||
#[test]
|
||||
fn rec() {
|
||||
let outputs = expect_outputs(r#""loop1" rec"#, 1);
|
||||
assert_eq!(outputs[0], "/doux/rec/sound/loop1");
|
||||
assert_eq!(outputs[0], "/doux/rec/loop1");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn overdub() {
|
||||
let outputs = expect_outputs(r#""loop1" overdub"#, 1);
|
||||
assert_eq!(outputs[0], "/doux/rec/sound/loop1/overdub/1");
|
||||
assert_eq!(outputs[0], "/doux/rec/loop1/overdub/1");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn overdub_alias_dub() {
|
||||
let outputs = expect_outputs(r#""loop1" dub"#, 1);
|
||||
assert_eq!(outputs[0], "/doux/rec/sound/loop1/overdub/1");
|
||||
assert_eq!(outputs[0], "/doux/rec/loop1/overdub/1");
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in New Issue
Block a user