]> git.donarmstrong.com Git - lilypond.git/blobdiff - scm/define-context-properties.scm
* The grand 2005-2006 replace.
[lilypond.git] / scm / define-context-properties.scm
index 3d13d2fe1f178ea150c5f43b36f405d725e37fc5..8c678c4087dffc90af3093ac05f6af8ee16d95e4 100644 (file)
@@ -1,36 +1,37 @@
-;;;; translator-property-description.scm -- part of backend documentation
+;;;; define-context-properties.scm -- part of backend documentation
 ;;;;
 ;;;;  source file of the GNU LilyPond music typesetter
 ;;;; 
-;;;; (c)  1998--2004  Han-Wen Nienhuys <hanwen@cs.uu.nl>
-;;;;                 Jan Nieuwenhuizen <janneke@gnu.org>
+;;;; (c) 1998--2006  Han-Wen Nienhuys <hanwen@cs.uu.nl>
+;;;;                  Jan Nieuwenhuizen <janneke@gnu.org>
 
 
 (define-public all-translation-properties '())
 
 (define (translator-property-description symbol type? description)
  (if (not (equal? #f (object-property symbol 'translation-doc)))
-      (begin
-       (ly:warn  "Redefining ~S " symbol)
-       (exit 2)
-      ))
+     (ly:error (_ "symbol ~S redefined" symbol)))
   
   (set-object-property! symbol 'translation-type? type?)
   (set-object-property! symbol 'translation-doc description)
   (set! all-translation-properties (cons symbol all-translation-properties))
-  symbol
-  )
+  symbol)
 
 (define-public all-user-translation-properties
   (map
    (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.")
      (alignBassFigureAccidentals ,boolean?
                                 "If true, then the accidentals are aligned in bass figure context.")
 
-     (allowBeamBreak ,boolean? "If true allow line breaks for  beams over bar lines.")
+     (allowBeamBreak ,boolean? "If true allow line breaks for beams over bar lines.")
      (associatedVoice ,string? "Name of the
 @code{Voice} that has the melody for this @code{Lyrics} line.")
      (autoBeamSettings ,list? "Specifies
@@ -76,6 +77,9 @@ immediately, and if @var{laziness} is @code{#t} then the accidental
 lasts forever.
 @end table
 ")
+     (autoBeamCheck ,procedure? "Procedure taking three
+arguments, CONTEXT, DIR start/stop (-1 or 1) and TEST shortest
+note in the beam.  A non-#f return value starts or stops the auto beam.")
      (autoBeaming ,boolean? "If set to true then beams are generated
 automatically.")
 
@@ -90,7 +94,7 @@ printed automatically; they must be explicitly created with
 are still counted.  Bar generation will resume according to that count
 if this property is unset.
 ")
-
+     
      (barAlways ,boolean? "If set to true a bar line is drawn after each
 note.")
 
@@ -103,9 +107,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
@@ -136,6 +144,9 @@ Contains (@var{chord} . @var{markup}) entries.")
      (chordNameSeparator ,markup?
                         "The markup object used to separate
  parts of a chord name.")
+     (chordPrefixSpacer ,number?
+                       "The space added between the root symbol and the prefix
+ of a chord name")
      (chordChanges ,boolean? "Only show changes in chords scheme?")
      (clefGlyph ,string? "Name of the symbol within the music font.")
      (clefOctavation ,integer? "Add
@@ -146,6 +157,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.")
@@ -173,7 +186,7 @@ every bar line.
      (defaultBarType ,string? "Sets the default type of bar line.
 See @code{whichBar} for information on available bar types.
 
-This variable is  read by @internalsref{Timing_engraver} at
+This variable is  read by @internalsref{Timing_translator} at
 @internalsref{Score} level.
 ")
 
@@ -181,9 +194,9 @@ This variable is  read by @internalsref{Timing_engraver} 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.")
@@ -196,6 +209,11 @@ 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")
 
@@ -208,9 +226,13 @@ switches by a thin line")
 determines where fingerings are put relative to the chord being
 fingered.")
 
+     (firstClef ,boolean? "If true, create a new clef when starting a
+staff.")
      (forceClef ,boolean? "Show clef symbol, even if it has not
 changed. Only active for the first clef after the property is set, not
 for the full staff.")
+     (gridInterval ,ly:moment?
+                  "Interval for which to generate @ref{GridPoint}s")
 
      (harmonicAccidentals ,boolean? "If set, harmonic notes in chords
 get accidentals.")
@@ -218,7 +240,12 @@ get accidentals.")
 highest pitch on the instrument. This used by the automatic string
 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
@@ -231,9 +258,11 @@ Function taking a string (instrument name), and returning a (@var{min} . @var{ma
 the instrument. Its value is the pitch that sounds like middle C. This
 is used to transpose the MIDI output, and @code{\\quote}s.")
 
-     (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
+     (keepAliveInterfaces ,list? "List of symbols, signifying grob interfaces that
+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).
 ")
 
@@ -242,7 +271,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
@@ -289,15 +317,19 @@ 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.")
-     (recordEventSequence ,procedure? "When
-@internalsref{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.  The list of contains entries
-with start times, music objects and whether they are processed in this
-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.
+The list of contains entries with start times, music objects and
+whether they are processed in this context.")
 
      (rehearsalMark ,integer? "The last rehearsal mark printed.")
+     (rehearsalMarkAlignSymbol ,symbol? "Which @code{break-align-symbol} to put the mark on?  Example values:  @code{clef}, @code{key-signature}.")
+     
      (repeatCommands ,list? "This property is read to find any command of the form @code{(volta . @var{x})}, where @var{x} is a string or @code{#f}")
      (restNumberThreshold ,number?
                          "If a multimeasure rest has more measures
@@ -314,18 +346,19 @@ with other voices is preserved.
 
 @example
 @@lilypond[fragment,verbatim,center]
-r1 r1*3 R1*3  \\\\property Score.skipBars= ##t r1*3 R1*3
+r1 r1*3 R1*3 \\\\property Score.skipBars= ##t r1*3 R1*3
 @@end lilypond
 @end example
 ")
      (skipTypesetting ,boolean?
                      "When true, all no typesetting is done, speeding
-up  the interpretation phase. This speeds up debugging large scores.")
+up the interpretation phase. This speeds up debugging large scores.")
      (soloIIText ,string? "text for begin of solo for voice ``two'' when part-combining.")
      (soloText ,string? "text for begin of solo when part-combining.")
      (squashedPosition ,integer? " Vertical position of
 squashing for @internalsref{Pitch_squash_engraver}.")
 
+     (stringNumberOrientations ,list? "See @code{fingeringOrientations}")
      (stringOneTopmost ,boolean? "Whether the 1st string is printed on the
 top line of the tablature.")
 
@@ -344,6 +377,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},
@@ -353,6 +389,8 @@ the system/staff? Set to @code{SystemStartBrace},
 takes a string number, a list of string tunings and Pitch object. It
 returns the text as a string.")
 
+     (tieWaitForNote ,boolean? "If true, tied notes do not have to follow each other directly.
+This can be used for writing out arpeggios")
      (timeSignatureFraction ,number-pair?
                            "pair of numbers, signifying the time
 signature. For example @code{#'(4 . 4)} is a 4/4 time signature.")
@@ -365,6 +403,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 upto
+the start of the next note.")
      (tupletNumberFormatFunction
       ,procedure?
       "Function taking a music as input, producing a string. This function
@@ -372,8 +412,8 @@ is called to determine the text to print on a tuplet bracket.")
 
      (tupletSpannerDuration ,ly:moment? "
 Normally a tuplet bracket is as wide as the
-@code{\\times} expression that gave rise to it. By setting this
-property, you can make brackets last shorter. Example
+@code{\\times} expression that gave rise to it.  By setting this
+property, you can make brackets last shorter.  Example
 
 @example
 @@lilypond[verbatim,fragment]
@@ -384,9 +424,10 @@ context Voice \\times 2/3 @{
 @@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.
@@ -396,7 +437,7 @@ to 10 (5+5) staffspaces high.
 @end example
 
 
-This does not work for Voice or any other context  that doesn't form a
+This does not work for Voice or any other context that doesn't form a
 vertical group.")
      
      (verticallySpacedContexts ,list? "List of symbols, containing
@@ -459,7 +500,7 @@ for this staff.")
      (localKeySignature ,list? "the key signature at this point in the
 measure.  The format is the same as for keySignature, but can also
 contain ((@var{octave} . @var{name}) . (@var{alter} . @var{barnumber}))
-pairs. It is reset at every bar line."  )
+pairs. It is reset at every bar line.")
 
      
      (localKeySignatureChanges ,list? "Experimental. [DOCME]")
@@ -469,20 +510,14 @@ pairs. It is reset at every bar line."  )
 conses. This is for internal (C++) use only.  This property contains
 the grobs which are still busy (e.g. note heads, spanners, etc.)
 ")
-     (barCheckLastFail ,ly:moment? "Where in  the measure did the last barcheck fail?") 
+     (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
@@ -495,10 +530,7 @@ 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
   (append all-user-translation-properties