Lilypond's current function for determining strings for notes attempts to chose a position as low as possible. For this it assumes that the string tuning is descending. In the cases when it isn't, Lilypond will fail to output reasonable results (especially in chords).
This is for example a problem in notation for Ukulele.
Fixing this is pretty easy, I have proposed a patch some while ago. It then turned out that this was in fact done before, but never got anywhere.
The problem then was that for banjo literature the high fifth string is a bit special, which is why the current way seems to be prefered on banjo (where the 5th string is only used if specified).
The problem here appears to be: The fifth string of the banjo starts at a higher fret, so the same position actually produces the same note has the first string (one could say the fifth string is of same pitch as the first, but it starts at a higher position.
So I have thought about possible ways to solve this problem, and came up with two possible approaches. One approach would be to add a context property to toggle, which behaviour is used. The other one would be to add a second property which gives for each string an offset for the top position of the string. So here the banjo notation would have first and fifth string at the same pitch and an offset for the fifth one (one positive side effect of this would be that this will enable us to properly handle something like a capodaster).
So I want to gather same opinions, hopefully from people who use such special case instruments. What is your take on these options? Do you have different ideas? Do you know of other stringed instruments where this would be an issue?