Bugs in Tab support

• Sep 25, 2012 - 10:12

I suspect you guys may be aware of some of these issues, but here we go anyway.

I'm using nightly build ba582c2.

If I change to tab view, I get 6 lines of tab and guitar tuning more or less whatever the instrument set. A few instruments do have their tuning set up (for example ukulele) but I still see 6 lines of tab. To reproduce, right click on the stave, select stave properties, then set type to tab, and instrument to ukulele. The dialogue displays the number of strings as 4 (good) and selecting the edit string data dialogue shows the correct tunings (even better), but when I click OK the display has 6 lines of tab.

Other instruments that I'm interested in, don't have their tunings correctly set up (they're set the same as guitar), these include mandolin (should be 4 strings G3, D4, A4, E5), octave mandolin (G2, D3, A3, E4), mandola (C3, G3, D4, A4), mandocello (C2, G2, D3, A3), and Irish Bouzouki (G2, D3, A3, D4). I don't see any way to edit the defaults for these (so they apply to all scores)? Also not way to create no instruments (again available for all scores)?

Cheers, John.


Comments

I believe that is because in instruments.xml there is no tablatur setting for those instruments yet.
Currelty thiese only exist for guitar, electric bass, ukulele, "other fretted instruments", various lutes, therbo, banjo, various viols and viola da gamba.
Taking those as examples you may be able to come up the the setting for those instruments you're interested in?

In reply to by Jojo-Schmitz

Many thanks for the info, took me a while to figure out how to get the program to load my edited file, but once I got past that I believe I have correct settings for those instruments now, hopefully someone with commit privileges can add these to the source? Let me know if you need me to test updated versions.

Here are the modified XML for mandolin and mandola:


<Instrument id="mandolin">
<longName>Mandolin</longName>
<shortName>Mdn.</shortName>
<description>Mandolin</description>
<Tablature>
<!--Most modern mandolins have at least 22 frets,
modern Calace instruments have 24 all of which are required for some classical pieces
so set the fret count and pitch range accordingly and allow a double octave on the top e string-->
<frets>22</frets>
<string>55</string>
<string>62</string>
<string>69</string>
<string>76</string>
</Tablature>
<clef>G</clef>
<barlineSpan>1</barlineSpan>
<aPitchRange>55-85</aPitchRange>
<pPitchRange>55-100</pPitchRange>
<Channel>
<program value="24"/>
</Channel>
</Instrument>

<Instrument id="mandola">
<longName>Mandola</longName>
<shortName>Mda.</shortName>
<description>Mandola</description>
<Tablature>
<!--Most modern mandolins have at least 22 frets,
modern Calace instruments have 24 all of which are required for some classical pieces
so set the fret count and pitch range accordingly and allow a double octave on the top A string-->
<frets>24</frets>
<string>48</string>
<string>55</string>
<string>62</string>
<string>69</string>
</Tablature>
<clef>C3</clef>
<barlineSpan>1</barlineSpan>
<aPitchRange>48-87</aPitchRange>
<pPitchRange>48-93</pPitchRange>
<Channel>
<program value="24"/>
</Channel>
</Instrument>

As noted in the comments, as well as adding string info, I've updated the number of frets and the allowed pitch range to account for modern practice in these instruments.

Here are the two new instruments in that family - mandocello and octave mandolin:


<Instrument id="mandocello">
<longName>Mandocello</longName>
<shortName>Mncl.</shortName>
<description>Mandocello</description>
<Tablature>
<!--Most modern mandolins have at least 22 frets,
modern Calace instruments have 24 all of which are required for some classical pieces
so set the fret count and pitch range accordingly and allow a double octave on the top A string-->
<frets>24</frets>
<string>36</string>
<string>43</string>
<string>50</string>
<string>57</string>
</Tablature>
<clef>F</clef>
<barlineSpan>1</barlineSpan>
<aPitchRange>36-75</aPitchRange>
<pPitchRange>36-81</pPitchRange>
<Channel>
<program value="24"/>
</Channel>
</Instrument>

<Instrument id="OctaveMandolin">
<longName>Octave Mandolin</longName>
<shortName>OM.</shortName>
<description>Octave Mandolin</description>
<Tablature>
<!--Most modern mandolins have at least 22 frets,
modern Calace instruments have 24 all of which are required for some classical pieces
so set the fret count and pitch range accordingly and allow a double octave on the top E string-->
<frets>24</frets>
<string>43</string>
<string>50</string>
<string>57</string>
<string>64</string>
</Tablature>
<clef>G8vb</clef>
<barlineSpan>1</barlineSpan>
<aPitchRange>36-75</aPitchRange>
<pPitchRange>36-81</pPitchRange>
<Channel>
<program value="24"/>
</Channel>
</Instrument>

Please note that as with other instruments with fewer than 6 strings (ukes banjos etc), these do not result in the program displaying tab with the correct number of lines - ie one line per string. This is actually a major obstacle to producing "readable" tab.

Working on TAB's

I'm afraid these are not bugs, everything you describes works as it is designed to work. Possibly, there are a few things to explain, though.

" To reproduce, right click on the stave, select stave properties, then set type to tab, and instrument to ukulele. The dialogue displays the number of strings as 4 (good) and selecting the edit string data dialogue shows the correct tunings (even better), but when I click OK the display has 6 lines of tab."

Exactly! You have only changed the instrument definition (I would say the underlying instrument 'hardware'), not the display style (or, if you want, the overlaid display 'software'). To change it, you have to go to "Edit | Staff Type" and edit the TAB type to match the style you want.

The few presets in this dialogue box are 'just' ready-made collections of settings (=>display styles) to quickly set some common display styles; some (but not all) are named after an instrument, under the assumption (in some cases, to be verified) that that display style is commonly used with that instrument. Each of them leaves full access to the "Full configuration" controls to modify and refine.

However, no hard-and-fast link can be established between the instrument you choose in the "Edit | Instruments" dlg box (or the in the New Score Wizard) and the TAB presets: there are instruments which have no standardized TAB display style, instruments which have several (I have seen tabs for guitar in almost every possible style you can think of), styles which may apply to several different instruments, and so on...

So, both steps are necessary:
*) select the right instrument (or modify an exiting one) to have the right 'hardware'
*) select the intended TAB style (or modify an existing preset) to have the intended display.

