PyMusicLooper icon indicating copy to clipboard operation
PyMusicLooper copied to clipboard

Re-implementing and optimizing core analysis algorithms in Rust

Open arkrow opened this issue 1 year ago • 2 comments

  • Adds the necessary infrastructure for a mixed python/rust project using maturin and pyo3 bindings
  • Initial performance speed-up without concurrency: ~6x

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.

arkrow avatar Feb 16 '24 11:02 arkrow

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.

Sewer56 avatar Aug 08 '24 00:08 Sewer56

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.

arkrow avatar Aug 08 '24 18:08 arkrow