- func ExpandNotes(seq Note, hands int) Note
- func GenScale(tx timelearn.Populator, prac *practice, hands, base string) error
- func GenScales(tl *timelearn.T) error
- func MakeScale(base string, scale *Scale) (Note, error)
- type Note
- type Scale
- type Voicing
func ExpandNotes ¶
Explode a sequence of notes into "chords" of those notes that play each as a single note. The number of hands sets how many hands should be playing the pattern.
func GenScales ¶
Replace the scales in the given problem set with newly generated ones. In order for the results to be meaningful, we rely on the "INTEGER PRIMARY KEY" field in SQLITE3 to always be 1 larger than the current largest value (starting at 1 for an empty table).
type Note ¶
type Note int
func NoteOfText ¶
Decode a textual representation of a note. Notes are a letter possibly followed by a sharp or flat sign (in ascii or Unicode). The resulting note will be between middle C and the C above that (for a B#). Returns an error if the not is not valid.
type Scale ¶
The description of a scale exercise. This describes how to build a scale exercise.