Rehearsal mark on time signature

classic Classic list List threaded Threaded
15 messages Options
Reply | Threaded
Open this post in threaded view
|

Rehearsal mark on time signature

seng_liang
Hi, I would like to say good work on making available new ways of aligning
the rehearsal mark on Lilypond 2.7.19. However, I would like to know is it
possible to align the rehearsal mark with a time signature? Or perhaps
efforts are being made to include this feature in future versions?
I'm saying this because if you look carefully at the beginning of printed
music scores, the rehearsal mark is usually a tempo marking eg. Allegro,
Adagio. The first letter of the rehearsal mark is on top of the time
signature of the staff below it instead of the key signature. And of course,
the time signature is to the right of the key signature. So I hope this
feature would be added as the rehearsal mark would look better in that
position.
Thanks.




_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Rehearsal mark on time signature

Trevor Bača-2
On 11/28/05, liang seng <[hidden email]> wrote:

> Hi, I would like to say good work on making available new ways of aligning
> the rehearsal mark on Lilypond 2.7.19. However, I would like to know is it
> possible to align the rehearsal mark with a time signature? Or perhaps
> efforts are being made to include this feature in future versions?
> I'm saying this because if you look carefully at the beginning of printed
> music scores, the rehearsal mark is usually a tempo marking eg. Allegro,
> Adagio. The first letter of the rehearsal mark is on top of the time
> signature of the staff below it instead of the key signature. And of course,
> the time signature is to the right of the key signature. So I hope this
> feature would be added as the rehearsal mark would look better in that
> position.
If we look at ...

%%%% BEGIN SNIPPET %%%%%%%%%

\version "2.7.19"

\score {
   <<
      \new Staff {
         \set Score.rehearsalMarkAlignSymbol = #'time-signature
         \time 1/4 \mark "Zart" % THIS ISN'T NOT RELATIVE TO TIME SIGNATURE
         c'4
         \time 4/4 \mark "Bewegt" % BUT THIS IS
         c'4 c'4 c'4 c'4
      }
   >>
   \layout {
      \context {
         \Score
         \override RehearsalMark #'self-alignment-X = #left
      }
   }
}

%%%%% END SNIPPET %%%%%%%%%%%%%%

... we see that we can, in fact, align rehearsal marks to time
signatures. There seem to be two last tasks, though:

1. Aligning to *the very first* time signature in a context seems to
be a problem (eg, "Zart") even though aligning to *subsequent* time
signatures works fine (eg, "Bewegt"); this may or may not be a bug and
I've asked Han-Wen so we'll see what he thinks.

2. Setting #'self-alignment-X positions the mark relative to the
*center* of time signature (or other grob); what we need to do is find
a way to position the mark relative to the *left edge* of the grob.
There may, in fact, be a way to do this already but I haven't finished
digging around yet!

Once we find ways to do both #1 and #2 then we'll be able to have the
left edge of, for example, "Zart" align exactly with the left edge of
the 1/4, which will conform to the most usual classical practice for
setting the first tempo indication with no more extra-offset hackery.

[Sidenote: as long as we're on the topic, 2.7.19 introduces a really
wonderful bit of improved syntax over, say, 2.7.10. Previously, to
change rehearsal mark alignment, you had to use the following pair of
lines ...

%%%%% BEGIN 2.7.10 SNIPPET %%%%%

         \override RehearsalMark #'self-alignment-X = #left
         \override RehearsalMark #'X-offset-callbacks =
#`(,Self_alignment_interface::aligned_on_self)

%%%%% END 2.7.10 SNIPPET %%%%%%

... whereas now all you have to use is the first of the two lines,
which is a VERY nice improvement imo!]



--
Trevor Bača
[hidden email]

_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Rehearsal mark on time signature

Mats Bengtsson-6


Trevor Bača wrote:

>
>[Sidenote: as long as we're on the topic, 2.7.19 introduces a really
>wonderful bit of improved syntax over, say, 2.7.10. Previously, to
>change rehearsal mark alignment, you had to use the following pair of
>lines ...
>
>%%%%% BEGIN 2.7.10 SNIPPET %%%%%
>
>         \override RehearsalMark #'self-alignment-X = #left
>         \override RehearsalMark #'X-offset-callbacks =
>#`(,Self_alignment_interface::aligned_on_self)
>
>%%%%% END 2.7.10 SNIPPET %%%%%%
>
>... whereas now all you have to use is the first of the two lines,
>which is a VERY nice improvement imo!]
>  
>

??? This setting of X-offset-callbacks has been included by default
at least since version 2.4.

   /Mats



_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Rehearsal mark on time signature

