@@ -1,21 +1,29 @@ -* Features [1/7] +* Features [4/10] - [X] Top-down composition -- [ ] Transition the melody between chords appropriately -- [ ] Set maximum song length of movement -- [ ] Set minimum song length of movement +- [ ] Coordinate the melody and rhythm +- [X] Set maximum song length of movement per instrument +- [ ] Set minimum song length of movement per instrument - [ ] Need to support all chord types -- [ ] Doesn't handle rest notes +- [X] Doesn't handle rest notes - [ ] Handle full ABC BNF (yeah, right...) +- [X] Set instrument octave in score file +- [ ] Output score to separate file +- [ ] Support parallel voices - ensure e.g. a certain chord progression is always + accompanied by a certain melody -* Bugs [4/5] +* Bugs [5/5] - [X] TLD resets clock for each movement - [X] TLD doesn't accept an ordering for the movements - [X] Doesn't handle minor chords - [X] Calculated duration is absolute, not relative to BPM -- [ ] Chords don't respect octaves +- [X] Chords don't respect octaves - -* Structure [0/3] +* Structure [1/4] - [ ] Chords should be composed of Notes, not ordinary arrays -- [ ] Generate score with proper generation tools -- [ ] Store csound score lines with instruments +- [ ] Generate score with proper generation tools, not this string-replace nonsense +- [X] Store csound score lines with instruments +- [ ] Upgrade from simple string substitution for the score to something + list-based (maybe). Idea is to keep musical phrases intact in the event of a + truncation of the score. Also, if done right, no need for retroactive length + parsing- a measure is has a specific length, which is known at + generation-time, thus solving the length limit problem.