lilypond-devel
[Top][All Lists]
Advanced

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

Implementing Baroque Lute tablature


From: Trevor Daniels
Subject: Implementing Baroque Lute tablature
Date: Thu, 26 Nov 2009 11:31:39 -0000

I am considering trying to implement a first attempt
at providing a Baroque lute tab facility.  This may
turn out to be a bite too large for me, but hey, that's
the way to learn.  The first phase would be to implement
a minimal set of facilities which would output something
like Baroque tab in the German, English, French style
from standard notemode input.  The key elements are
a duration indication above the TabStaff, an indication
of bass courses below the TabStaff, a special way of
indicating stroke finger and frets indicated by letters.

You can see an ideal representation of French Baroque
lute tab as produced by Fronimo here
http://www.mateus-lutes.com/tablature/barbe_egautier.pdf.

By modifying the input stream and inserting computed
markups, it is possible to produce something promising,
but this is not a practical approach and I'd like now
to move to a 'proper' implementation.

I'd like to install the elements required for Baroque
lute tab as independent features which may be turned
on or off as required.  That way some of them might
be useful in other ways or for other instruments.
They would all be brought together in new lute tab
contexts.  Below are my preliminary thoughts for
implementation.

Is this a sensible/suitable/best approach?  Any other
comments welcome.

---------------------

Phase I

Lettered fret indications
 Based on "Letter tablature formatting" example from LSR
   Needs to be installed in scm/translation-functions.scm
   Call it fret-letter-tablature-format
   Invoked by overriding tablatureFormat in TabStaff
 The font to be used can be overridden in TabNoteHead
   Can't use the rather nice Fronimo font as licence is
   incompatible with LilyPond's, but users can install
   and use Fronimo fonts (except for commercial use)

Duration changes
 New Tab_duration_engraver to draw heads, stems and flags above tab
   Crib from note-name-engraver.cc and stem-engraver.cc
   Makes new TabDuration grob
   New context properties:
     tabDurationChangeOnly (bool) #f (default) #t (for baroque
lute)
   TabDuration properties
     tab-duration-style (symbol) 'modern or 'baroque-lute

Bass courses
 New Bass_course_engraver to draw bass course symbols below tab
   Also cribbed from note-name-engraver.cc and stem-engraver.cc
   Makes new BassCourse grob
   New context properties:
     bassTunings

Stroke Fingerings
 Modify New_fingering_engraver
 Dots for stroke fingering activated by new Fingering property
   stroke-finger-style (symbol) 'numeric' (default) or 'dots'

Lute tab contexts
 New contexts LuteTabStaff and LuteTabVoice to draw
 all this (and a few other things) together


Thanks for your attention,
Trevor






reply via email to

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