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

Allow tone_remain setting to specify which tones/sets need to tone_remain #42

Closed davidlang42 closed 1 year ago

davidlang42 commented 1 year ago

Currently tone_remain is just yes/no, but as well as yes/no, have a third option which is "BySet", which then has a value for each of the 3 sets (User, Piano, EPiano). Each of these BySet values can be yes/no, but also have a third option called "ByNumber". The ByNumber value is an array of indicies (0 to LEN-2) of the patch number which must remain when incremented. Eg: (LEN=60) [0] means Patch 1-2 must tone remain, [58] means Patch 59-60 must tone remain, [59] is invalid as that would be the last patch must tone remain to the next patch (but there is no next patch)

This extra information is additional metadata which won't be included in the RDS file (which will still store a simple true/false), but it can be very helpful for validation/warnings.

davidlang42 commented 1 year ago

https://github.com/davidlang42/roland-rds/commit/f928711d84d100a887b6092f1990264c147aaded