Changing notes illogically changes / resets string in tab
Just open attached file and see instructions, you'll get the gist of the problem in 5 seconds if you're a guitar player :)
Extended description follows:
Setup: Have a linked musical and tab staff pair. Put any tabbed note on a fret >= where the next open string note would start (>= fret 5 on all strings except G string in standard tuning)
- Select the note that was created in the TAB staff, but by clicking on it in the upper ("musical") staff (the one that has, for instance, a treble or bass clef).
- Move it up or down.
The string is changed - as if the player was (and only will ever be) playing at position zero.
* Minimum Expectation, short(-tempered) version: "Don't change my string! (especially not if that suggests my hand needs to jump >5 frets around the fretboard)"
Well-mannered, extended version: The fret value in the tabbed staff is increased / decreased accordingly with every half step the note pitch is changed, until it hits a natural upper (=number of frets in String Data setting) or lower (=0) boundary - and only then moved on to the next higher string.
* Possible expectation: Instead of using a hard boundary limited by the physical hardware, the algorithm should allow for a feasible hand span width, i.e. +3/-3 frets away from the current position as a simple implementation before it changes strings. An even more sophisticated algorithm could take the neighbouring notes, finger markings (usually done with arabic number on top of the musical notes) or positional markings (usually done in roman numbers above the score) into account and deduct the finger span of the player in that playing position from the available information... but that is just me going crazy about a nice-to-have, potentially over-engineered algorithm. (but why not think big? ;) )
Could reproduce this in any score i worked on so far. Likely to be related to #165851: Fret value extends to different string.