]> 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 6cb8ecc3bbb216bccd3e1bc274b3ad82975fd3dd..8c678c4087dffc90af3093ac05f6af8ee16d95e4 100644 (file)
@@ -1,8 +1,8 @@
-;;;; 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>
+;;;; (c) 1998--2006  Han-Wen Nienhuys <hanwen@cs.uu.nl>
 ;;;;                  Jan Nieuwenhuizen <janneke@gnu.org>
 
 
@@ -10,9 +10,7 @@
 
 (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)
    (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.")
 
@@ -74,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.")
 
@@ -88,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.")
 
@@ -101,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
@@ -134,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
@@ -144,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.")
@@ -171,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.
 ")
 
@@ -179,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.")
@@ -194,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")
 
@@ -206,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.")
@@ -216,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
@@ -229,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).
 ")
 
@@ -240,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
@@ -287,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
@@ -324,6 +358,7 @@ up the interpretation phase. This speeds up debugging large scores.")
      (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.")
 
@@ -342,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},
@@ -351,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.")
@@ -363,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
@@ -382,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.
@@ -469,18 +512,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
@@ -493,8 +530,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