Skip to main content

chord_notes

Function chord_notes 

Source
pub fn chord_notes(
    root: u8,
    chord: Chord,
    voicing: Voicing,
    root_below: bool,
    mode: Mode,
    tonic: u8,
    out: &mut [u8; 5],
) -> usize
Expand description

The notes one step plays, ascending, written into out.

Returns how many were written. Out-of-range results are folded by octaves rather than clamped or dropped — folding keeps the pitch class, and a chord that loses a note near the top of the keyboard is a chord that changes quality where nobody asked it to. Exact duplicates after folding are removed, because two note-ons of the same number on one lane leave the child instrument holding a voice nothing will turn off.