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)