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

Implement effect parameters #14

Closed davidlang42 closed 1 year ago

davidlang42 commented 1 year ago

Currently the Reverb, Chorus and Mfx structs contain a type enum an array of generic parameters. These parameters are well defined in the RD300NX and RD700NX Data List documents.

This task is to extend the Reverb, Chorus and Mfx type enums to contain these parameters in a well typed way.

davidlang42 commented 1 year ago

This will take a lot of testing with the keyboard to see how each type of parameter is stored, but after a while things should become obvious and derivable from the spec alone.

The 300NX & 700NX have Mfx 1-77 in common, then the 300NX has 78 as SymResponse (probably stored as 85, but should be confirmed) and the 700NX has more effects 78-84.

It would make sense to do Reverb first as there are only 3 types, then reverb. After that hopefully enough will be known that Mfx won't be too onerous.

davidlang42 commented 1 year ago

Chorus: https://github.com/davidlang42/roland-rds/commit/2a05de50d80b24d3ffc390afcc56d4021a12f71e

davidlang42 commented 1 year ago

Reverb: a6e12bfc92b006b6ac413099d6a0ebb1ef7b6386

davidlang42 commented 1 year ago

Mfx: 3679410523ab2bb3257831f93a58e2067f089d06