]> git.donarmstrong.com Git - lilypond.git/blobdiff - ly/property-init.ly
Replace the rather fuzzy list-or-symbol? with symbol-list-or-symbol?
[lilypond.git] / ly / property-init.ly
index e36c3c04650fb83ac0a00bd150bc0d19bde1c694..d88559d26408374a702ff9981e9110d63fda53e1 100644 (file)
@@ -13,10 +13,16 @@ defaultNoteHeads =
    (_i "Revert to the default note head style.")
    (revert-head-style '(NoteHead TabNoteHead)))
 
+#(define (context-name? c)
+  "A stopgap measure until dotted lists become available as arguments.
+Distinguish context names from accidental styles by virtue of their
+first letter being uppercase."
+  (and (symbol? c)
+   (char-upper-case? (string-ref (symbol->string c) 0))))
 
 accidentalStyle =
 #(define-music-function
-   (parser location context style) ((symbol?) string?)
+   (parser location context style) ((context-name?) string?)
    (_i "Set accidental style to @var{style}, a string.  If an optional
 @var{context} symbol is given, e.g. @code{#'Staff} or @code{#'Voice},
 the settings are applied to that context.  Otherwise, the context
@@ -84,6 +90,23 @@ balloonLengthOff = {
 }
 
 
+%% bar lines
+
+defineBarLine =
+#(define-void-function
+   (parser location bar glyph-list) (string? list?)
+   (_i "Define bar line settings for bar line @var{bar}.
+     The list @var{glyph-list} must have three entries which define
+     the appearance at the end of line, at the beginning of the next line,
+     and the span bar, respectively." )
+  (if (not (= (length glyph-list) 3))
+      (ly:error (_ "Argument list for bar '~a' must have three components.") bar)
+      (define-bar-line bar
+                       (car glyph-list)
+                       (cadr glyph-list)
+                       (caddr glyph-list))))
+
+
 %% bass figures
 
 bassFigureExtendersOn = {
@@ -359,7 +382,7 @@ back to the lilypond source statement.")
    (make-music 'SequentialMusic 'void #t))
 
 pointAndClickTypes =
-#(define-void-function (parser location types) (list-or-symbol?)
+#(define-void-function (parser location types) (symbol-list-or-symbol?)
   (_i "Set a type or list of types (such as @code{#'note-event}) for which point-and-click info is generated.")
   (ly:set-option 'point-and-click types))
 
@@ -604,6 +627,12 @@ voiceNeutralStyle = {
 }
 
 
+%% volta brackets
+
+allowVoltaHook =
+#(define-void-function (parser location bar) (string?)
+                       (allow-volta-hook bar))
+
 %% x notes
 
 xNotesOn =