ChordCommand is a domain specific language for manipulating chords using standard chord symbols (e.g. CM7, Dm7, Gdom7, Am7, F, Gdom9, CM7, etc.). Currently implemented by means of a command line interpreter whereby the user may manipulate chords interactively.
The only primitive data type in ChordCommand is a chord.
Primitive procedures include:
- chordsByFilter(filter)
- chordsContaining(noteList)
- create(identifier, chordList)
- display(chordList)
- load(fileName)
- play(chordList)
- save(fileName, chordList)
- voice(chordList)
TBD.
The primitive procedure create(identifier, chordList) is used to assign names to lists of chords.
create(list1, CM7, Dm7, Gdom7, DbM7, CM7)
play(list1)
play(voice(FM7, Gdom7, C))
display(chordsContaining(Bb, F))
display(chordsByFilter(third=C#))
save("example.ly", CM, voice(Dm7, Gdom7), Adom7, voice(Ddom7, GM7))
play(load("examples\chords.txt"))