Feat: lots of things, preparing for live gig

This commit is contained in:
2026-02-15 11:23:11 +01:00
parent cfaadd9d33
commit 160546d64d
59 changed files with 1414 additions and 96 deletions

View File

@@ -68,7 +68,9 @@ pub(super) fn simple_op(name: &str) -> Option<Op> {
"choose" => Op::Choose(None),
"bounce" => Op::Bounce(None),
"wchoose" => Op::WChoose(None),
"every" => Op::Every,
"every" => Op::Every(None),
"bjork" => Op::Bjork(None),
"pbjork" => Op::PBjork(None),
"chance" => Op::ChanceExec(None),
"prob" => Op::ProbExec(None),
"coin" => Op::Coin(None),
@@ -192,7 +194,9 @@ fn attach_span(op: &mut Op, span: SourceSpan) {
match op {
Op::Rand(s) | Op::ExpRand(s) | Op::LogRand(s) | Op::Coin(s)
| Op::Choose(s) | Op::WChoose(s) | Op::Cycle(s) | Op::PCycle(s)
| Op::Bounce(s) | Op::ChanceExec(s) | Op::ProbExec(s) => *s = Some(span),
| Op::Bounce(s) | Op::ChanceExec(s) | Op::ProbExec(s)
| Op::Every(s)
| Op::Bjork(s) | Op::PBjork(s) => *s = Some(span),
_ => {}
}
}

View File

@@ -839,6 +839,36 @@ pub(super) const WORDS: &[Word] = &[
compile: Param,
varargs: true,
},
Word {
name: "smear",
aliases: &[],
category: "Mod FX",
stack: "(v.. --)",
desc: "Set smear allpass chain wet/dry mix (0=bypass, 1=full wet)",
example: "0.5 smear",
compile: Param,
varargs: true,
},
Word {
name: "smearfreq",
aliases: &[],
category: "Mod FX",
stack: "(v.. --)",
desc: "Set smear allpass break frequency in Hz",
example: "800 smearfreq",
compile: Param,
varargs: true,
},
Word {
name: "smearfb",
aliases: &[],
category: "Mod FX",
stack: "(v.. --)",
desc: "Set smear feedback for resonance (0-0.95)",
example: "0.8 smearfb",
compile: Param,
varargs: true,
},
Word {
name: "chorus",
aliases: &[],

View File

@@ -198,9 +198,29 @@ pub(super) const WORDS: &[Word] = &[
name: "every",
aliases: &[],
category: "Time",
stack: "(n -- bool)",
desc: "True every nth iteration",
example: "4 every",
stack: "(quot n --)",
desc: "Execute quotation every nth iteration",
example: "{ 2 distort } 4 every",
compile: Simple,
varargs: false,
},
Word {
name: "bjork",
aliases: &[],
category: "Time",
stack: "(quot k n --)",
desc: "Execute quotation using Euclidean distribution over step runs",
example: "{ 2 distort } 3 8 bjork",
compile: Simple,
varargs: false,
},
Word {
name: "pbjork",
aliases: &[],
category: "Time",
stack: "(quot k n --)",
desc: "Execute quotation using Euclidean distribution over pattern iterations",
example: "{ 2 distort } 3 8 pbjork",
compile: Simple,
varargs: false,
},