Feat: words and default release

This commit is contained in:
2026-03-07 00:10:09 +01:00
parent 09cfa82809
commit 20d72c9b21
2 changed files with 18 additions and 0 deletions

View File

@@ -1750,6 +1750,7 @@ fn emit_output(
out.push('/'); out.push('/');
let has_dur = params.iter().any(|(k, _)| *k == "dur"); let has_dur = params.iter().any(|(k, _)| *k == "dur");
let has_release = params.iter().any(|(k, _)| *k == "release");
let delaytime_idx = params.iter().position(|(k, _)| *k == "delaytime"); let delaytime_idx = params.iter().position(|(k, _)| *k == "delaytime");
if let Some(s) = sound { if let Some(s) = sound {
@@ -1789,6 +1790,13 @@ fn emit_output(
let _ = write!(&mut out, "dur/{}", step_duration * 4.0); let _ = write!(&mut out, "dur/{}", step_duration * 4.0);
} }
if !has_release {
if !out.ends_with('/') {
out.push('/');
}
let _ = write!(&mut out, "release/{}", 12.0 * step_duration);
}
if sound.is_some() && delaytime_idx.is_none() { if sound.is_some() && delaytime_idx.is_none() {
if !out.ends_with('/') { if !out.ends_with('/') {
out.push('/'); out.push('/');

View File

@@ -166,6 +166,16 @@ pub(super) const WORDS: &[Word] = &[
compile: Param, compile: Param,
varargs: true, varargs: true,
}, },
Word {
name: "stretch",
aliases: &[],
category: "Sample",
stack: "(v.. --)",
desc: "Time stretch factor (pitch-independent)",
example: "2 stretch",
compile: Param,
varargs: true,
},
Word { Word {
name: "begin", name: "begin",
aliases: &[], aliases: &[],