Am Donnerstag, den 20.02.2020, 17:12 +0100 schrieb David Kastrup: > David Kastrup <d...@gnu.org> writes: > > > Graham Percival <gra...@percival-music.ca> writes: > > > > > On Sun, Jan 22, 2012 at 11:49:06AM +0100, David Kastrup wrote: > > > > Anybody actually using the "music-cause"? Inside of LilyPond, > > > > the only > > > > appearance (apart from its declaration) would be > > > > > > > > /* > > > > ES TODO: This is a temporary fix. Stream_events should not > > > > be > > > > aware of music. > > > > */ > > > > e->set_property ("music-cause", self_scm ()); > > > > > > If it's used anywhere, it would be here: > > > http://lilypond.org/website/pdf/thesis-erik-sandberg > > > > > > It may have been added just so he could produce some graphs or > > > tables or something? I know that I have a ton of "graph- > > > producing > > > code" in Artifastring and Vivi like that. > > > > Seems somewhat pointless since events take the whole mutable > > property > > list of their originating music event anyway. If you need more for > > tracking, you could just do > > > > maketrackable = > > #(define-music-function (parser location m) > > (music-map > > (lambda (m) > > (set! ly:music-property 'music-cause m) > > m) > > m)) > > > > and call that on your music before processing. > > I lean towards going through with my threat here and removing > music-cause which seems like a weird punch-through kind of property. > Any objections here? Anybody actually using it anywhere? >
It is used in openLilyLib a few times, I assume by Jan-Peter: $ grep -rnw . -e 'music-cause' ./snippets/editorial-tools/auto- transpose/module.ily:79: ; (ly:make-stream-event 'key- change-event `((music-cause . ,key-sig)) )) ./snippets/editorial-tools/auto-transpose/module.ily:92: (cond- transp engraver (ly:event-property event 'music-cause))) ./snippets/editorial-tools/auto-transpose/module.ily:95: (cond- transp engraver (ly:event-property event 'music-cause))) ./edition- engraver/engine.scm:944: (music- cause . mod))))) ./lilypond-export/api.scm:147: ; search for music-cause of grob ./lilypond-export/api.scm:152: ((ly:stream-event? grob) (grob- cause (ly:event-property grob 'music-cause))) ./lilypond-export/api.scm:205: (music (ly:event-property event 'music-cause)) ./lilypond-export/api.scm:468: (music (ly:event-property event 'music-cause)) ./oll-misc/pitch/auto- transpose/module.ily:79: ; (ly:make-stream-event 'key- change-event `((music-cause . ,key-sig)) )) ./oll-misc/pitch/auto-transpose/module.ily:92: (cond-transp engraver (ly:event-property event 'music-cause))) ./oll-misc/pitch/auto-transpose/module.ily:95: (cond-transp engraver (ly:event-property event 'music-cause)))