INNER CODE UNIT · TypeScript
makeChord
scribbletune/scribbletune · src/cli.ts:389
const makeChord = (parsed: ParsedOptions): NoteObject[] => {
const [root, mode, pattern, subdiv, progressionInput] = parsed.positionals;
if (!root || !mode || !progressionInput || !pattern || !subdiv) {
throw new TypeError(
'chord requires: <root> <mode> <pattern> <subdiv> <progression|random>'
);
}
const chords = parseProgression(root, mode, progressionInput);
const chordCount = chords.trim().split(/\s+/).length;
const resolvedPattern = resolvePattern(
pattern,
chordCount,
parsed.fitPattern
);
return clip({
notes: chords,
pattern: resolvedPattern,
...baseClipParams(parsed),