2018-06-09 23:59 GMT+02:00 Urs Liska <li...@openlilylib.org>: > You mean I should use set-object-property! rather than set! > (ly:music-property .... ?
Well, look at the example below (for custom-grob-properties): { \override NoteHead #'wtf = ##t c' d' \once \override NoteHead #'color = #(lambda (grob) (if (eq? (ly:grob-property grob 'wtf) #t) red '())) e' f' } This used to work, alas emitting a warning: warning: cannot find property type-check for `wtf' (backend-type?). perhaps a typing error? warning: doing assignment anyway Since 2.18.2 it fails with: warning: cannot find property type-check for `wtf' (backend-type?). perhaps a typing error? warning: skipping assignment Unless you prepend the example with something at the lines of: #(define (define-grob-property symbol type? description) (if (not (equal? (object-property symbol 'backend-doc) #f)) (ly:error (_ "symbol ~S redefined") symbol)) (set-object-property! symbol 'backend-type? type?) (set-object-property! symbol 'backend-doc description) symbol) #(for-each (lambda (x) (apply define-grob-property x)) `( (wtf ,boolean? "DOCME") ;; other custom-properties )) I just thought doing similar for custom-_music_-properties would be a littel more robust for changes of our internals. > Does that also work with whole music expressions (vs. single grobs)? I want > to "tag" the whole (sequential) music expression. I expect so, but didn't check. Cheers, Harm _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user