`display-methods' property of the music type entry found in the
`music-name-to-property-table' hash table. Print methods previously
defined for that music type are lost.
-Syntax: (define-display-method MusicType (expression parser)
+Syntax: (define-display-method MusicType (expression)
...body...))"
`(let ((type-props (hashq-ref music-name-to-property-table
',music-type '()))
(scheme-expr->lily-string val))))
(ly:music-property expr 'tweaks))))
-(define-public (music->lily-string expr parser)
+(define-public (music->lily-string expr)
"Print @var{expr}, a music expression, in LilyPond syntax."
(if (ly:music? expr)
(let* ((music-type (ly:music-property expr 'name))
music-type '())
'display-methods))
(result-string (and procs (any (lambda (proc)
- (proc expr parser))
+ (proc expr))
procs))))
(if result-string
(format #f "~a~a~a"
(cdr prop-elements))))
elements-list))))
-(define-macro (with-music-match music-expr+pattern . body)
+(defmacro-public with-music-match (music-expr+pattern . body)
"If `music-expr' matches `pattern', call `body'. `pattern' should look like:
'(music <MusicType>
property value