[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: A notice about \mark when Mark_engraver is moved
From: |
David Kastrup |
Subject: |
Re: A notice about \mark when Mark_engraver is moved |
Date: |
Thu, 23 Mar 2017 20:47:14 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux) |
Mats Bengtsson <address@hidden> writes:
> Well, by default, the \mark command is defined as (in
> .../ly/music-functions-init.ly)
>
> mark =
> #(define-music-function
> (label) ((number-or-markup?))
> "Make the music for the \\mark command."
> (let* ((set (and (integer? label)
> (context-spec-music (make-property-set
> 'rehearsalMark label)
> 'Score)))
> (ev (make-music 'MarkEvent
> 'origin (*location*))))
>
> (if set
> (make-sequential-music (list set ev))
> (begin
> (if label (set! (ly:music-property ev 'label) label))
> ev))))
>
>
> If you copy this definition into the top of your file and replace
> 'Score by 'Staff, it should behave as you expect.
Oh wow. Should we let Rehearsal_mark_engraver manage all of the
rehearsalMark manipulation and do it in the context where it is
contained?
It could become a problem when you want local mark engraving (in some
Staff) but your marks are getting manipulated by a global mark track.
But then the increments also happen locally.
I'm not completely sure, but I think moving the setting action into
Mark_engraver might make sense for more use cases. At least it's easier
to explain the effects of moving the Mark_engraver then.
--
David Kastrup
Re: A notice about \mark when Mark_engraver is moved, Mats Bengtsson, 2017/03/23