[Top][All Lists]
[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
- Implementing Baroque Lute tablature,
Trevor Daniels <=