Feature has been requested and discussed at length in the forum thread: http://musescore.org/en/node/31016
To implement this, the fret-to-pitch relation has been made dependent of the staff, as each staff may have an individual transposition value in addition to the string data. And -- in addition -- on tick, in preparation of dealing with ottavas and capos.
Allows to mark strings as open (non-fretted).
Defaults to fretted, keeping backward-compatibility with existing scores.
Adds an attribute `open="1"` in score (and instruments.xml) string data (defaults to "0").
Benefits:
- allows future support (also in TAB's) for string instruments with non-fretted strings (mainly but, I think, not only the lute family)
- gives correct fretting for non-fretted strings
- instrument range can more easily and automatically linked to actual string tuning
- as this will be eventually needed for better TAB support, the score reading/writing will be already able to manage it.
Also removes the default guitar string data, which does not make sense for non-stringed instruments (stringed instruments are assumed to have proper string data in instruments.xml anyway)
Renames also the files hoding the class itself:
- libmscore/tablature.cpp => stringdata.cpp
- libmscore/tablature.h => stringdata.h
No actual change in the code, only updated references to stringdata.h in #include's.