Merge pull request 'transpose: default octave' (#2033) from tyow/localstrudel:transpose-default-note into main

Reviewed-on: https://codeberg.org/uzu/strudel/pulls/2033
This commit is contained in:
froos
2026-08-13 23:35:07 +02:00
2 changed files with 16 additions and 9 deletions
+8 -1
View File
@@ -137,7 +137,14 @@ export const { transpose, trans } = register(['transpose', 'trans'], function tr
const interval = !isNaN(Number(intervalOrSemitones))
? Interval.fromSemitones(intervalOrSemitones)
: String(intervalOrSemitones);
const targetNote = Note.transpose(note, interval);
let n = Note.get(note);
if (n.oct == undefined) {
n.oct = 3;
let n1 = Note.get(Note.transpose(n, interval));
n.oct = n1.oct == 3 ? undefined : 3;
}
const targetNote = Note.transpose(n, interval);
if (typeof hap.value === 'object') {
return hap.withValue(() => ({ ...hap.value, note: targetNote }));
}