davidlang42 / roland-rds

Library for working with Roland RDS files (live set keyboard patches)
GNU Affero General Public License v3.0
3 stars 0 forks source link

Support RD700NX format #10

Open davidlang42 opened 1 year ago

davidlang42 commented 1 year ago

This should require minimal code changes for actual implementation but needs some work to auto-detect incoming files/ handle differences and commonality nicely. I'll also need access to a Roland RD700NX or some test files from someone that has one.

davidlang42 commented 1 year ago

See: https://github.com/davidlang42/roland-rds/commit/ee025a3a0aa7fafd2ee96693787d92177cb898d1

kmarvl commented 6 months ago

I am the proud owner of a Roland RD700NX and would love to get the software to work with it. I could also provide you with some existing live set files.

In about 1-2 months I could also create specific test files or have a look at the code myself. However, I am new to Rust and not able to build the project with cargo build. It fails with

error: generic parameters may not be used in const operations
  --> src\roland\types\effects\mod.rs:20:23
   |
20 |     #[schemars(with = "serialize_default_terminated_array::DefaultTerminatedArraySchema::<Parameter, {N}>")]
   |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot perform const operation using `N`
   |
   = help: const parameters may only be used as standalone arguments, i.e. `N`

Maybe I miss something?

davidlang42 commented 6 months ago

Hi @kmarvl, thanks for getting in touch!

Sorry about that compile error, it seems to have been introduced by a recent upgrade of rust, but I've fixed it now with my latest commit: https://github.com/davidlang42/roland-rds/commit/b31187dd54dd2ae56a9c6786e7cea1d665a2a15f

If you could attach some example RDS files saved from the RD700NX that would be great- any files are a helpful starting point. From that I'll do some code changes to support multiple keyboards, and set up some more well defined tasks here in GitHub issues for you to implement and/or add specific test files.

Also feel free to tell me how you plan you use the software, and I'll try to keep that in mind for how I design supporting multiple keyboards.