Han-Wen Nienhuys
In reply to this post by Trevor Bača-2
Trevor Bača wrote:
> 1. Aligning to *the very first* time signature in a context seems to
> be a problem (eg, "Zart") even though aligning to *subsequent* time
> signatures works fine (eg, "Bewegt"); this may or may not be a bug and
> I've asked Han-Wen so we'll see what he thinks.

After looking again with a clear head, I suspect that the problem is

        (after-line-breaking . ,shift-right-at-line-begin)

I'm not sure what the original intention of this patch was, but I think
it deserves to go. Where do rehearsal marks normally go when they are at
the start of the line?

> 2. Setting #'self-alignment-X positions the mark relative to the
> *center* of time signature (or other grob); what we need to do is find
> a way to position the mark relative to the *left edge* of the grob.
> There may, in fact, be a way to do this already but I haven't finished
> digging around yet!

Try

   \override #'X-offset = #0.0


right now, define-grobs sets the X-offset to

,(ly:make-simple-closure
              `(,+ ,(ly:make-simple-closure
                     `(,Self_alignment_interface::x_aligned_on_self))
                       
                   ,(ly:make-simple-closure
                     `(,Self_alignment_interface::centered_on_x_parent))
                           )))

which centers the center of the mark over the center of the X parent.

an alternative is

   \override #'X-offset = #Self_alignment_interface::x_aligned_on_self

which puts the mark directly on the X-parent.


--
  Han-Wen Nienhuys - [hidden email] - http://www.xs4all.nl/~hanwen


_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Rehearsal mark on time signature

Trevor Bača-2
On 11/30/05, Han-Wen Nienhuys <[hidden email]> wrote:

> > 1. Aligning to *the very first* time signature in a context seems to
> > be a problem (eg, "Zart") even though aligning to *subsequent* time
> > signatures works fine (eg, "Bewegt"); this may or may not be a bug and
> > I've asked Han-Wen so we'll see what he thinks.
>
> After looking again with a clear head, I suspect that the problem is
>
>         (after-line-breaking . ,shift-right-at-line-begin)
>
> I'm not sure what the original intention of this patch was, but I think
> it deserves to go. Where do rehearsal marks normally go when they are at
> the start of the line?
This question stumped me: leafing through different scores seemed to
show a more-or-less arbitrary preference for the (horizontal)
positioning of system-initial rehearsals, frequently somewhere after
the clef but not clearly aligned with anything in particular. So I
asked the good people on SCORE mailing list and, in fact, the answers
that are coming back all say "every editor has a different opinion".
So hmph.

One important point: I personally want to align marks exactly with
time signatures for the (rather limited) purpose of aligning initial
*tempo* indications exactly with the initial time signature (rather
than aligning a true, boxed *rehearsal mark* with the initial time
signature). I was trying to get at this with the indications "Zart"
and "Bewegt" in the ex, but I'm afraid I wasn't clear.

(It seems like that question -- "how do I get initial tempo indication
and initial time signature to left-align?" -- comes up quite
frequently on the list. Whereas, by comparison, I think Liang is the
first person I've noticed ask about aligning true, boxed rehearsals
... though, of course, I might not have been reading the posts
carefully enough!)



--
Trevor Bača
[hidden email]

_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Rehearsal mark on time signature

Han-Wen Nienhuys
Trevor Bača wrote:

> (It seems like that question -- "how do I get initial tempo indication
> and initial time signature to left-align?" -- comes up quite

simply do

\override Score.RehearsalMark #'X-offset = #0.0

> frequently on the list. Whereas, by comparison, I think Liang is the
> first person I've noticed ask about aligning true, boxed rehearsals
> ... though, of course, I might not have been reading the posts
> carefully enough!)


--
  Han-Wen Nienhuys - [hidden email] - http://www.xs4all.nl/~hanwen


_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Rehearsal mark on time signature

Trevor Bača-2
On 11/30/05, Han-Wen Nienhuys <[hidden email]> wrote:
> Trevor Bača wrote:
>
> > (It seems like that question -- "how do I get initial tempo indication
> > and initial time signature to left-align?" -- comes up quite
>
> simply do
>
> \override Score.RehearsalMark #'X-offset = #0.0

OK, that's awesome.

Snippet:

%%%% TEMPO INDICATION EXACTLY WITH TIME SIGNATURE %%%%

\score {
   \new Staff {
      \set Score.rehearsalMarkAlignSymbol = #'time-signature
      \override Score.RehearsalMark #'X-offset = #0.0
      \time 2/4 \mark "First mark"
      c'4 c'4
      \time 3/4 \mark "Second mark"
      c'4 c'4 c'4
   }
}

%%%%%%% END SNIPPET %%%%%%%%%%%%%%%%%

Works great on "Second mark"; I take the fact that "First mark" not
working is the bug you're hunting down? (Or I'm just botching the
syntax somehow?)



--
Trevor Bača
[hidden email]

_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Rehearsal mark on time signature

Han-Wen Nienhuys
Trevor Bača wrote:

> OK, that's awesome.
>
> Snippet:
>
> %%%% TEMPO INDICATION EXACTLY WITH TIME SIGNATURE %%%%
>
> \score {
>    \new Staff {
>       \set Score.rehearsalMarkAlignSymbol = #'time-signature
>       \override Score.RehearsalMark #'X-offset = #0.0
>       \time 2/4 \mark "First mark"
>       c'4 c'4
>       \time 3/4 \mark "Second mark"
>       c'4 c'4 c'4
>    }
> }
>
> %%%%%%% END SNIPPET %%%%%%%%%%%%%%%%%
>
> Works great on "Second mark"; I take the fact that "First mark" not
> working is the bug you're hunting down? (Or I'm just botching the

should be fixed in 2.7.20


--
  Han-Wen Nienhuys - [hidden email] - http://www.xs4all.nl/~hanwen


_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Rehearsal mark on time signature

seng_liang
Hi, if that works, then it's great. (Since 2.7.19 isn't released yet on
Windows, I can't test this).
However, for the first rehearsal mark, the need to use the command \override
Score.RehearsalMark #'X-offset = #0.0 still means that there is still a bug
somewhere. Can it be fixed?




_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Rehearsal mark on time signature

seng_liang
In reply to this post by Trevor Bača-2
Hi, I agree with Mr. Trevor Baca on the positioning of the first rehearsal
mark on pieces. To me, it has to be on or after the time signature because
both are related to the tempo of the music. Therefore, I think this is a
good development on rehearsal marks in comparison with their original
position, which is centrally aligned to where the first measure starts.




_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Rehearsal mark on time signature

Mats Bengtsson-6
In reply to this post by seng_liang


liang seng wrote:

> Hi, if that works, then it's great. (Since 2.7.19 isn't released yet
> on Windows, I can't test this).
> However, for the first rehearsal mark, the need to use the command
> \override Score.RehearsalMark #'X-offset = #0.0 still means that there
> is still a bug somewhere. Can it be fixed?

Why do you consider it a bug? Rehersal marks (at least in their literal
meaning)
are normally typeset center aligned over a bar line. I cannot see any
reason to
consider it right or wrong that a rehearsal mark at the beginning of a
line is
center aligned or left aligned over a time signature or clef or whatever.
As has already been pointed out earlier, if you look at printed scores
you will
probably find that it differs from company to company and from edition to
edition.

   /Mats


_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Rehearsal mark on time signature

Trevor Bača-2
On 12/2/05, Mats Bengtsson <[hidden email]> wrote:

>
>
> liang seng wrote:
>
> > Hi, if that works, then it's great. (Since 2.7.19 isn't released yet
> > on Windows, I can't test this).
> > However, for the first rehearsal mark, the need to use the command
> > \override Score.RehearsalMark #'X-offset = #0.0 still means that there
> > is still a bug somewhere. Can it be fixed?
>
> Why do you consider it a bug? Rehersal marks (at least in their literal
> meaning)
> are normally typeset center aligned over a bar line. I cannot see any
> reason to
> consider it right or wrong that a rehearsal mark at the beginning of a
> line is
> center aligned or left aligned over a time signature or clef or whatever.
> As has already been pointed out earlier, if you look at printed scores
> you will
> probably find that it differs from company to company and from edition to
> edition.
I think I may responsible for making this thread a little confusing.
For some time I've thought it would be a good idea to be able to align
tempo indications right at the start of the piece with the first time
signature in an explicit way (ie, without #'extra-offset).

I worked out the request with HW and sponsored the work as a way of
positioning *marks* in new and better ways ... not because I was
particularly interested in true, boxed rehearsal makes but because I
was (erroneously) thinking of \mark "text" as the way of placing tempo
indications (like "Allegro") at the beginning of the a piece! What I
probably should have done was sponsor new and better ways of
positioning *markup* (rather than *mark*) so that you could say things
like

  time 2/4^\markup {"Allegro."}

BUT: the good part is that you can now in 2.7.20 say

  time 2/4 \mark "Allegro"

and get beautiful results.

So my mistake: I said "mark" when I should've said "markup"; but the
recent work generalizing the position of marks is, indeed, very much
appreciated and it gives me exactly that ability to position an
initial tempo indication perfectly with an initial time signature (if
in a somewhat unconventional way!).



--
Trevor Bača
[hidden email]

_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Rehearsal mark on time signature

seng_liang
In reply to this post by Mats Bengtsson-6
Hi, I suppose you're right. As outlined in the manual, since rehearsal marks
are centrally aligned, overriding this with left or right align will have no
effect.
I've been thinking, if that's the case, should we introduce a new grob which
governs the tempo marking that is not centrally aligned by default?




_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Rehearsal mark on time signature

seng_liang
In reply to this post by seng_liang



>Simon Bailey <[hidden email]> wrote:

>there is a already a metronome marking. insert \tempo <beat> = <speed>
>(<beat> is the same as the suffix for music entry -- 4 for quarter
>notes, 2 for half notes, etc). Tweak this grob with MetronomeMark
>properties.
>
>alternatively there is the "meter" variable in the title block. the
>default layout can be seen in the manual under 10.1.3 Creating Titles.
>
>hth,
>sb

Hi, yes, I am aware of the MetronomeMark property. However, the tempo
marking that I meant was terms dictating the speed of a piece of music at
the beginning eg. Allegro, Adagio. The "meter" in the header is useful only
for these tempo markings at the beginning of a piece, it can't place them
anywhere else. However, I've heard that it is now possible to place
rehearsal mark aligned on time signatures at the beginning of a piece in
version 2.7.20.
Cheers.




_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user
Reply | Threaded
Open this post in threaded view
|

Re: Rehearsal mark on time signature

Mats Bengtsson-6
In reply to this post by Trevor Bača-2
I have several times suggested to replace the term "Rehearsal Mark"
with something like "Text Mark", to point out that \mark is not only
useful for rehearsal marks but to typeset any textual indications above
a bar lines or at the beginning of a score line. My only point was that
it doesn't make sense to talk about bug when there is no clear right
or wrong behaviour.


liang seng wrote:

> Hi, I suppose you're right. As outlined in the manual, since rehearsal
> marks are centrally aligned, overriding this with left or right align
> will have no effect.

If you want to change the alignment of a rehearsal mark, just do
   \once \override Score.RehearsalMark #'self-alignment-X = #left
The fine detail that is solved by setting

\override Score.RehearsalMark #'X-offset = #0.0

is that otherwise the left edge of the text will be aligned to the
center of the time signature not to the left edge of the time signature.

> I've been thinking, if that's the case, should we introduce a new grob
> which governs the tempo marking that is not centrally aligned by default?

It's actually fairly easy to add a new command, like \leftalignedmark,
yourself, using def-music-function. See sections 11.1.3, 11.1.6 and
the example lily-in-scheme.ly in Regression Test.


Trevor Bača wrote:

>On 12/2/05, Mats Bengtsson <[hidden email]> wrote:
>  
>
>>liang seng wrote:
>>
>>    
>>
>>>Hi, if that works, then it's great. (Since 2.7.19 isn't released yet
>>>on Windows, I can't test this).
>>>However, for the first rehearsal mark, the need to use the command
>>>\override Score.RehearsalMark #'X-offset = #0.0 still means that there
>>>is still a bug somewhere. Can it be fixed?
>>>      
>>>
>>Why do you consider it a bug? Rehersal marks (at least in their literal
>>meaning)
>>are normally typeset center aligned over a bar line. I cannot see any
>>reason to
>>consider it right or wrong that a rehearsal mark at the beginning of a
>>line is
>>center aligned or left aligned over a time signature or clef or whatever.
>>As has already been pointed out earlier, if you look at printed scores
>>you will
>>probably find that it differs from company to company and from edition to
>>edition.
>>    
>>
>
>I think I may responsible for making this thread a little confusing.
>For some time I've thought it would be a good idea to be able to align
>tempo indications right at the start of the piece with the first time
>signature in an explicit way (ie, without #'extra-offset).
>
>I worked out the request with HW and sponsored the work as a way of
>positioning *marks* in new and better ways ... not because I was
>particularly interested in true, boxed rehearsal makes but because I
>was (erroneously) thinking of \mark "text" as the way of placing tempo
>indications (like "Allegro") at the beginning of the a piece! What I
>probably should have done was sponsor new and better ways of
>positioning *markup* (rather than *mark*) so that you could say things
>like
>
>  time 2/4^\markup {"Allegro."}
>
>BUT: the good part is that you can now in 2.7.20 say
>
>  time 2/4 \mark "Allegro"
>
>and get beautiful results.
>
>So my mistake: I said "mark" when I should've said "markup"; but the
>recent work generalizing the position of marks is, indeed, very much
>appreciated and it gives me exactly that ability to position an
>initial tempo indication perfectly with an initial time signature (if
>in a somewhat unconventional way!).
>  
>


   /Mats


_______________________________________________
lilypond-user mailing list
[hidden email]
http://lists.gnu.org/mailman/listinfo/lilypond-user