Trevor Daniels wrote Saturday, September 17, 2016 9:57 PM > Thomas Morley wrote Friday, September 09, 2016 11:31 PM > >> 2016-09-08 0:07 GMT+02:00 Trevor Daniels <t.dani...@treda.co.uk>: >>> >>> 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. > > I need now to study your approach to polyphony in greater detail to understand > the logic.
Having thought about polyphony in tab a little more I realise now there is a fundamental difficulty: it is quite possible to have an interval in time between two adjacent notes that cannot be represented as a single duration. In staff representation ties would be used to do this, but I don't think ties were used in baroque tab, were they? Even if they were, implementing them at this early stage would be a step too far, at least for me. So I plan to sidestep polyphony at present and concentrate on implementing lute tab from a single voice. There's plenty to do yet to achieve that in a form suitable for a LP patch. Trevor _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel