-
-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Re-implementing and optimizing core analysis algorithms in Rust #30
base: master
Are you sure you want to change the base?
Conversation
d5986ce
to
006c564
Compare
This is quite a cool start. I'm always busy writing my own mod tools for other people; so I unfortunately never get to use this stuff; but I always wanted to see a native version of this. Letting someone just drop a music file, finding the loop points and making a very quick conversion into a game's native music format is a very cool use case. |
- Adds the necessary infrastructure for a mixed python/rust project using maturin and pyo3 bindings - Initial performance speed-up without concurrency: ~6x
62b7603
to
4ae760b
Compare
Thanks for the vote of confidence @Sewer56. A GUI may be come sooner than later since it has been planned for a while. Unfortunately, supporting game native music formats and conversion is too big of a scope to handle as the only maintainer, but that said, contributions are always welcome! Part of the reason I wanted to move the essential logic to a rust crate for a while is to ultimately create a foobar2000 plugin. It'd be a properly seamless experience then, as an alternative to the single track repeat within a rich music player ecosystem. It's still very far off and I'm not sure if it's feasible, but ultimately the tool shouldn't be constrained to a single file in a CLI. In fact, there is technically nothing stopping the ability to loop or mix different tracks altogether, which would be, personally speaking, a very interesting direction for the project to take. |
Since this is my first experience with a mixed python/rust project and rust programming in general, this branch is considered highly experimental, with an unstable API and logic that is subject to change.
Feedback is welcome and much appreciated.