Tablature Feature Request Examples - Part 2

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Tablature Feature Request Examples - Part 2

David Stocker-2
Here are more examples of usage in guitar tablature. I realize that some
of these are complex. The reason I put down some more complex examples
is so that those doing the coding for this may see potential problems
early on and be able to leave the code open-ended and flexible enough
handle more complex scenarios in the future. In this way, I hope that as
more features are implemented, a re-write of existing code won't be
necessary in order to accommodate them.

Hats off Mark and Carl (and everyone else who is able to contribute -
now and in the future) for making this developments happen and kudos to
the entire LilyPond -devel and documentation teams for all your efforts.
I know the job can be thankless sometimes. I'm sure I speak for the
community when I say we're grateful to have this wonderful tool at our
disposal and the world of Music Typesetting is better for it.

Peace,

David

guitar-tab2.pdf (112K) Download Attachment
guitar-tab2.odt (31K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tablature Feature Request Examples - Part 2

David Stocker-2
...and here's a *.pdf of the notes on the examples.

David Stocker wrote:

> Here are more examples of usage in guitar tablature. I realize that
> some of these are complex. The reason I put down some more complex
> examples is so that those doing the coding for this may see potential
> problems early on and be able to leave the code open-ended and
> flexible enough handle more complex scenarios in the future. In this
> way, I hope that as more features are implemented, a re-write of
> existing code won't be necessary in order to accommodate them.
>
> Hats off Mark and Carl (and everyone else who is able to contribute -
> now and in the future) for making this developments happen and kudos
> to the entire LilyPond -devel and documentation teams for all your
> efforts. I know the job can be thankless sometimes. I'm sure I speak
> for the community when I say we're grateful to have this wonderful
> tool at our disposal and the world of Music Typesetting is better for it.
>
> Peace,
>
> David

guitar-tab2-notes.pdf (39K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tablature Feature Request Examples - Part 2

Carl Sorensen
In reply to this post by David Stocker-2



On 1/5/10 7:54 AM, "David Stocker" <[hidden email]> wrote:

> Here are more examples of usage in guitar tablature. I realize that some
> of these are complex. The reason I put down some more complex examples
> is so that those doing the coding for this may see potential problems
> early on and be able to leave the code open-ended and flexible enough
> handle more complex scenarios in the future. In this way, I hope that as
> more features are implemented, a re-write of existing code won't be
> necessary in order to accommodate them.

Looking at this example, I'm more convinced that bend should be a property
of a note.  The numbers above the staff on the tablature should be
TabNoteHeads, not part of a bend graphic.  The bend graphic should connect
the TabNoteHeads.  And in the regular staff, the bend graphic should connect
the NoteHeads.

I guess there will need to be some kind of merge command for the
tabNoteHeads if they have the same amount of bend.

Thanks for the examples, David.

Carl



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tablature Feature Request Examples - Part 2

Marc Hohl
In reply to this post by David Stocker-2
David Stocker schrieb:
> Here are more examples of usage in guitar tablature.
Thanks! I think this has been a lot of work ...
> I realize that some of these are complex. The reason I put down some
> more complex examples is so that those doing the coding for this may
> see potential problems early on and be able to leave the code
> open-ended and flexible enough handle more complex scenarios in the
> future. In this way, I hope that as more features are implemented, a
> re-write of existing code won't be necessary in order to accommodate
> them.
Yes, that's sensible.
>
> Hats off Mark and Carl (and everyone else who is able to contribute -
> now and in the future) for making this developments happen and kudos
> to the entire LilyPond -devel and documentation teams for all your
> efforts. I know the job can be thankless sometimes. I'm sure I speak
> for the community when I say we're grateful to have this wonderful
> tool at our disposal and the world of Music Typesetting is better for it.
:)

Marc
>
> Peace,
>
> David



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tablature Feature Request Examples - Part 2

Marc Hohl
In reply to this post by Carl Sorensen
Carl Sorensen schrieb:

>
> On 1/5/10 7:54 AM, "David Stocker" <[hidden email]> wrote:
>
>  
>> Here are more examples of usage in guitar tablature. I realize that some
>> of these are complex. The reason I put down some more complex examples
>> is so that those doing the coding for this may see potential problems
>> early on and be able to leave the code open-ended and flexible enough
>> handle more complex scenarios in the future. In this way, I hope that as
>> more features are implemented, a re-write of existing code won't be
>> necessary in order to accommodate them.
>>    
>
> Looking at this example, I'm more convinced that bend should be a property
> of a note.
Not a spanner?
>  The numbers above the staff on the tablature should be
> TabNoteHeads, not part of a bend graphic.  The bend graphic should connect
> the TabNoteHeads.  And in the regular staff, the bend graphic should connect
> the NoteHeads.
>  
Ah, I think I understand. As a beam connects multiple notes which are
coded seperately, the bend engraver connects different notes by use of
pointed slurs
or arrows and changes the tab note head into a number, depending on the
first note of the "bend beam".
> I guess there will need to be some kind of merge command for the
> tabNoteHeads if they have the same amount of bend.
>  
Hm, perhaps this is not necessary, because the position of the bend number
is fixed, so in the worst case, we'll have two identical numbers positioned
exactly on the same spot.

Marc
> Thanks for the examples, David.
>
> Carl
>
>
>  



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tablature Feature Request Examples - Part 2

Carl Sorensen



On 1/5/10 12:47 PM, "Marc Hohl" <[hidden email]> wrote:

> Carl Sorensen schrieb:
>>
>> On 1/5/10 7:54 AM, "David Stocker" <[hidden email]> wrote:
>>
>>  
>>> Here are more examples of usage in guitar tablature. I realize that some
>>> of these are complex. The reason I put down some more complex examples
>>> is so that those doing the coding for this may see potential problems
>>> early on and be able to leave the code open-ended and flexible enough
>>> handle more complex scenarios in the future. In this way, I hope that as
>>> more features are implemented, a re-write of existing code won't be
>>> necessary in order to accommodate them.
>>>    
>>
>> Looking at this example, I'm more convinced that bend should be a property
>> of a note.
> Not a spanner?

The bend indicator is a spanner, but the bend itself is a property of a
note.  How do you know when a note is bent (not in LilyPond necessarily, but
in generic musical notation)?  It's when the pitch is higher than the
standard pitch for a note at that fret given the string tuning.

>>  The numbers above the staff on the tablature should be
>> TabNoteHeads, not part of a bend graphic.  The bend graphic should connect
>> the TabNoteHeads.  And in the regular staff, the bend graphic should connect
>> the NoteHeads.
>>  
> Ah, I think I understand. As a beam connects multiple notes which are
> coded seperately, the bend engraver connects different notes by use of
> pointed slurs
> or arrows and changes the tab note head into a number, depending on the
> first note of the "bend beam".

Yes, that's exactly what I'm thinking.  And that's why you shouldn't use the
slur engraver as the starting point for the bend engraver.  The slur
engraver has all kinds of positioning that I don't think is needed for
either of the bend indications.

I'd recommend that you at least look at the logic of the auto_beam_engraver
as having some characteristics that will be needed for the bend_engraver.
It has the try/junk/finalize logic that I think will be useful.

>> I guess there will need to be some kind of merge command for the
>> tabNoteHeads if they have the same amount of bend.
>>  
> Hm, perhaps this is not necessary, because the position of the bend number
> is fixed, so in the worst case, we'll have two identical numbers positioned
> exactly on the same spot.

Not so if you look at the last case in David's example, where a two-note
chord is bent, but one note is bent a half step and the other is bent a
whole step. In that case, the bent note location is different for the two
notes.  Hence, we need to support both merged and unmerged bend notes.

Thanks,

Carl



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tablature Feature Request Examples - Part 2

Carl Sorensen



On 1/5/10 1:08 PM, "Carl Sorensen" <[hidden email]> wrote:

>
>
>
>
> On 1/5/10 12:47 PM, "Marc Hohl" <[hidden email]> wrote:
>
>> Carl Sorensen schrieb:
>
>>>  The numbers above the staff on the tablature should be
>>> TabNoteHeads, not part of a bend graphic.  The bend graphic should connect
>>> the TabNoteHeads.  And in the regular staff, the bend graphic should connect
>>> the NoteHeads.
>>>
>> Ah, I think I understand. As a beam connects multiple notes which are
>> coded seperately, the bend engraver connects different notes by use of
>> pointed slurs
>> or arrows and changes the tab note head into a number, depending on the
>> first note of the "bend beam".
>
> Yes, that's exactly what I'm thinking.  And that's why you shouldn't use the
> slur engraver as the starting point for the bend engraver.  The slur
> engraver has all kinds of positioning that I don't think is needed for
> either of the bend indications.

Oops, I missed a mistake in your logic.  The bend_engraver is responsible
for drawing beam indicators in both the TabStaff and the Staff.  But it's
the tab_note_heads_engraver that is responsible for changing the number of
the tab-note-head to the amount of bend for that note, as well as for
changing the staff position of the bent note.

Thanks,

Carl



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tablature Feature Request Examples - Part 2

Marc Hohl
Carl Sorensen schrieb:

>
> On 1/5/10 1:08 PM, "Carl Sorensen" <[hidden email]> wrote:
>
>  
>>
>>
>> On 1/5/10 12:47 PM, "Marc Hohl" <[hidden email]> wrote:
>>
>>    
>>> Carl Sorensen schrieb:
>>>      
>>>>  The numbers above the staff on the tablature should be
>>>> TabNoteHeads, not part of a bend graphic.  The bend graphic should connect
>>>> the TabNoteHeads.  And in the regular staff, the bend graphic should connect
>>>> the NoteHeads.
>>>>
>>>>        
>>> Ah, I think I understand. As a beam connects multiple notes which are
>>> coded seperately, the bend engraver connects different notes by use of
>>> pointed slurs
>>> or arrows and changes the tab note head into a number, depending on the
>>> first note of the "bend beam".
>>>      
>> Yes, that's exactly what I'm thinking.  And that's why you shouldn't use the
>> slur engraver as the starting point for the bend engraver.  The slur
>> engraver has all kinds of positioning that I don't think is needed for
>> either of the bend indications.
>>    
>
> Oops, I missed a mistake in your logic.  The bend_engraver is responsible
> for drawing beam indicators in both the TabStaff and the Staff.  But it's
> the tab_note_heads_engraver that is responsible for changing the number of
> the tab-note-head to the amount of bend for that note, as well as for
> changing the staff position of the bent note.
>  
That's what I meant. The tab note engraver sees that the bend engraver
is active and
changes the tab note head into the appropriate number. I just simplified
the meaning a bit too much.

Marc
> Thanks,
>
> Carl
>
>
>  



Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tablature Feature Request Examples - Part 2

Carl Sorensen



On 1/5/10 3:05 PM, "Marc Hohl" <[hidden email]> wrote:

> Carl Sorensen schrieb:
>>
>> On 1/5/10 1:08 PM, "Carl Sorensen" <[hidden email]> wrote:
>>
>>  
>>>
>>>
>>> On 1/5/10 12:47 PM, "Marc Hohl" <[hidden email]> wrote:
>>>
>>>    
>>>> Carl Sorensen schrieb:
>>>>      
>>>>>  The numbers above the staff on the tablature should be
>>>>> TabNoteHeads, not part of a bend graphic.  The bend graphic should connect
>>>>> the TabNoteHeads.  And in the regular staff, the bend graphic should
>>>>> connect
>>>>> the NoteHeads.
>>>>>
>>>>>        
>>>> Ah, I think I understand. As a beam connects multiple notes which are
>>>> coded seperately, the bend engraver connects different notes by use of
>>>> pointed slurs
>>>> or arrows and changes the tab note head into a number, depending on the
>>>> first note of the "bend beam".
>>>>      
>>> Yes, that's exactly what I'm thinking.  And that's why you shouldn't use the
>>> slur engraver as the starting point for the bend engraver.  The slur
>>> engraver has all kinds of positioning that I don't think is needed for
>>> either of the bend indications.
>>>    
>>
>> Oops, I missed a mistake in your logic.  The bend_engraver is responsible
>> for drawing beam indicators in both the TabStaff and the Staff.  But it's
>> the tab_note_heads_engraver that is responsible for changing the number of
>> the tab-note-head to the amount of bend for that note, as well as for
>> changing the staff position of the bent note.
>>  
> That's what I meant. The tab note engraver sees that the bend engraver
> is active and
> changes the tab note head into the appropriate number. I just simplified
> the meaning a bit too much.

Almost, but not quite.  The tab note engraver never talks to the beam
engraver.

The tab note engraver sees that the current note is a bend from the previous
note and changes the appearance of the note head.  It does it entirely
separate from the bend engraver.

The TabVoice could have the bend engraver removed, and the tab notes would
appear as they would with the bends, but the bend graphics would not show
up.

This is important, because I don't know how to make engravers talk with one
another.  The job of engravers is to respond to music events.  Both the bend
engraver and the tab note engraver see the note events; the job of the bend
engraver is to use those events to create bend graphics, and the job of the
tab note head engraver is to use those events to create tab note heads.

Thanks,

Carl




Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Tablature Feature Request Examples - Part 2

Carl Sorensen



On 1/5/10 3:23 PM, "Carl Sorensen" <[hidden email]> wrote:

>
>
>
>
> On 1/5/10 3:05 PM, "Marc Hohl" <[hidden email]> wrote:
>
>> Carl Sorensen schrieb:
>>>
>>> On 1/5/10 1:08 PM, "Carl Sorensen" <[hidden email]> wrote:
>>>
>>>
>>>>
>>>>
>>>> On 1/5/10 12:47 PM, "Marc Hohl" <[hidden email]> wrote:
>>>>
>>>>  
>>>>> Carl Sorensen schrieb:
>>>>>    
>>>>>>  The numbers above the staff on the tablature should be
>>>>>> TabNoteHeads, not part of a bend graphic.  The bend graphic should
>>>>>> connect
>>>>>> the TabNoteHeads.  And in the regular staff, the bend graphic should
>>>>>> connect
>>>>>> the NoteHeads.
>>>>>>
>>>>>>      
>>>>> Ah, I think I understand. As a beam connects multiple notes which are
>>>>> coded seperately, the bend engraver connects different notes by use of
>>>>> pointed slurs
>>>>> or arrows and changes the tab note head into a number, depending on the
>>>>> first note of the "bend beam".
>>>>>    
>>>> Yes, that's exactly what I'm thinking.  And that's why you shouldn't use
>>>> the
>>>> slur engraver as the starting point for the bend engraver.  The slur
>>>> engraver has all kinds of positioning that I don't think is needed for
>>>> either of the bend indications.
>>>>  
>>>
>>> Oops, I missed a mistake in your logic.  The bend_engraver is responsible
>>> for drawing beam indicators in both the TabStaff and the Staff.  But it's
>>> the tab_note_heads_engraver that is responsible for changing the number of
>>> the tab-note-head to the amount of bend for that note, as well as for
>>> changing the staff position of the bent note.
>>>
>> That's what I meant. The tab note engraver sees that the bend engraver
>> is active and
>> changes the tab note head into the appropriate number. I just simplified
>> the meaning a bit too much.
>
> Almost, but not quite.  The tab note engraver never talks to the beam
> engraver.

s/beam/bend/


>
> The tab note engraver sees that the current note is a bend from the previous
> note and changes the appearance of the note head.  It does it entirely
> separate from the bend engraver.
>
> The TabVoice could have the bend engraver removed, and the tab notes would
> appear as they would with the bends, but the bend graphics would not show
> up.
>
> This is important, because I don't know how to make engravers talk with one
> another.  The job of engravers is to respond to music events.  Both the bend
> engraver and the tab note engraver see the note events; the job of the bend
> engraver is to use those events to create bend graphics, and the job of the
> tab note head engraver is to use those events to create tab note heads.
>
> Thanks,
>
> Carl
>
>
>
>



Loading...