Skip to content

v1.0 TODO #9

@Bentroen

Description

@Bentroen

With nbswave already being shipped with major, consumer-oriented tools, such as NBSTool and even Note Block Studio itself, it would be wise to think about dropping the ZeroVer versioning scheme and aiming towards a 1.0 release.

This issue aims to compile some features that would be nice to work on before we reach API stability. Not all of them may strictly be present in 1.0.0, but this list should help prioritize the most important ones:

### Tasks
- [ ] #7
- [ ] Don't load all default instruments if they're not used
- [ ] Most of the logic in the `nbs` module is unnecessary and best fitted to [pynbs](https://github.com/OpenNBS/pynbs). Consider cleaning that up and moving things around
- [ ] Add CLI interface for converting songs
- [ ] Replace `print()` calls with proper logging
- [ ] Implement `mix_layers()` interface
- [ ] Implement looping and fade out parameters + song slicing
- [ ] Remove unused parameters from method signatures (such as `bitrate`)
- [ ] Fix typing errors; convert typing syntax to Python 3.10+ (drop support to 3.8-3.9)
- [ ] Implement basic limiter as an option for avoiding clipping instead of normalizing the signal [[article]](https://signalsmith-audio.co.uk/writing/2022/limiter/) [[SO answer]](https://stackoverflow.com/a/376133/9045426)
- [ ] Explore using [Pedalboard](https://github.com/spotify/pedalboard) library for limiter + audio effects (maybe resampling and loading files too?)
- [ ] Work on better documentation on the internals
- [ ] Distribution does not include the vanilla note block sounds. Either include them in the distribution (make sure to include it as an external resource), add the option to download sounds from Mojang, and/or use the NBS default 'Sounds' folder install location as a sensible default (some groundwork has been done here: [Bentroen/MinecraftAssets](https://github.com/Bentroen/MinecraftAssets))

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions