X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grob-properties.scm;h=d55ab4c8c788449af838d45b2afd55b9b1e8247c;hb=699d59b38b5699d578288d3126a08a360c6086f1;hp=f3b684754f6d4f7b89bc4cc1992768f7d79ccd2a;hpb=548baf434eb7f66c849172afd388dcbc75926643;p=lilypond.git diff --git a/scm/define-grob-properties.scm b/scm/define-grob-properties.scm index f3b684754f..d55ab4c8c7 100644 --- a/scm/define-grob-properties.scm +++ b/scm/define-grob-properties.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2014 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -214,8 +214,9 @@ increments from this initial value.") dash structure. Each @code{dash-element} has a starting t value, an ending t-value, a @code{dash-fraction}, and a @code{dash-period}.") (dash-fraction ,number? "Size of the dashes, relative to -@code{dash-period}. Should be between @code{0.0} (no line) and -@code{1.0} (continuous line).") +@code{dash-period}. Should be between @code{0.1} and +@code{1.0} (continuous line). If set to @code{0.0}, a dotted line is +produced") (dash-period ,number? "The length of one dash together with whitespace. If negative, no line is drawn at all.") (default-direction ,ly:dir? "Direction determined by note head @@ -530,6 +531,8 @@ the string will be assigned to the @code{id} attribute of a group () that encloses the stencils that comprise the grob. In the Postscript backend, as there is no way to group items, the setting of the id property will have no effect.") + (ignore-ambitus ,boolean? "If set, don't consider this notehead +for ambitus calculation.") (ignore-collision ,boolean? "If set, don't do note collision resolution on this @code{NoteColumn}.") (implicit ,boolean? "Is this an implicit bass figure?") @@ -572,8 +575,13 @@ lines for.") lines. It is the sum of 2@tie{}numbers: The first is the factor for line thickness, and the second for staff space. Both contributions are added.") - (ledger-positions ,list? "Repeating pattern for the vertical positions -of ledger lines. Bracketed groups are always shown together.") + (ledger-positions ,list? "Vertical positions of ledger lines. +When set on a @code{StaffSymbol} grob it defines a repeating +pattern of ledger lines and any parenthesized groups will always be +shown together.") + (ledger-positions-function ,scheme? "A quoted Scheme procedure that +takes a @code{StaffSymbol} grob and the vertical position of a note head +as arguments and returns a list of ledger line positions.") (left-bound-info ,list? "An alist of properties for determining attachments of spanners to edges.") (left-padding ,ly:dimension? "The amount of space that is put @@ -607,9 +615,6 @@ visual output is influenced by changes to ;;; (max-beam-connect ,integer? "Maximum number of beams to connect to beams from this stem. Further beams are typeset as beamlets.") - (max-stretch ,number? "The maximum amount that this -@code{VerticalAxisGroup} can be vertically stretched (for example, in -order to better fill a page).") (maximum-gap ,number? "Maximum value allowed for @code{gap} property.") (measure-count ,integer? "The number of measures for a @@ -637,6 +642,11 @@ this long, normally in the horizontal direction. This requires an appropriate callback for the @code{springs-and-rods} property. If added to a @code{Tie}, this sets the minimum distance between noteheads.") + (minimum-length-after-break ,ly:dimension? "If set, try to make +a broken spanner starting a line this long. This requires an +appropriate callback for the @code{springs-and-rods} property. If +added to a @code{Tie}, this sets the minimum distance to the +notehead.") (minimum-length-fraction ,number? "Minimum length of ledger line as fraction of note head size.") (minimum-space ,ly:dimension? "Minimum distance that the victim @@ -665,7 +675,7 @@ object.") get stems extending to the middle staff line.") (non-break-align-symbols ,list? "A list of symbols that determine which NON-break-aligned interfaces to align this to.") - (non-default ,boolean? "Set for manually specified clefs.") + (non-default ,boolean? "Set for manually specified clefs and keys.") (non-musical ,boolean? "True if the grob belongs to a @code{NonMusicalPaperColumn}.") (nonstaff-nonstaff-spacing ,list? "The spacing alist @@ -698,6 +708,11 @@ over the total spanner, where the width of the spanner is normalized between 0 and 1.") (note-names ,vector? "Vector of strings containing names for easy-notation note heads.") + (note-collision-threshold ,ly:dimension? "Simultaneous notes that +are this close or closer in units of @code{staff-space} will be +identified as vertically colliding. Used by @code{Stem} grobs for notes +in the same voice, and @code{NoteCollision} grobs for notes in +different voices. Default value@tie{}1.") (number-type ,symbol? "Numbering style. Choices include @code{roman-lower}, @code{roman-upper} and @code{arabic}.") @@ -769,6 +784,10 @@ If unset, the value from @code{self-alignment-X} property will be used.") (parent-alignment-Y ,number? "Like @code{parent-alignment-X} but for the Y@tie{}axis.") + (parenthesis-friends ,list? "A list of Grob types, as symbols. +When parentheses enclose a Grob that has 'parenthesis-friends, the +parentheses widen to include any child Grobs with type among +'parenthesis-friends.") (parenthesized ,boolean? "Parenthesize this grob.") (positions ,number-pair? "Pair of staff coordinates @code{(@var{left} . @var{right})}, where both @var{left} and @@ -790,12 +809,16 @@ number, the quicker the slur attains its @code{height-limit}.") interesting items.") (remove-first ,boolean? "Remove the first staff of an orchestral score?") - (remove-layer ,integer? "The @code{Keep_alive_together_engraver} -removes all @code{VerticalAxisGroup} grobs with a @code{remove-layer} -larger than the smallest retained @code{remove-layer}. Set to -@code{#f} to make a layer invisible to the -@code{Keep_alive_together_engraver}, set to @code{'()} to have it not -participate in the layering decisions.") + (remove-layer ,key? "When set as a positive integer, the +@code{Keep_alive_together_engraver} removes all +@code{VerticalAxisGroup} grobs with a @code{remove-layer} larger than +the smallest retained @code{remove-layer}. Set to @code{#f} to make a +layer independent of the @code{Keep_alive_together_engraver}. Set to +@code{'()}, the layer does not participate in the layering decisions. +The property can also be set as a symbol for common behaviors: +@code{#'any} to keep the layer alive with any other layer in the +group; @code{#'above} or @code{#'below} to keep the layer alive with +the context immediately before or after it, respectively.") (replacement-alist ,list? "Alist of strings. The key is a string of the pattern to be replaced. The value is a string of what should be displayed. Useful for ligatures.") @@ -839,6 +862,9 @@ value @w{@code{-1}} means left aligned, @code{0}@tie{}centered, and values may also be specified - the unit is half the object width.") (self-alignment-Y ,number? "Like @code{self-alignment-X} but for the Y@tie{}axis.") + (shape ,symbol? "This setting determines what shape a grob +has. Valid choices depend on the @code{stencil} callback reading +this property.") (sharp-positions ,list? "Sharps in key signatures are placed within the specified ranges of staff-positions. The general form is a list of pairs, with one pair for each type of clef, in order @@ -866,7 +892,8 @@ placed vertically.") object.") (simple-Y ,boolean? "Should the Y placement of a spanner disregard changes in system heights?") - (size ,number? "Size of object, relative to standard size.") + (size ,number? "The ratio of the size of the object to its default +size.") (skip-quanting ,boolean? "Should beam quanting be skipped?") (skyline-horizontal-padding ,number? "For determining the vertical distance between two staves, it is possible to have a @@ -969,7 +996,7 @@ override: \\override MultiMeasureRest #'spacing-pair = #'(staff-bar . staff-bar) @end example") - (spanner-id ,string? "An identifier to distinguish concurrent spanners.") + (spanner-id ,key? "An identifier to distinguish concurrent spanners.") (springs-and-rods ,boolean? "Dummy variable for triggering spacing routines.") (stacking-dir ,ly:dir? "Stack objects in which direction?") @@ -1088,9 +1115,15 @@ automatically.") line just before it would otherwise stop.") (toward-stem-shift ,number? "Amount by which scripts are shifted toward the stem if their direction coincides with the stem direction. -@code{0.0} means keep the default position (centered on the note -head), @code{1.0} means centered on the stem. Interpolated values are -possible.") +@code{0.0} means centered on the note head (the default position of +most scripts); @code{1.0} means centered on the stem. Interpolated +values are possible.") + (toward-stem-shift-in-column ,number? "Amount by which a script +is shifted toward the stem if its direction coincides with the stem +direction and it is associated with a @code{ScriptColumn} object. +@code{0.0} means centered on the note head (the default position of +most scripts); @code{1.0} means centered on the stem. Interpolated +values are possible.") (transparent ,boolean? "This makes the grob invisible.") @@ -1112,15 +1145,22 @@ positioning?") ;;; (vertical-skylines ,ly:skyline-pair? "Two skylines, one above and one below this grob.") + (voiced-position ,number? "The staff-position of a voiced +@code{Rest}, negative if the rest has @code{direction} @code{DOWN}.") ;;; ;;; w ;;; - (when ,ly:moment? "Global time step associated with this column -happen?") - (whiteout ,boolean? "If true, the grob is printed over a white -background to white-out underlying material, if the grob is visible. - Usually #f by default.") + (when ,ly:moment? "Global time step associated with this column.") + (whiteout ,boolean-or-number? "If a number or true, the grob is +printed over a white background to white-out underlying material, if +the grob is visible. A number indicates how far the white background +extends beyond the bounding box of the grob as a multiple of the +staff-line thickness. The shape of the background is determined by +@code{whiteout-style}. Usually @code{#f} by default.") + (whiteout-style ,symbol? "Determines the shape of the +@code{whiteout} background. Available are @code{'outline}, +@code{'rounded-box}, and the default @code{'box}.") (width ,ly:dimension? "The width of a grob measured in staff space.") (word-space ,ly:dimension? "Space to insert between words in @@ -1246,7 +1286,8 @@ empty in a particular staff, then that staff is erased.") (keep-alive-with ,ly:grob-array? "An array of other @code{VerticalAxisGroup}s. If any of them are alive, then we will stay alive.") - (left-items ,ly:grob-array? "DOCME") + (left-items ,ly:grob-array? "Grobs organized on the left by a spacing +object.") (left-neighbor ,ly:grob? "The right-most column that has a spacing-wish for this column.") @@ -1277,13 +1318,18 @@ relevant for finding the @code{pure-Y-extent}.") (rest ,ly:grob? "A pointer to a @code{Rest} object.") (rest-collision ,ly:grob? "A rest collision that a rest is in.") (rests ,ly:grob-array? "An array of rest objects.") - (right-items ,ly:grob-array? "DOCME") + (right-items ,ly:grob-array? "Grobs organized on the right by +a spacing object.") (right-neighbor ,ly:grob? "See @code{left-neighbor}.") + (scripts ,ly:grob-array? "An array of @code{Script} objects.") (side-support-elements ,ly:grob-array? "The side support, an array of grobs.") (slur ,ly:grob? "A pointer to a @code{Slur} object.") (spacing ,ly:grob? "The spacing spanner governing this section.") + (space-increment ,ly:dimension? "The amount by which the total duration +of a multimeasure rest affects horizontal spacing. Each doubling of the +duration adds @code{space-increment} to the length of the bar.") (spacing-wishes ,ly:grob-array? "An array of note spacing or staff spacing objects.") (span-start ,boolean? "Is the note head at the start of a spanner?") @@ -1374,7 +1420,8 @@ to be within staff spaces.") (quantized-positions ,number-pair? "The beam positions after quanting.") - + (script-column ,ly:grob? "A @code{ScriptColumn} associated with a +@code{Script} object.") (script-stencil ,pair? "A pair @code{(@var{type} . @var{arg})} which acts as an index for looking up a @code{Stencil} object.") (shorten ,ly:dimension? "The amount of space that a stem is shortened.