Moving a note in a tab staff from one string to another where a tone already is, makes them stack unplayably.

• Sep 19, 2012 - 09:35
Type
Functional
Severity
S4 - Minor
Status
closed
Project

GIT commit: efb6d19

I have two linked staves; one pitch and one tab. When inserting a chord in the pitch staff, the strings in the tab are populated with corresponding number. However, sometimes you want to swap the notes of two strings to make it easier to play. A few days ago, you could select one number, press ctrl+arrow up/down to move it to another string, and if there already was a note on the target string, it moved to the next free string to avoid collision. I totally loved that behaviour. Now this has changed. If you move one note to another string where there already is a note, they stack into an unplayable mix.


Comments

1) I run a few tests and I cannot replicate the "unplayable mix" behaviour: [Ctrl][Up]/[Down] seem to always move notes to a sensible place, if it exists (only some notes can be played on any given string). Do you have a reproducible procedure? The code directly executed by those commands did not change since at least June.

2) On the other hand, the description you give of "pushing" up or down the tone on the next string to "make room" for the tone you are moving does not match any intended behaviour; of course, I cannot be 100% sure that it did not happen in some particular cases, but it was not intended as such. Could you elaborate a little?

Thanks,

M.

EDIT: I run some limit case tests, but I forgot the obvious one!!! I can replicate point 1) and I'm working on it. I think the recent changes in accidental management indirectly broke something here. Still unclear about point 2), though. M.

EDIT 2! I got an idea of point 2) too: it is in fact a side effect of the fretting algorithm, but it only works 'pushing' downward and there is no simple way to make it work both ways.

How do you turn

a|--2---|        
e|--10--|        
e|--7---|

into

a|--5---|
e|--7---|
e|--7---|

?

In a previous version, you selected the 10 on the e string, pressed ctrl+up, and they were swapped. Now they merge on the a string leaving the e string blank.

Edit: It neither works by pushing down nor up. I provide a sample file with the configuration.

Attachment Size
Tabsample.mscz 2.3 KB

OK, let's keep separate point 1 (wrongly stacking several tones on a single string) from point 2 (changing the string of another tone to 'make room' for the tone one actually changes).

Your example, in my (convoluted) perspective, falls into point 1); I'll post a fix in the next hours.

Point 2) is easier to see in instruments with more strings, say guitar: if you have notes on the first and second strings, if you select the first string note and press [Ctrl][Down] the note on 1st string is moved to the 2nd and the note on the 2nd string is moved to the 3rd, 'making room' for the first (and so on until there is room)

It is not by design, I was not after this behaviour but it showed up as a consequence of the fretting algorithm (which tries to fit notes from the highest to the lowest). And does not work symmetrically: if you then try to go back, selecting the lower note and pressing [Ctrl][Up], simply nothing happens, because the lower note finds its destination string already occupied.

This is usually less of a concern with an instrument like balalajka, with fewer strings, often all occupied (no room to 'push' anything around, either up or down).

Anyway, a fix for this issue is on the way...

M.