Milestone: 1.0.0

Things that need to be in-place for the 1.0.0 release of Benben.

General

  • [ ] Remove hard-dependencies on things like sb-posix.
  • [ ] Second "page" to display visualization.
    • [ ] Oscilloscope or spectrum view.
  • [ ] Migrate to CL-RemiWeb (once it's available) for stuff like URIs and HTTP.
  • [ ] Replace YAML config format with something lighter.
  • [ ] EQ profiles.
    • [ ] EQ configuration moved to their own config files.
  • [ ] Separate interactive configuration program or mode. Lets users configure Benben without needing to touch a config file.
  • [ ] Include MusicBrainz IDs when submitting to ListenBrainz when one or more are found in a file's metadata. More information about the mapping: https://picard-docs.musicbrainz.org/v2.12/en/appendices/tag_mapping.html
  • [ ] Ability to list out the available banners and banner animations.
  • [ ] Use an abstracted CL-REMICHIPS::CONTEXT to play SID files (requires changes to CL-RemiChips).
  • [ ] Millisecond timing for the SID player.
  • [ ] Improved VU meter that is not based on a block average

Related Libraries

  • [ ] CL-SDM at 1.0 or higher.
  • [ ] CL-RemiAudio at 0.2.0 or higher.
  • [ ] CL-RemiChips at 0.2.0 or higher.
  • [ ] SatouSynth at 0.2.0 or higher.
  • [ ] Reduce raw number of Common Lisp dependencies where possible.

Possible, Not Guaranteed

  • [ ] Scrolling through the playlist to select an arbitrary file from the play queue.
  • [ ] "Queue next song" like in Audacious.
  • [ ] Convert SID code from C++ to native Common Lisp.
  • [ ] Convert tracker/module code from C to native Common Lisp.
  • [ ] Native WavPack decoder in Common Lisp.

Maintenance Tasks

  • [ ] Do a full pass of the program to ensure copyright headers are up to date.
  • [ ] Do a full pass of the program to add missing documentation strings.

Other

  • [ ] Document all config file options.

(x = finished, ? = might have a bug, / = partially working, space = not working)