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

Determine value contraints for PianoLayer #7

Closed davidlang42 closed 1 year ago

davidlang42 commented 1 year ago

Part 1

Midi implementation had incorrect value constraints for the following fields of PianoLayer:

Using a physical keyboard, generate RDS files with the max/min/other values for these parameters and diff them. Once the value ranges (and meanings) are well understood, update the field comments in the PianoLayer struct, and constrain these values in to_bytes() and from_bytes() similarly to other fields.

Part 2

The PianoLayer has a field called tone_number which I believe should match the equivalent field in ToneLayer. Confirm this using a physical keyboard and then contain the values appropriately when reading & writing PianoLayer. Note: It should probably only be constrained on PianoLayer if an applicable tone is selected in the ToneLayer, as the PianoLayer values still exist but are not used if the ToneLayer has a non-Piano tone selected.

davidlang42 commented 1 year ago

Part 1 is complete. Part 2 is still an unknown.

davidlang42 commented 1 year ago

Part 2 explained:

davidlang42 commented 1 year ago

https://github.com/davidlang42/roland-rds/commit/873b98c3083f2e0ff066e2633239c1c1adae073c https://github.com/davidlang42/roland-rds/commit/1a163f6f048905202f96e0477aa6b45e544edbbd