I've added documentation for fret diagram properties to
define-grob-properties.scm and define-grob-interfaces.scm. These
changes, along with updates to the ChangeLog are included in the
attached patch.
Note: The CVS has not yet been updated with my previous patch
(20040705fret.patch), so the ChangeLog entry in this patch duplicates
the previous one. How should I handle this type of situation in the
future?
Thanks,
Carl
Index: ChangeLog
===================================================================
RCS file: /cvsroot/lilypond/lilypond/ChangeLog,v
retrieving revision 1.2300
diff -u -r1.2300 ChangeLog
--- ChangeLog 1 Jul 2004 21:36:09 -0000 1.2300
+++ ChangeLog 5 Jul 2004 23:18:47 -0000
@@ -1,3 +1,28 @@
+2004-07-05 Carl Sorensen <[EMAIL PROTECTED]>
+
+ * scm/define-grob-properties.scm (all-user-grob-properties): Add descriptions
+ for all fret-diagram properties.
+
+ * scm/define-grob-interfaces.scm (fret-diagram-interface): Add
+ fret-diagram interface code
+
+2004-07-02 Carl Sorensen <[EMAIL PROTECTED]>
+
+ * scm/output-ps.scm (white-text): Add scale paramter to allow scaling
+
+ * scm/output-tex.scm (white-text): Add scale parameter to allow font scaling
+
+ * scm/stencil.scm (fontify-text-white) : Adjust to better center, properly
+ scale white text
+
+ * scm/fret-diagrams.scm (make-fret-diagram): change default dot position for numbered dots so dot will
+ touch fret.
+ (various routines): move to font-metric interface, rather than name, size interface.
+ Clean up comments.
+
+ * ps/music-drawing-routines.ps: (/draw_white_text) Adjust font
+ size and offset to better center white text.
+
2004-07-01 Jan Nieuwenhuizen <[EMAIL PROTECTED]>
* scripts/abc2ly.py (try_parse_chord_delims): Bugfix: update to
Index: scm/define-grob-properties.scm
===================================================================
RCS file: /cvsroot/lilypond/lilypond/scm/define-grob-properties.scm,v
retrieving revision 1.55
diff -u -r1.55 define-grob-properties.scm
--- scm/define-grob-properties.scm 10 Apr 2004 23:59:16 -0000 1.55
+++ scm/define-grob-properties.scm 5 Jul 2004 23:18:47 -0000
@@ -46,6 +46,8 @@
(align-dir ,ly:dir? "Which side to align? @code{-1}: left side,
@code{0}: around center of width, @code{1}: right side.")
+;;TODO -- change to fret-alignment?
+ (alignment ,ly:dir? "Alignment for fret diagram. See @code {align-dir}.")
(arch-angle ,number? "Turning angle of the hook of a system brace" )
(arch-height ,ly:dimension? "Height of the hook of a system brace.")
(arch-thick ,number? "Thickness of the hook of system brace.")
@@ -80,6 +82,10 @@
(bar-size ,ly:dimension? "size of a bar line.")
(bar-size-procedure ,procedure? "Procedure that computes the size of a bar line.")
+ (barre-type ,symbol? "Type of barre indication used in a fret diagram.
+Choices include @code{curved} and @code{straight}.")
+ (barre-vertical-offset ,number? "Offset for barre indication on fret
+diagram, from center of dot, in terms of dot radius.")
(base-shortest-duration ,ly:moment?
"Spacing is based on the shortest notes in a piece. Normally, pieces are spaced as if notes at least as short as this are present.")
(baseline-skip ,ly:dimension? "Distance between base lines of
@@ -105,6 +111,10 @@
called before line breaking, but after splitting breakable items at
potential line breaks.")
(between-cols ,pair? "Where to attach a loose column to")
+ (bezier-height ,number? "Height of bezier sandwich used for curved
+barre indicator in fret diagrams.")
+ (bezier-thick, ,number? "Thickness of bezier sandwich used for curved
+barre indicator in fret diagrams.")
(bracket-thick ,number? "width of a system start bracket.")
(break-align-symbol ,symbol? "This key is used for aligning and
spacing breakable items.")
@@ -186,6 +196,15 @@
")
(direction ,ly:dir? "Up or down, left or right?")
+ (dot-color ,symbol? "Color of dots in fret diagram. Options include
[EMAIL PROTECTED] and @code{white}.")
+ (dot-label-font-mag ,number? "Magnification of font used to label dots in
+fret diagram.")
+ (dot-position ,number? "Position of dot for fret diagram, in terms of
+fret spacing. 0.5 is middle of fret space, 1.0 is on bottom fret line,
+0.0 is on top fret line. Generally slightly above 0.5.")
+ (dot-radius ,number? "Radius of dots used in fret diagrams, in terms of
+fret spacing.")
(dot-count ,integer? "The number of dots.")
(duration-log ,integer? "The 2-log of the note head duration, i.e. 0=whole note, 1 = half note, etc.")
(edge-height ,pair? "A pair of number specifying the heights of
@@ -219,7 +238,14 @@
;;
(extremity-function ,procedure? "A function that calculates the
-attachment of a slur-end. The function takes a slur and direction argument and returns a symbol.")
+attachment of a slur-end. The function takes a slur and direction argument and returns a symbol.")
+ (finger-code ,symbol? "Code for the type of fingering indication in a
+fret diagram. Options include @code{none}, @code{in-dot}, and @code{below-string}.")
+ (finger-xoffset ,number? "X offset of the text labeling fingering below
+the string of a fret-diagram, in units of string spaces.")
+ (finger-yoffset ,number? "Y offset of the text labeling fingering below
+the string of a fret-diagram, in units of fret spaces.")
+
(flag-style ,symbol?
"a string determining what style of flag-glyph is
typeset on a Stem. Valid options include @code{()} and
@@ -256,7 +282,9 @@
signature object.")
(french-beaming ,boolean? "Use French beaming style for this
stem. The stem will stop at the innermost beams.")
-
+ (fret-count ,integer? "The number of frets in a fret diagram.")
+ (fret-label-vertical-offset ,number? "Vertical offset of text used to
+label the top fret in a fret diagram.")
;; ugh: double, change.
(full-size-change ,boolean? "Don't make a change clef smaller.")
(non-default ,boolean? "Set for manually specified clefs.")
@@ -289,6 +317,8 @@
(knee-spacing-correction ,number? "Factor for the optical
correction amount for kneed beams. Set between 0 for no correction and
1 for full correction.")
+ (label-font-magnification ,number? "Magnification of font used to
+label the top fret on a fret diagram")
(layer ,number? "The output layer [0..2]: layers define the order
of printing objects. Objects in lower layers are overprinted by
objects in higher layers.")
@@ -397,6 +427,8 @@
"Multiply direction of
@code{direction-source} with this to get the direction of this
object.")
+;;TODO -- change size to fret-diagram-size
+ (size ,number? "Size of fret diagram.")
(slope ,number? "The slope of this object.")
(slope-limit ,number? "Set slope to zero if slope is running away
steeper than this.")
@@ -442,20 +474,29 @@
stems that are placed in tight configurations. For opposite
directions, this amount is the correction for two normal sized stems
that overlap completely.")
+ (string-count ,integer? "The number of strings in a fret diagram.")
+ (string-label-font-mag ,number? "Mangification for font used to label
+finger indications below strings in fret diagram")
(style ,symbol? "This setting determines in what style a grob is
typeset. Valid choices depend on the @code{print-function} that is
reading this property.")
(text ,markup? "Text markup. See @usermanref{Text markup}.")
+;;FIXME -- Should both be the same?
(thick-thickness ,number? "Bar line thickness, measured in
@code{linethickness}.")
(thickness ,number? "Bar line thickness, measured in
@code{linethickness}.")
+;;TODO -- change to fret-thickness
+ (thickness ,number? "Thickness of fret and string lines in a fret
+diagram. Multiplier on bar thickness.")
(thin-kern ,number? "The space after a hair-line in a bar line.")
(forced-distance ,ly:dimension? "A fixed distance between object
reference points in an alignment.")
(threshold ,number-pair? "(@var{min} . @var{max}), where
@var{min} and @var{max} are dimensions in staff space.")
+ (top-fret-thickness ,number? "Thickness of the top fret in a fret
+diagram, as a multiplier of the standard fret thickness.")
(transparent ,boolean? "This is almost the same as setting
@code{print-function} to @code{#f}, but this retains the dimensions of
this grob, which means that grobs can be erased individually.")
@@ -482,6 +523,12 @@
words in texts.")
(width ,ly:dimension? "The width of a grob measured in staff space.")
(x-gap ,ly:dimension? "The horizontal gap between note head and tie.")
+ (xo-font-mag ,number? "Magnification for the font used to label mute
+and open strings in a fret diagram.")
+ (xo-horizontal-offset ,number? "Horizontal offset for characters used
+to label mute and open strings in a fret diagram.")
+ (xo-padding ,number? "Vertical padding for mute and open indicators
+in fret diagram.")
(y-free ,ly:dimension? "The minimal vertical gap between slur and
note heads or stems.")
(y-offset ,ly:dimension? "Extra vertical offset for ties away
Index: scm/define-grob-interfaces.scm
===================================================================
RCS file: /cvsroot/lilypond/lilypond/scm/define-grob-interfaces.scm,v
retrieving revision 1.12
diff -u -r1.12 define-grob-interfaces.scm
--- scm/define-grob-interfaces.scm 24 Mar 2004 15:42:24 -0000 1.12
+++ scm/define-grob-interfaces.scm 5 Jul 2004 23:18:47 -0000
@@ -23,6 +23,12 @@
)
(ly:add-interface
+ 'fret-diagram-interface
+ "A fret diagram"
+ '()
+)
+
+(ly:add-interface
'ligature-interface
"A ligature"
'()
_______________________________________________
lilypond-devel mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/lilypond-devel