Index: ChangeLog =================================================================== RCS file: /cvsroot/lilypond/lilypond/ChangeLog,v retrieving revision 1.2314 diff -u -r1.2314 ChangeLog --- ChangeLog 5 Jul 2004 22:25:03 -0000 1.2314 +++ ChangeLog 6 Jul 2004 01:57:35 -0000 @@ -1,3 +1,12 @@ +2004-07-05 Carl Sorensen + + * scm/fret-diagrams.scm: change name of size and thicness properties + to avoid collisions with other properties + + * scm/define-grob-interfaces.scm: add interface for fret diagram + + * scm/define-grob-properties.scm: add properties for fret-diagram.scm + 2004-07-06 Han-Wen Nienhuys * ly/book-paper-defaults.ly: set default encoding to ec. Index: scm/fret-diagrams.scm =================================================================== RCS file: /cvsroot/lilypond/lilypond/scm/fret-diagrams.scm,v retrieving revision 1.10 diff -u -r1.10 fret-diagrams.scm --- scm/fret-diagrams.scm 5 Jul 2004 19:23:13 -0000 1.10 +++ scm/fret-diagrams.scm 6 Jul 2004 01:57:35 -0000 @@ -315,7 +315,7 @@ ; of the procedures called from this routine. If they're only used in one of the sub-procedure, they're ; obtained in that procedure - (size (chain-assoc-get 'size props 1.0)) ; needed for everything + (size (chain-assoc-get 'fret-diagram-size props 1.0)) ; needed for everything ;TODO -- get string-count directly from length of stringTunings; requires FretDiagram engraver, which is not yet available ;TODO -- adjust padding for fret label? it appears to be too close to dots (string-count (chain-assoc-get 'string-count props 6)) ; needed for everything @@ -326,7 +326,7 @@ (dot-radius (chain-assoc-get 'dot-radius props default-dot-radius)) ; needed for both draw-dots and draw-barre (dot-position (chain-assoc-get 'dot-position props default-dot-position)) ; needed for both draw-dots and draw-barre (th (* (ly:paper-lookup paper 'linethickness) - (chain-assoc-get 'thickness props 0.5))) ; needed for both draw-frets and draw-strings + (chain-assoc-get 'fret-thickness props 0.5))) ; needed for both draw-frets and draw-strings (alignment (chain-assoc-get 'alignment props -0.4)) ; needed only here (xo-padding (* th (chain-assoc-get 'xo-padding props 2))) ; needed only here 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 6 Jul 2004 01:57:35 -0000 @@ -23,6 +23,12 @@ ) (ly:add-interface + 'fret-diagram-interface + "A fret diagram" + '() +) + +(ly:add-interface 'ligature-interface "A ligature" '() Index: scm/define-grob-properties.scm =================================================================== RCS file: /cvsroot/lilypond/lilypond/scm/define-grob-properties.scm,v retrieving revision 1.56 diff -u -r1.56 define-grob-properties.scm --- scm/define-grob-properties.scm 5 Jul 2004 06:41:06 -0000 1.56 +++ scm/define-grob-properties.scm 6 Jul 2004 01:57:35 -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 address@hidden 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,12 @@ 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-diagram-size ,number? "Size of fret diagram.") + (fret-label-vertical-offset ,number? "Vertical offset of text used to +label the top fret in a fret diagram.") + (fret-thickness ,number? "Thickness of fret and string lines in a fret +diagram. Multiplier on bar thickness.") ;; ugh: double, change. (full-size-change ,boolean? "Don't make a change clef smaller.") (non-default ,boolean? "Set for manually specified clefs.") @@ -283,15 +314,14 @@ (horizontal-shift ,integer? "An integer that identifies ranking of note-column for horizontal shifting. This is used by @internalsref{note-collision-interface}.") - (inspect-quants ,number-pair? "If debugging is set, -set beam quant to this position, and print the respective scores.") - (kern ,ly:dimension? "Amount of extra white space to add. For bar line, this is the amount of space after a thick line.") (knee ,boolean? "Is this beam kneed?") (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.") @@ -445,10 +475,14 @@ 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 @@ -459,6 +493,8 @@ (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.") @@ -485,6 +521,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