span. Both are measured in half staff-spaces, @code{staff-position=0}
corresponds to the middle staff line.
-
Set @code{height} to zero, to get horizontal beams:
@lilypond[fragment,relative,verbatim]
\property Voice.Beam \set #'height = #-4
[c8 c]
@end lilypond
-@cindex @code{default-neutral-direction}
+
+@c TODO -> why this ref? Document?
+@cindex @code{neutral-direction}
@node Expressive marks
@section Expressive marks
\score{
\notes\relative c{
- \property Voice.Stem \override #'default-neutral-direction = #-1
+ \property Voice.Stem \override #'neutral-direction = #-1
b''4 ~ b8()b8 e4 e,
}
fragment = \notes {
[b''8 b]
- \property Voice.Beam \set #'default-neutral-direction = #-1
+ \property Voice.Beam \set #'neutral-direction = #-1
[b b]
}
\header { texidoc = "
The direction of a perfectly centred beams can be
controlled through @code{Voice.Beam}'s grob-property
-@code{default-neutral-direction}
+directly@code{neutral-direction}
"}
\paper { linewidth = -1.}
\score {\notes \relative c {
[b''8 b]
- \property Voice.Beam \set #'default-neutral-direction = #-1
+ \property Voice.Beam \set #'neutral-direction = #-1
[b b]
}}
;; alist of property descriptions
+;;;;;; TODO: sort out symbol vs. string stuff.
+;;;;;; TODO: use flatten write iso. string-append; might be possible to fold
+;;;;;; in symbol->string integrally.
+
(define (backend-property->texi sym)
(let* ((name (symbol->string sym))
(type (object-property sym 'backend-type?))
(node (grob-name name))
(texi-section 2 (grob-name name) #f)
"\n"
- (let* ((grob (string->symbol name))
+ (let* ((grob name)
(engravers (filter-list
(lambda (x) (engraver-makes-grob? name x)) all-engravers-list))
(engraver-names (map Translator::name engravers))
)
(string-append
- name " grobs are created by: "
+ (symbol->string name) " grobs are created by: "
(human-listify (map ref-ify
(map engraver-name engraver-names)))))
(apply string-append ifacedoc))))
-(define (engraver-makes-grob? name grav)
- (memq name (assoc 'grobs-created (Translator::description grav)))
+(define (engraver-makes-grob? name-symbol grav)
+ (memq name-symbol (assoc 'grobs-created (Translator::description grav)))
)
(define (document-all-grobs name)
(name (Translator::name engraver))
(name-sym (string->symbol name))
(desc (cdr (assoc 'description (Translator::description engraver))))
- (grobs (cdr (assoc 'grobs-created (Translator::description engraver))))
+ (grobs (engraver-grobs engraver))
)
(string-append
(apply string-append
(map document-engraver-by-name consists))))))
-(define (engraver-grobs name)
+(define (engraver-grobs grav)
(let* (
- (eg (find-engraver-by-name name all-engravers-list))
- )
+ (eg (if (string? grav)
+ (find-engraver-by-name grav all-engravers-list)
+ grav))
+
+ )
(if (eq? eg #f)
'()
- (cdr (assoc 'grobs-created (Translator::description eg)))
+ (map symbol->string (cdr (assoc 'grobs-created (Translator::description eg))))
)
))
-
;;; generate-documentation.scm -- Generate documentation
;;;
;;; source file of the GNU LilyPond music typesetter
(document-music "LilyPond music properties")
(document-paper "LilyPond interpretation contexts")
(document-all-engravers "LilyPond engravers")
- (document-all-engraver-properties "LilyPond context properties")
+ (document-all-engraver-properties "LilyPond context properties")
(document-all-grobs "LilyPond backend")
(document-all-interfaces "LilyPond interfaces")
(document-all-backend-properties "LilyPond backend properties")