X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-context-properties.scm;h=9dfef89e2d557ebcdb47b313d7d55212b88a5307;hb=746a2c1458c0b28f1a73cd3f94b4ed1342433129;hp=cbd0e1544b68f8b74c9e5dc2c13ea37efd1f682d;hpb=2d532bb826559cdb52f1414dabefd23efdbc91a4;p=lilypond.git diff --git a/scm/define-context-properties.scm b/scm/define-context-properties.scm index cbd0e1544b..9dfef89e2d 100644 --- a/scm/define-context-properties.scm +++ b/scm/define-context-properties.scm @@ -2,7 +2,7 @@ ;;;; ;;;; source file of the GNU LilyPond music typesetter ;;;; -;;;; (c) 1998--2007 Han-Wen Nienhuys +;;;; (c) 1998--2009 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen @@ -47,41 +47,43 @@ accidental. For determining when to print an accidental, several different rules are tried. The rule that gives the highest number of accidentals is -used. Each rule consists of +used. + +Each entry in the list is either a symbol or a procedure. @table @var -@item context -In which context is the rule applied. For example, if @var{context} -is @rinternals{Score} then all staves share accidentals, and if -@var{context} is @rinternals{Staff} then all voices in the same staff -share accidentals, but staves do not. +@item symbol +The symbol is the name of the context in which the following rules are to be +applied. For example, if @var{context} is @rinternals{Score} then all +staves share accidentals, and if @var{context} is @rinternals{Staff} then +all voices in the same staff share accidentals, but staves do not. + +@item procedure +The procedure represents an accidental rule to be applied to the previously +specified context. -@item octavation -Whether the accidental changes all octaves or only the current octave. -Valid choices are +The procedure takes the following arguments: @table @code -@item same-octave -This is the default algorithm. Accidentals are typeset if the note -changes the accidental of that note in that octave. Accidentals lasts -to the end of the measure and then as many measures as specified in the -value. This is, @code{1}@tie{}means to the end of next measure, -@code{-1}@tie{}means to the end of previous measure (that is: no -duration at all), etc. @code{#t} means forever. +@item context +The current context to which the rule should be applied. + +@item pitch +The pitch of the note to be evaluated. + +@item barnum +The current bar number. -@item any-octave -Accidentals are typeset if the note is different from the previous note -on the same pitch in any octave. The value has same meaning as in -@code{same-octave}. +@item measurepos +The current measure position. @end table -@item laziness -Over how many bar lines the accidental lasts. If @var{laziness} is -@code{-1} then the accidental is forgotten immediately, and if -@var{laziness} is @code{#t} then the accidental lasts forever. +The procedure returns a pair of booleans. The first states whether an extra +natural should be added. The second states whether an accidental should be +printed. @code{(#t . #f)} does not make sense. @end table") (autoBeamCheck ,procedure? "A procedure taking three @@ -97,11 +99,11 @@ automatically.") but it controls cautionary accidentals rather than normal ones. Both lists are tried, and the one giving the most accidentals wins. In case of draw, a normal accidental is typeset.") - (automaticBars ,boolean? "If set to true then bar lines will not + (automaticBars ,boolean? "If set to false then bar lines will not be printed automatically; they must be explicitly created with a -@code{\\bar} command. Unlike the @code{\\cadenza} keyword, measures -are still counted. Bar generation will resume according to that count -if this property is unset.") +@code{\\bar} command. Unlike the @code{\\cadenzaOn} keyword, measures +are still counted. Bar line generation will resume according to that +count if this property is unset.") (barAlways ,boolean? "If set to true a bar line is drawn after @@ -160,14 +162,15 @@ Should be set for staves.") (crescendoText ,markup? "The text to print at start of non-hairpin crescendo, i.e., @samp{cresc.}.") (crescendoSpanner ,symbol? "The type of spanner to be used for -crescendi. Available values are @samp{hairpin}, @samp{line}, -@samp{dashed-line}, @samp{dotted-line}. If unset, a hairpin crescendo -is used.") +crescendi. Available values are @samp{hairpin} and @samp{text}. If unset, +a hairpin crescendo is used.") (currentBarNumber ,integer? "Contains the current barnumber. This property is incremented at every bar line.") - (decrescendoSpanner ,symbol? "See @code{crescendoSpanner}.") + (decrescendoSpanner ,symbol? "The type of spanner to be used for +decrescendi. Available values are @samp{hairpin} and @samp{text}. If +unset, a hairpin decrescendo is used.") (decrescendoText ,markup? "The text to print at start of non-hairpin decrescendo, i.e., @samp{dim.}.") (defaultBarType ,string? "Set the default type of bar line. See @@ -175,6 +178,8 @@ non-hairpin decrescendo, i.e., @samp{dim.}.") This variable is read by @rinternals{Timing_translator} at @rinternals{Score} level.") + (doubleRepeatType ,string? "Set the default bar line for double +repeats.") (doubleSlurs ,boolean? "If set, two slurs are created for every slurred note, one above and one below the chord.") (drumPitchTable ,hash-table? "A table mapping percussion @@ -234,6 +239,8 @@ for the full staff.") (harmonicAccidentals ,boolean? "If set, harmonic notes in chords get accidentals.") + (harmonicDots ,boolean? "If set, harmonic notes in dotted chords get +dots.") (highStringOne ,boolean? "Whether the first string is the string with highest pitch on the instrument. This used by the automatic string selector for tablature notation.") @@ -368,6 +375,10 @@ context.") (repeatCommands ,list? "This property is a list of commands of the form @code{(list 'volta @var{x})}, where @var{x} is a string or @code{#f}. @code{'end-repeat} is also accepted as a command.") + (repeatCountVisibility ,procedure? "A procedure taking as +arguments an integer and context, returning whether the corresponding +percent repeat number should be printed when @code{countPercentRepeats} +is set.") (restNumberThreshold ,number? "If a multimeasure rest has more measures than this, a number is printed.") @@ -546,8 +557,8 @@ instrument name to.") signature change.") (localKeySignature ,list? "The key signature at this point in the measure. The format is the same as for @code{keySignature}, but can -also contain @code{((@var{octave} . @var{name}) . (@var{alter} . -@var{barnumber}))} pairs.") +also contain @code{((@var{octave} . @var{name}) . (@var{alter} +@var{barnumber} . @var{measureposition}))} pairs.") (melismaBusy ,boolean? "Signifies whether a melisma is active.