]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-context-properties.scm
Fix some bugs in the dynamic engraver and PostScript backend
[lilypond.git] / scm / define-context-properties.scm
index e63dd9675a023f8f3ddd558143b72db5e175e23a..427c14c2bc9a0196d4759959b193640c6b50f80a 100644 (file)
@@ -2,7 +2,7 @@
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;; 
-;;;; (c) 1998--2005  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+;;;; (c) 1998--2006  Han-Wen Nienhuys <hanwen@cs.uu.nl>
 ;;;;                  Jan Nieuwenhuizen <janneke@gnu.org>
 
 
@@ -22,6 +22,9 @@
    (lambda (x)
      (apply translator-property-description x))
    `(
+
+     ;; TODO FIXME
+   
      (aDueText ,string? "Text to print at a unisono passage.")
      (alignBelowContext ,string? "Where to insert newly created context in vertiical alignment.")
      (alignAboveContext ,string? "Where to insert newly created context in vertiical alignment.")
@@ -29,6 +32,8 @@
                                 "If true, then the accidentals are aligned in bass figure context.")
 
      (allowBeamBreak ,boolean? "If true allow line breaks for beams over bar lines.")
+     (allowPageTurn ,pair? "In the form (moment-start . penalty). Allow a page turn
+at the most recent breakpoint if it was after moment-start.")
      (associatedVoice ,string? "Name of the
 @code{Voice} that has the melody for this @code{Lyrics} line.")
      (autoBeamSettings ,list? "Specifies
@@ -104,9 +109,13 @@ returns whether the corresponding bar number should be printed")
 for the down staff of PianoStaff. Used by @code{\\autochange}")
      (trebleStaffProperties ,list? "Alist of property settings to apply
 for the up staff of PianoStaff. Used by @code{\\autochange}")
+
+     (figuredBassFormatter ,procedure? "Routine generating a markup
+for a bass figure.")
      (bassFigureFormatFunction ,procedure? "Procedure that is called
 to produce the formatting for a @code{BassFigure} grob. It takes a
 list of @code{BassFigureEvent}s, a context, and the grob to format.")
+     
      (beatLength ,ly:moment? "The length of one beat in this time signature.")
      (beatGrouping ,list?
                   "List of beatgroups, e.g., in 5/8 time @code{'(2
@@ -115,7 +124,7 @@ list of @code{BassFigureEvent}s, a context, and the grob to format.")
 
 
      (middleCPosition ,number? "Place of the middle C, measured in half
-staffspaces.  Usually determined by looking at @code{clefPosition} and
+staff-spaces.  Usually determined by looking at @code{clefPosition} and
 @code{clefGlyph}.")
 
      (chordNameFunction ,procedure?
@@ -150,6 +159,8 @@ symbol go, measured in half staff spaces from the center of the staff.")
 
      (connectArpeggios ,boolean? " If set, connect arpeggios across
 piano staff.")
+     (countPercentRepeats ,boolean? "If set, produce counters for
+percent repeats. ")
      (createKeyOnClefChange ,boolean? "Print a key signature whenever the clef is changed.")
      (createSpacing ,boolean? "Create @code{StaffSpacing} objects?
 Should be set for staves.")
@@ -185,9 +196,9 @@ This variable is  read by @internalsref{Timing_translator} at
      (doubleSlurs ,boolean?
                  "When set, two slurs are created for every slurred
 note, one above and one below the chord.")
-     (explicitClefVisibility ,procedure? "@samp{break-visibility} function for clef changes.")
+     (explicitClefVisibility ,vector? "@samp{break-visibility} function for clef changes.")
 
-     (explicitKeySignatureVisibility ,procedure?
+     (explicitKeySignatureVisibility ,vector?
 "@samp{break-visibility} function for explicit key
 changes. @samp{\\override} of the @code{break-visibility} property will set the
 visibility for normal (i.e. at the start of the line) key signatures.")
@@ -200,12 +211,19 @@ another non-natural.")
                          "extra vertical extent, same format as @var{minimumVerticalExtent}")
 
 
+     (figuredBassCenterContinuations ,boolean? "Whether to vertically center pairs of extender lines.")
+     (figuredBassPlusDirection ,ly:dir? "Where to put plus signs relative to the the main figure.")
+     
+     (figuredBassAlterationDirection ,ly:dir? "Where to put
+alterations relative to the main figure.")
      (followVoice ,boolean? "If set, note heads are tracked across staff
 switches by a thin line")
 
      (fontSize ,number?
               "The relative size of all grobs in a context. ")
 
+     (forbidBreak ,boolean? "If set to ##t, prevent a line break at this point.")
+
      (fingeringOrientations ,list?
                            "List of symbols, containing
 @samp{left}, @samp{right}, @samp{up} and/or @samp{down}. This list
@@ -220,6 +238,8 @@ for the full staff.")
      (gridInterval ,ly:moment?
                   "Interval for which to generate @ref{GridPoint}s")
 
+     (hairpinToBarline ,boolean? "If set, end a hairpin at the barline before the ending note.")
+     
      (harmonicAccidentals ,boolean? "If set, harmonic notes in chords
 get accidentals.")
      (highStringOne ,boolean? "Whether the 1st string is the string with
@@ -228,6 +248,10 @@ selector for tab notation.")
 
      (ignoreBarChecks ,boolean? "Ignore bar checks")
      (ignoreMelismata ,boolean? "Ignore melismata for this @internalsref{Lyrics} line.")
+
+     (implicitBassFigures ,list? "List of bass figures that are not
+printed as numbers, but only as extender lines.")
+     
      (instr ,markup? "See @code{instrument}")
 
      (instrument ,markup? "The name to print left of a staff.  The
@@ -241,10 +265,10 @@ the instrument. Its value is the pitch that sounds like middle C. This
 is used to transpose the MIDI output, and @code{\\quote}s.")
 
      (keepAliveInterfaces ,list? "List of symbols, signifying grob interfaces that
-are worth keeping a RemoveEmptyStaff staff around for.")   
-     (keyAccidentalOrder ,list? " Alist that defines in what order
-alterations should be printed.  The format is (@var{name}
-. @var{alter}), where @var{name} is from 0 .. 6 and @var{alter} from
+are worth keeping an staff with @code{remove-empty} set around for.")   
+     (keyAlterationOrder ,list? " Alist that defines in what order
+alterations should be printed.  The format is (@var{step}
+. @var{alter}), where @var{step} is from 0 .. 6 and @var{alter} from
 -2 (sharp) and 2 (flat).
 ")
 
@@ -253,7 +277,6 @@ containing (@var{name} . @var{alter}) or ((@var{octave} . @var{name}) . @var{alt
  where @var{name} is from 0.. 6 and
 @var{alter} from -4 (double flat) to 4 (double sharp).
 ")
-
      (majorSevenSymbol ,markup? "How should
 the major 7th be formatted in a chord name?")
      (markFormatter ,procedure? "Procedure
@@ -300,6 +323,10 @@ sustain pedals: @code{text}, @code{bracket} or @code{mixed} (both).")
      (printKeyCancellation ,boolean? "Print restoration alterations before a key signature change. ")
      (printPartCombineTexts ,boolean? "set Solo/A due texts in the part combiner?")
      (printOctaveNames ,boolean? "Print octave marks for the NoteNames context.")
+
+     (proportionalNotationDuration ,ly:moment? "Global override for
+shortest-playing duration. This is used for switching on proportional
+notation.")
      (recordEventSequence ,procedure? "When Recording_group_engraver
 is in this context, then upon termination of the context, this
 function is called with current context and a list of music objects.
@@ -322,9 +349,11 @@ with other voices is preserved.
 
 
 @example
-@@lilypond[fragment,verbatim,center]
-r1 r1*3 R1*3 \\\\property Score.skipBars= ##t r1*3 R1*3
-@@end lilypond
+@{
+r1 r1*3 R1*3
+\\set Score.skipBars= ##t
+r1*3 R1*3
+@}
 @end example
 ")
      (skipTypesetting ,boolean?
@@ -354,6 +383,9 @@ one).")
 
      (subdivideBeams ,boolean? "If set, multiple beams will be subdivided
 at beat positions by only drawing one beam over the beat.")
+     (suggestAccidentals ,boolean? "If set, accidentals are typeset as cautionary suggestions over the note.")
+
+     (systemStartDelimiterHierarchy ,pair? "A nested list, indicating the nesting of a start delimiters.") 
 
      (systemStartDelimiter ,symbol? "Which grob to make for the start of
 the system/staff? Set to @code{SystemStartBrace},
@@ -377,6 +409,8 @@ Switch off for cadenzas.")
      (tremoloFlags ,integer? "Number of tremolo flags to add if no
 number is specified.")
 
+     (tupletFullLength ,boolean? "If set, the tuplet is printed up to
+the start of the next note.")
      (tupletNumberFormatFunction
       ,procedure?
       "Function taking a music as input, producing a string. This function
@@ -388,20 +422,19 @@ Normally a tuplet bracket is as wide as the
 property, you can make brackets last shorter.  Example
 
 @example
-@@lilypond[verbatim,fragment]
-context Voice \\times 2/3 @{
-  property Voice.tupletSpannerDuration = #(ly:make-moment 1 4)
-  c-[8 c c-] c-[ c c-]
+@{
+\\set tupletSpannerDuration = #(ly:make-moment 1 4)
+\\times 2/3 @{ c8 c c c c c @}
 @}
-@@end lilypond
 @end example
 .")
-     (verticalAlignmentChildCallback ,procedure? "What callback to add
-to children of a vertical alignment.  It determines what
-procedure is used on the alignment itself.")
+
+     (useBassFigureExtenders ,boolean? "Whether to use extender lines
+for repeated bass figures")
+
      (verticalExtent ,number-pair? "Hard coded vertical extent.  The format
 is a pair of dimensions, for example, this sets the sizes of a staff
-to 10 (5+5) staffspaces high.
+to 10 (5+5) staff-spaces high.
 
 @example
 \\set Staff.verticalExtent = #'(-5.0 . 5.0)
@@ -483,18 +516,12 @@ the grobs which are still busy (e.g. note heads, spanners, etc.)
 ")
      (barCheckLastFail ,ly:moment? "Where in the measure did the last barcheck fail?") 
      (associatedVoiceContext ,ly:context? "The context object of the Voice that has the melody for this Lyrics.")
-     (acceptHashTable ,vector? "Internal
-variable: store table with MusicName to Engraver entries.")
-     (acknowledgeHashTable ,vector?
-                          "Internal variable: store interface to engraver smob table for current
-context.")
-
      (beamMelismaBusy ,boolean? "Signal if a beam is present.")
      (dynamicAbsoluteVolumeFunction ,procedure? "[DOCUMENT-ME]")
 
      (lastKeySignature ,list? "Last key signature before a key
 signature change.")
-
+     (rootSystem ,ly:grob? "The System object")
      (scriptDefinitions ,list? "Description of scripts. This is used by
 Script_engraver for typesetting note-super/subscripts. See
 @file{scm/script.scm} for more information
@@ -507,8 +534,6 @@ event types that should be duplicated for @code{\\quote} commands.")
      (instrumentSupport ,grob-list? "list of grobs to attach instrument name
 to.")
      (tieMelismaBusy ,boolean? "Signal whether a tie is present.")
-     (tweakCount ,number? "Number of otherwise unique Contexts.")
-     (tweakRank ,number? "Identify otherwise unique Contexts.")
      )))
 
 (define-public all-translation-properties