lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help with Scheme engraver please


From: Trevor Daniels
Subject: Re: Help with Scheme engraver please
Date: Sat, 17 Sep 2016 21:57:18 +0100

Thomas Morley wrote Friday, September 09, 2016 11:31 PM

Hi Harm

back now from my week away ...


> 2016-09-08 0:07 GMT+02:00 Trevor Daniels <address@hidden>:
>>
>>  But I don't understand why you
>> used a rather complicated procedure to obtain durations.  Could you
>> not simply extract the durations from note events?
> 
> In my opinion the historic lute tablatures were written disregarding
> any polyphony as far as rhythmy are concerned, yes.
> But this polyphony was always _meant_ and the player should respect it.
>
> For our coding this means an example like
> 
> upper = { d'2 d' }
> middle = { \override Rest.staff-position = #-1.5 r8 f r8 f r8 f r8 f }
> lower = { a,4\rest d a,4\rest d }
> 
> \score {
>  <<
>   \new Staff << \clef "G_8" \upper \\ \lower \\ \middle >>
> 
>   \new TabStaff
>   << \clef "G_8" \upper \\ \lower \\ \middle >>
>  >>
>  \layout {
>        \context {
>            \TabStaff
>          stringTunings = \stringTuning <a, d f a d' f'>
>        }
>  }
> }
> 
> should return proper polyphonic in Staff, and in TabStaff only a
> single 8th indication for the overall rhythm should be printed.
> This can be achieved with my proposal and would warrant the principle
> of one source-code for Staff _and_ TabStaff.
> I didn't found a method to do so with simple durations.

OK, I see now why you need to extract the interval between a note and the
subsequent note even when they are split between several voices.  
This interval then should be displayed as the "duration" of the first of the 
pair
(unless it is unchanged from the previous one, of course)

I agree this can't be done by looking solely at the duration of individual
notes.

However, your code doesn't quite work in all situations.  If you replace the
first f in the middle voice with a rest we should have a duration of 4 followed
by one of 8, but the 8 is missing.
 
> You seems to be of different opinion, for some cases you let
> explicitely print the warning:
> "Polyphony is not supported in lute tab"

Well, I meant it wasn't supported in my simple implementation, not
that it shouldn't be.

> Always printing the duration at the start of every bar even if
> unchanged happens sometimes, but sometimes not, Maybe let it depend on
> a context-property?

Yes, a sensible later step.
 
> For the bass courses.
> I didn't understand this point in your former mails. Now with your
> code its clearer to me.
> But why you do it this way? Isn't my implementation of
> https://sourceforge.net/p/testlilyissues/issues/4768/
> sufficient?

Well, to be honest I'd forgotten about this.  But unfortunately it is 
incompatible
with the nice fret number glyphs from Fronimo as that font doesn't include
a '/'.  However, as we can't adopt the Fronimo fonts anyway I'll revert to using
your implementation in any future work.

I need now to study your approach to polyphony in greater detail to understand
the logic.

Trevor


reply via email to

[Prev in Thread] Current Thread [Next in Thread]