Milestone: 0.7.0
Things that need to be in-place for the 0.7.0 release of Benben.
General
- [x] Rewrite Benben in Common Lisp. See this blog post and this page for the overall porting progress.
- [/] More format-specific command line options, e.g. select a SoundFont for MIDIs.
- [x] Refactor the
PLAYER
andJOB
classes so that they share mode code between them. - [x] Refactor the
FILE-HANDLER
class into aFILE-HANDLER
that manages the initial checking of files, and then create aPLAY-QUEUE
class that acts as a virtual playback queue. - [x] Select resampling mode for oversampling.
- [x] "Start paused" functionality.
- [ ] Seeking in VGMs.
- [ ] Show total time elapsed on the "Total time" line.
- [ ] For looping files, show two time values in the play queue in this format: "(time per loop / total time)"
- [x] Load audio files from WADs (MIDI, FLAC, Modules, MPEG-1, Opus, QOA, VGM, Vorbis, and XQA only).
- [x] Add
--no-song-configs
command line option to skip loading all song-specific configs. - [x] Add
--fadeout-seconds
command line option to specify the number of seconds to fade out songs that loop. - [x] ListenBrainz support
- [x] New "Minimal" UI
- [ ] When a MIDI file has loop information, handle it like VGM files, otherwise handle it like other files.
- [ ] Config option to recurse directores, plus CLI options to enable/disable this.
Likely To Be Added, But Not Certain
- [ ] "Pause after current" functionality. Under strong consideration.
- [ ] If MIDI file "tails" finish before the
post-track-seconds
option, fall back to the global inter-song gap setting.
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)