cmatsuoka / oxdz

An experimental multi-format mod player engine written in Rust.
Apache License 2.0
21 stars 4 forks source link

Want any help? #1

Open cruatta opened 5 years ago

cruatta commented 5 years ago

Hey!

First of all thank you so much for libxmp. It's brought me a lot of joy over the years. I noticed this project after writing a small Rust FFI for libxmp but now it looks like oxdz has most functionality I need. I was wondering how I could best contribute to this project?

Cheers, Cameron

cmatsuoka commented 5 years ago

Hi Cameron. The focus of the project was experimenting with a format and player decoupling as a departure from the multiple-loader/single player architecture used in libxmp. The main problem in oxdz, I think, is that it still brought too much from libxmp in the form of format loaders and the single mixer. I'm now experimenting with an improved architecture with two different mixers and no loaders in a project called hazemod. In my initial tests, it's already behaving better than both libxmp and oxdz.

If you need native Rust code, it could be possible to backport these new ideas from hazemod to oxdz. The mixer used in oxdz came directly from libxmp, and its basic idea made sense in 1996 but's it's now too complicated and nearly unmaintenable. And the loaders add a lot of code that aren't really necessary, the players can get all the information they need directly from the file.