Skip to content

Latest commit

 

History

History
45 lines (32 loc) · 1.46 KB

TODO.md

File metadata and controls

45 lines (32 loc) · 1.46 KB

TODO:

  • clean-up

    • get rid of process_next_beat flag and pattern_start_time
      • we can increment the reader to the next pattern line command manually
      • just use bpm
    • separate synthesizer code from song player
    • separate song player sample provider from the synthesizer and song player code it's better to think of the combination of synth and song player as separate from the other two
    • bounds-checking
  • better song structure

    • support notes that release immediately
    • change beat_index to line_index; add lines_per_beat to pattern
    • support gain per channel
    • support gain change command
    • support phase change
  • make it easier to write songs

    • update old script that converted text file to a .plist and instead dump out a json file
  • multi-platform stuff

    • Add simple tone playback for Raspberry Pi
    • Clean up AudioHAL so it's more functional and uses less mutable data
  • Write platform-agnostic test that spits out a PCM file that you can play with sox

  • get simple sine tone working on Mac again

  • get simple sine tone working on iOS again

  • Define structures

  • Play tones

    • Set up oscillator code
      • write sin, triangle, sawtooth, pulse waves
    • set up as envelope
    • play tone at 0s
  • Play timed tones

    • once every 1s on the same channel
  • Support more than one channel