After reading Marc's responses I think I see where I may have
sewn some confusion.  I have conventional string numbers in the
non-tab staff, since my audience is partly classical guitarists who
cannot (or do not) read tab.  So the information I'm providing is
redundant -- it's for two separate audiences.  At some point I'll
be looking into compiling them separately, but for now I show
both staffs on each page.

So I can't just turn off string numbers as a workaround for this issue.

Sorry for not being clearer about that,

-steve

On Tue, Nov 23, 2010 at 9:25 PM, Steve Yegge <steve.ye...@gmail.com> wrote:

> On Tue, Nov 23, 2010 at 10:16 AM, Carl Sorensen <c_soren...@byu.edu>wrote:
>
>> On 11/23/10 12:37 AM, "Steve Yegge" <steve.ye...@gmail.com> wrote:
>>
>> > Hi all,
>> >
>> > The TabStaff is amazingly cool.  I'm not a big tab user myself,
>> > but for people who want tabs, LilyPond makes it easy to add them.
>> >
>> > I've been busily adding tabs for a few months and have some feature
>> > requests to put into the queue if possible.
>> >
>> > 1) Setting fixed strings to use for ascending/descending chords.
>> > Currently it's nontrivial to specify tab positions for something like:
>> >
>> > <c c'> <d d'> <e e'> <f f'>
>> > <g g'> <a a'> <b b'> <c c'>
>> >
>> > I've found it's most convenient to append the actual strings after
>> > every chord, hence:
>> >
>> > <c c'>\5\3 <d d'>\5\3 <e e'>\5\3 <f f'>\5\3
>> > <g g'>\5\3 <a a'>\5\3 <b b'>\5\3 <c c'>\5\3
>>
>> Why not
>> <c\5 c'\3>
>>
>> Why do you want to put the string numbers *after* the chords, even when
>> you're putting finger numbers inside the chords?
>>
>
> Putting them after the chords is how you prevent printing string numbers.
> It's the documented technique for giving override instructions to the tab
> calculator.  You can even put some inside the chord, thus printing them,
> and move others outside in the same chord.
>
> It is a nice feature.  Tabulature would in fact be nigh-unusable without
> it,
> because the tab calculator is often "wrong".  For example, consider:
>
> \include "english.ly"
> music = \relative c {
>   <a' e' a cs a'>1
> }
>
> \score {
>   <<
>     \new Staff {
>       \music
>     }
>     \new TabStaff {
>       \transpose c c, { \music }
>     }
>   >>
> }
>
> In this example, the low A is placed on the 5th fret, 6th string.
> The minimum fret is the default (zero), but the tab calculator
> does not choose the open-A string, even though it would be
> far more convenient to play it that way.  If you annotate it with
> fingerings:
>
>   <a'-0 e'-1 a-1 cs-1 a'-4>1
>
> it becomes doubly clear to the guitarist that the open-A string is
> intended here, both because of the -0 fingering notation and
> because it is the only physically reasonable configuration.
>
> There are actually _two_ signals here that the tab calculator
> should be picking up but is not.  They are separate issues.
> One is that even though the TabStaff.minimumFret is zero, the
> calculator is not actually using the minimum fret.  The other is
> my #2 feature request, which is that it should respect open
> string "fingering" requests, because they are unambiguous.
>
> The workaround is to use string numbers external to the chord.
> Putting them next to their notes merely creates redundant and
> possibly irritating text for the guitarist to parse.  It's already clear
> that it's an open A, so having a circled string number at that
> note is pointless.  Instead you do this:
>
>   <a' e' a cs a'>1\5
>
> And then you recompile and discover that even though extra
> strings are processed from left to right, so the \5 logically should
> go with the low a' note, the tab calculator has given up in despair
> and is now showing only two strings, both incorrect.  So you wind
> up with this:
>
>   <a' e' a cs a'>1\5\4\3\2\1
>
> and everything is magically solved.
>
> I feel obliged to point out at this juncture that one of the primary
> reasons for LilyPond's awesomeness -- perhaps the single biggest
> reason -- is that it provides you with enough flexibility to work around
> the default behavior if you're willing to dig deep enough.
>
>
>>  >
>> > 2) Have the automatic tab calculator understand the -0 fingering.
>> > Currently if you do something like this:
>> >
>> > \relative c' {
>> >   \set TabStaff.minimumFret = #2
>> >   <d'-0 a'-2 d-3 f-1>
>> > }
>>
>> I would not be in favor of this -- all other fingerings except 0 indicate
>> a
>> finger number, but zero indicates a fret number.
>
>
> Um, no.  Think of it from a set-theoretic perspective.  You have 4 fingers
> and can choose up to four of them.  There are sixteen possibilities, not
> fifteen, because your choice can include the empty set.
>
>
>>  I think it's much better
>> to have you write:
>>
>> <d'\4 a'-2 d-3 f-1>
>>
>> This will get you just what you want.
>>
>
> I believe you are mistaken.  I do not necessarily want a printed string
> number.
> I would have to set the stencil to ##f with tweaks in order for it to work
> this way.
> It would be the very pinnacle of inconvenience, and a step backward from
> the
> current functionality.
>
>
>>
>> >
>> > It will choose strings 5, 4, 3, 2.  Obviously in this case you could
>> > just set the minimum fret to #0, but this may be an exception to a
>> > passage that is otherwise all in position 2.
>> >
>> > Moreover the calculator gets confused by open chords in higher
>> > positions, e.g.
>> >
>> > \relative c {
>> >   <e'-2\5 ges-1 d'-3 b-0 b'-4>
>> > }
>> >
>> > It picks correct strings for all the notes except the open b, which
>> > is ignored (and for which a warning is issued).  You can fix it
>> > by specifying the remaining strings:
>> >
>> > <e-2\5 gs-1 d'-3 b-0 b'-4>16\4\3\2\1
>>
>> I think it will work correctly if you just specify the string for the note
>> you want open:
>>
>> <e-2\5 gs-1 d'-3 b\2 b'-4>16
>>
>> HTH,
>>
>>
> I'm afraid there is more going on here than meets the eye, so your
> proposal doesn't address the problem.  Thanks for considering it,
> though.  It helped me think about the problem more clearly.
>
> -steve
>
>
>> Carl
>>
>>
>
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
http://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to