]> git.donarmstrong.com Git - lilypond.git/blob - scm/define-music-properties.scm
* lily/include/paper-line.hh (class Paper_line): New member
[lilypond.git] / scm / define-music-properties.scm
1 ;;;; music-property-description.scm -- part of generated backend documentation
2 ;;;;
3 ;;;;  source file of the GNU LilyPond music typesetter
4 ;;;; 
5 ;;;; (c)  1998--2004  Han-Wen Nienhuys <hanwen@cs.uu.nl>
6 ;;;;                 Jan Nieuwenhuizen <janneke@gnu.org>
7
8
9
10 (define (music-property-description symbol type? description)
11   (if (not (equal? #f (object-property symbol 'music-doc)))
12       (begin
13         (ly:warn (string-append "Redefining " (symbol->string symbol) "\n"))
14         (exit 2)
15         ))
16   (set-object-property! symbol 'music-type? type?)
17   (set-object-property! symbol 'music-doc description)
18   symbol )
19
20
21 (define-public all-music-properties
22   (map
23    (lambda (x) (apply music-property-description x))
24    `(
25      (iterator-ctor ,procedure? "Function to construct music-event-iterator object for this Music")
26      (duration ,ly:duration? "Duration of this note/lyric.")
27      (metronome-count ,number? "How many beats in a minute?")
28      (span-type ,string? "What kind of spanner should be created?
29
30 TODO: consider making type into symbol") 
31      (absolute-octave ,integer?
32                       "The absolute octave for a octave check note.")
33      (articulations ,ly:music-list?
34                     "Articulation events specifically for this note.")
35      (articulation-type ,string? "key for script definitions alist.
36
37 TODO: consider making type into symbol ")
38      (associated-context ,string? "Name of the Voice context associated with this \\newaddlyrics section")
39      (bass ,boolean? "Set if this note is a bass note in a chord")
40      (cautionary ,boolean? "If set, this alteration needs cautionary accidental")
41      (change-to-id ,string? "name of the context to change to ")
42      (change-to-type ,symbol? "type of the context to change to.")
43      (compress-procedure ,procedure? "compress this music expression. Argument 1: the music, arg 2: factor")
44      (context-id ,string? "name of context")
45      (context-type ,symbol?  "type of context")
46      (descend-only ,boolean? "If set, this @code{\\context} will only
47 descend in the context tree.")
48      (denominator ,integer? "denominator in a time signature")
49      (digit ,integer? "digit for fingering")
50      (direction ,ly:dir? "Print this up or down?")
51      (drum-type ,symbol? "Which percussion instrument to play this note on.")
52
53      (tags ,list? "List of symbols that for denoting extra details,
54 e.g. @code{\\tag #'part ...} could tag a piece of music as only being active in a part.")
55
56
57      (text-type ,symbol? "Particular type of text script (e.g. finger, dynamic).")
58      (tempo-unit ,ly:duration? "The unit for the metronome count.")
59      (tonic ,ly:pitch? "Base of the scale")
60      (element ,ly:music? "The single child of a Music_wrapper music object, or the body of a repeat.")
61      (elements ,ly:music-list? "A list of elements for sequential of simultaneous music, or the alternatives of repeated music. ")
62      (force-accidental ,boolean? "If set, a cautionary accidental should always be printed on this note")
63      (grob-property ,symbol? "The symbol of the grob property to set. ")
64      (grob-value ,scheme? "The value of the grob property to set")
65      (inversion ,boolean? "If set, this chord note is inverted.")
66      (label ,markup? "label of a mark.")
67      (last-pitch ,ly:pitch? "The last pitch after relativization.")
68      (length ,procedure? "How to compute the duration of this music")
69      (internal-class-name ,string? "C++ class to use for this Music object") 
70      (name ,symbol? "Name of this music object")
71      (numerator ,integer? "numerator of a time signature")
72      (once ,boolean? "Apply this operation only during one time step?")
73      (octavation ,integer?
74                   "This pitch was octavated by how many octaves?
75 For chord inversions, this is negative.")
76      (origin ,ly:input-location? "where was this piece of music defined?")
77      (page-penalty ,number? "Penalty for page break hint.")
78      (penalty ,number? "Penalty for line break hint.")
79      (pitch ,ly:pitch? "the pitch of this note")
80      (pitch-alist ,list? "list of pitches jointly forming the scale of a key signature")
81      (pop-first ,boolean? "Do a revert before we try to do a override on some grob property.")
82      (procedure ,procedure?
83                 "The function to run with \\applycontext. It must take a single argument, being the context.")
84      (property-operations ,list?
85                           "Do these operations for instantiating the context.")
86      (predicate ,procedure? "the predicate of a \\outputproperty.")
87      (quoted-events ,vector? "A vector of with moment/event-list entries.")
88      (type ,symbol? "The type of this music object. Determines iteration in some cases.")
89      (types ,list? "The types of this music
90 object; determines by what engraver this music expression is
91 processed.")
92      (repeat-count  ,integer? "do a @code{\repeat} how ofen?")
93      (span-direction ,ly:dir? "Does this start or stop a spanner?")
94      (split-list ,list? "splitting moments for part combiner.")
95      (start-moment-function ,procedure? "Function to compute the negative length of
96 starting grace notes.")
97      (string-number ,integer? "The number of the string in a String_number_req")
98      (symbol ,symbol? "Grob name to perform an override/revert on.")
99      (text ,markup? "markup expression to be printed")
100      ;; markup?
101      (tremolo-type ,integer? "")
102      (value ,scheme? "Assignment value for a
103 translation property")
104      (what ,symbol? "What to change for auto-change. FIXME, naming")
105      (part-combine-status ,symbol?
106                           "Change to what kind of state? Options are
107 solo1, solo2 and unisono")
108
109      (figure ,string? "a `figure' (which may be
110 a string) for figured bass")
111      (alteration ,number? "alteration for figured bass")
112      (bracket-start ,boolean? "start a bracket
113 here. TODO: use span requests?")
114      (bracket-stop ,boolean? "stop a bracket here.")
115
116      )))