In particular, and as this tends to pop up every now and then, the number of strings in the instrument 'hardware' definition cannot be hard-linked to the number of lines in the TAB: there are instruments in which the 2 numbers are not the same, for instance, lutes can have as many as 14 'strings' and bass viols up to 7 strings but both use 6-line tabs. Again, both steps are necessary.

IMHO, I see no "obstacle to producing "readable" tab"; there might be a few more setup steps than each single user may expect, as tabulatures have been used across centuries and countries and exhibit an amazing variety, but with the current setup it IS possible.

OTOH, if you notice things misnamed, or which could be named better or more clearly, misleading wordings or any spot in the user interface which could be improved, your suggestions will be very welcome!

String Data
Many thanks for the additional instrument data: I'll see to it they find their way into the programme data!

Creation of new instruments
This is an open matter; every now and then someone reports some missing instrument in the programme instrument collection, but as far as I can remember, nobody 'formally' asked for an 'instrument editor' for adding new instruments in a user-friendly way. If you think it is important, please open a feature request in the issue tracker.

Thanks!

M.

In reply to by Miwarre

Many thanks for the very prompt reply, you guys have produced some very impressive software already!

Following your instructions I can tab looking the way I want (or indeed any way I want!). However, I believe usability can be improved. I certainly take your point that numbers of strings != number of tab lines, especially for instruments with "unfretable" harp-strings etc. However, I've never seen an instrument tab with more tab lines than there are string courses, plus I believe the whole thing could be made more intuitive and streamlined.

A couple of random ideas:

* Instruments.xml could optionally specify for each instrument a default tab layout template to use (or indeed a default template for other staff's). When that instrument is selected for a stave, then so is the default tab layout specified. I'll wager that'll do what folks expect in 99% of use cases. It's also how most other tab editors such as Tabledit work - probably just the lute players that'll need something more?
* The Stave properties dialogue, particularly when the display is set to tab, could have a button to open the staff properties dialogue. Call it something like "staff/tab display properties" and it'll be easier to discover too.

HTH and thanks for the fast response, John.

In reply to by tavy

Thanks for your suggestions, John!

1) Default staff style in instruments.xml: it is a nice idea! It is probably less easy to implement than it may look and I cannot tell if it will be very high priority, but it is definitely an item to add to the TO DO list, as it would surely improve user friendliness a lot.

2) I am sure you will not believe it, but such a button was there and it have been removed, because users did not understand what it was about: in particular it was a source of confusion the fact that editing staff types operates at a different level that editing a staff: the same staff type may apply to several staves or even to none: for instance users selected the TAB in the staff types list, instead of the drop list in the staff properties and complained that nothing happened, and so on. Eventually, the access to the staff type editor has been moved to the "Edit" menu.

Is this an example that you cannot please everyone or there are other solutions?

Thanks,

M.

In reply to by Miwarre

Looking into this has located another bug, and perhaps highlights the source of the confusion some more:

If I have a score with two instruments - lets say mandolin and banjo - and set them both to tab view, then go to edit->staff I can only set the number of lines of both instruments together, I can't have 5 line tab for a 5-string banjo and 4 line tab for a 4 course mandolin.

So we have staff properties on 3 levels: an individual staff (which should ideally default to an instrument's default settings as noted above), all the staves in a particular score, and global settings for a particular machine.

So here's an idea:

* Have one dialogue for all the staff settings, maybe with tabs if there are too many options to fit on one page.
* At the top of the dialogue have a drop down selection box that selects at which level the settings are being applied, it needs to be really obvious so users don't miss the implication of it, something like "These settings apply to:" "This staff only"/"All staves in this score"/"User defaults for new scores and staffs".
* If the user accesses the dialogue from the stave right click menu, then the default is set to "This staff only", if they go via the edit menu it defaults to the whole score and the individual staff option is disabled since we don't know which staff they mean.

Obviously there's still potential for confusion (which level am I at???), but actually you have that now really, it's just that you're not explicit about at which level a dialogue effects things. So I think that something like this would both increase flexibility and help reduce confusion and make settings easier to find.... hopefully ;-)

HTH, John.

In reply to by tavy

"If I have a score with two instruments - lets say mandolin and banjo - and set them both to tab view, then go to edit->staff I can only set the number of lines of both instruments together, I can't have 5 line tab for a 5-string banjo and 4 line tab for a 4 course mandolin."

Yes, you CAN: on the "Edit | Staff types" dlg doc, create a second TAB staff type with the "Create new tablature type" button, now you can:
1) modify each tab type independently (including the type name, so you can name one "tab mandolin" and the other "tab banjo" to avoid any confusion)
2) apply the tab type you want to the instrument you want.

This is precisely one of the use cases which suggested to keep the staff level as separate as possibly from the type level.

I know the whole system is complex, mostly because the matter IS complex; this also makes it non-obvious to manage; it is surely possible (or possibly sure? ;-) ) to improve the user interface structure, wording, etc, and any suggestion is welcome!

Thanks,

M.

Do you still have an unanswered question? Please log in first to post your question.