X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scm%2Fdefine-grob-interfaces.scm;h=31188d0d8ea8156e1b762a7512522fbc39f120de;hb=HEAD;hp=eb76e96e0b53e76bccc60a281543bb0013700f09;hpb=2a6d112286bfaabe36ef54fc655821cd87a91f4b;p=lilypond.git diff --git a/scm/define-grob-interfaces.scm b/scm/define-grob-interfaces.scm index eb76e96e0b..31188d0d8e 100644 --- a/scm/define-grob-interfaces.scm +++ b/scm/define-grob-interfaces.scm @@ -1,6 +1,6 @@ ;;;; This file is part of LilyPond, the GNU music typesetter. ;;;; -;;;; Copyright (C) 1998--2012 Han-Wen Nienhuys +;;;; Copyright (C) 1998--2015 Han-Wen Nienhuys ;;;; Jan Nieuwenhuizen ;;;; ;;;; LilyPond is free software: you can redistribute it and/or modify @@ -34,51 +34,33 @@ note)." (ly:add-interface 'ambitus-interface "The line between note heads for a pitch range." - '(gap note-heads thickness)) + '(gap + length-fraction + maximum-gap + note-heads + thickness)) (ly:add-interface 'bar-line-interface "Print a special bar symbol. It replaces the regular bar symbol with a special symbol. The argument @var{bartype} is a string which specifies the kind of bar line to print. -Options are @code{|}, @code{:|}, @code{|:}, @code{:|:}, @code{:|.|:}, -@code{:|.:}, @code{.}, @code{||}, @code{|.}, @code{.|}, @code{.|.}, -@code{|.|}, @code{:}, @code{dashed}, @code{'} and @code{S}. - -These produce, respectively, a normal bar line, a right repeat, a left repeat, -a thick double repeat, a thin-thick-thin double repeat, -a thin-thick double repeat, a thick bar, a double bar, a start bar, -an end bar, a thick double bar, a thin-thick-thin bar, -a dotted bar, a dashed bar, a tick as bar line and a segno bar. - -In addition, there is an option -@code{||:} which is equivalent to @code{|:} except at line -breaks, where it produces a double bar (@code{||}) at the -end of the line and a repeat sign (@code{|:}) at the -beginning of the new line. - -For segno, @code{S} produces a segno sign except at line breaks, -where it produces a double bar (@code{||}) at the -end of the line and a segno sign at the beginning of the new line. -@code{|S} is equivalent to @code{S} but produces a simple bar line -(@code{|}) instead of a double bar line (@code{||}) at line breaks. -@code{S|} produces the segno sign at line breaks and starts the following -line without special bar lines. - -@code{S|:} and @code{:|S} are used for repeat/segno combinations that are -separated at line breaks. Alternatively, @code{.S|:} and @code{:|S.} -may be used which combine repeat signs and segno at the same line in -case of a line break. @code{:|S|:} is a combination of a left repeat -(@code{:|}), a segno (@code{S}) and a right repeat @code{|:} which -splits before the segno at line breaks; @code{:|S.|:} splits after -the segno sign. - -If @var{bartype} is set to @code{empty} then nothing is -printed, but a line break is allowed at that spot. + +The list of allowed glyphs and predefined bar lines can be +found in @file{scm/bar-line.scm}. @code{gap} is used for the gaps in dashed bar lines." - '(allow-span-bar bar-extent gap glyph glyph-name has-span-bar - hair-thickness kern thin-kern thick-thickness)) + '(allow-span-bar + bar-extent + gap + glyph + glyph-name + hair-thickness + has-span-bar + kern + rounded + segno-kern + thick-thickness)) (ly:add-interface 'bass-figure-interface @@ -93,7 +75,15 @@ printed, but a line break is allowed at that spot. (ly:add-interface 'bend-after-interface "A doit or drop." - '(thickness delta-position)) + '(delta-position + thickness)) + +(ly:add-interface + 'clef-modifier-interface + "The number describing transposition of the clef, placed below +or above clef sign. Usually this is 8 (octave transposition) +or 15 (two octaves), but LilyPond allows any integer here." + '(clef-alignments)) (ly:add-interface 'dynamic-interface @@ -136,23 +126,33 @@ printed, but a line break is allowed at that spot. (ly:add-interface 'footnote-spanner-interface "Make a footnote spanner." - '(footnote-text spanner-placement)) + '(footnote-text + spanner-placement)) (ly:add-interface 'fret-diagram-interface "A fret diagram" - '(align-dir fret-diagram-details size dot-placement-list + '(align-dir + dot-placement-list + fret-diagram-details + size thickness)) (ly:add-interface - 'glissando-interface - "A glissando." - '(glissando-index)) + 'glissando-interface + "A glissando." + '(glissando-index)) (ly:add-interface 'grace-spacing-interface "Keep track of durations in a run of grace notes." - '(columns common-shortest-duration)) + '(columns + common-shortest-duration)) + +(ly:add-interface + 'horizontal-bracket-text-interface + "Label for an analysis bracket." + '(bracket columns)) (ly:add-interface 'inline-accidental-interface @@ -200,6 +200,13 @@ accidentals)." "A rehearsal mark." '()) +(ly:add-interface + 'measure-counter-interface + "A counter for numbering measures." + '(columns + count-from + spacing-pair)) + (ly:add-interface 'metronome-mark-interface "A metronome mark." @@ -216,27 +223,38 @@ accidentals)." '()) (ly:add-interface - 'octavate-eight-interface - "Interface that permits the nominal identification of the octavian -annotation that multiplies by two the freqency of the pitches present -in a given staff were they played on a clef that lacked said octavian -annotation." - '()) + 'number-interface + "Numbers." + '(number-type)) (ly:add-interface 'only-prebreak-interface "Kill this grob after the line breaking process." '()) +(ly:add-interface + 'outside-staff-axis-group-interface + "A vertical axis group on which outside-staff skyline calculations are done." + '(outside-staff-placement-directive vertical-skyline-elements)) + +(ly:add-interface + 'outside-staff-interface + "A grob that could be placed outside staff." + '(outside-staff-horizontal-padding outside-staff-padding outside-staff-priority)) + (ly:add-interface 'parentheses-interface "Parentheses for other objects." - '(padding stencils)) + '(padding + stencils)) (ly:add-interface 'percent-repeat-interface "Beat, Double and single measure repeats." - '(dot-negative-kern slash-negative-kern slope thickness)) + '(dot-negative-kern + slash-negative-kern + slope + thickness)) (ly:add-interface 'piano-pedal-interface @@ -262,15 +280,20 @@ interesting enough to maintain a hara-kiri staff." (ly:add-interface 'spacing-options-interface "Supports setting of spacing variables." - '(spacing-increment shortest-duration-space)) + '(spacing-increment + shortest-duration-space)) (ly:add-interface 'span-bar-interface "A bar line that is spanned between other barlines. This interface is used for bar lines that connect different staves." - '(glyph-name elements pure-Y-common pure-relevant-grobs - pure-relevant-items pure-relevant-spanners)) + '(glyph-name + elements + pure-Y-common + pure-relevant-grobs + pure-relevant-items + pure-relevant-spanners)) (ly:add-interface 'stanza-number-interface @@ -290,13 +313,34 @@ interesting enough to maintain a hara-kiri staff." (ly:add-interface 'system-start-text-interface "Text in front of the system." - '(long-text self-alignment-X self-alignment-Y text)) + '(long-text + self-alignment-X + self-alignment-Y + text)) (ly:add-interface 'tab-note-head-interface "A note head in tablature." '(details display-cautionary span-start)) +(ly:add-interface + 'time-signature-interface + "A time signature, in different styles. The following values for @code{style} are are recognized: + + @table @code + @item C + 4/4 and 2/2 are typeset as C and struck C, respectively. All other time signatures are written with two digits. The value @code{default} is equivalent to @code{C}. + @item neomensural + 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8, and 9/8 are typeset with neo-mensural style mensuration marks. All other time signatures are written with two digits. + @item mensural + 2/2, 3/2, 2/4, 3/4, 4/4, 6/4, 9/4, 4/8, 6/8, and 9/8 are typeset with mensural style mensuration marks. All other time signatures are written with two digits. + @item single-digit + All time signatures are typeset with a single digit, e.g., 3/2 is written as 3. + @item numbered + All time signatures are typeset with two digits. + @end table" + '(fraction style)) + (ly:add-interface 'trill-spanner-interface "A trill spanner."