lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Introduce breakingRehearsalMarks for line-breaking RehearsalMarks (i


From: thomasmorley65
Subject: Re: Introduce breakingRehearsalMarks for line-breaking RehearsalMarks (issue 577180043 by address@hidden)
Date: Thu, 12 Dec 2019 03:14:35 -0800

Hi Dan,

up to now we provide only RehearsalMark taking arbitrary text with the
possibility to align it to the value taken from 'break-align-symbols.
The other grobs supporting break-alignable-interface are BarNumber and
MetronomeMark, even less convenient to take arbitrary text.
So users have no chance to avoid using RehearsalMark for this purpose.
This leads frequently to the need to combine RehearsalMarks, print them
differently on top and bottom of a system or print them differently
before and after a line-break.
Although this is pretty often requested, we don't provide any
functionality to do so. Consequently users write their own workarounds.
A quick search results:
http://lsr.di.unimi.it/LSR/Item?id=202
http://lsr.di.unimi.it/LSR/Item?id=575
http://lsr.di.unimi.it/LSR/Item?id=735
http://lsr.di.unimi.it/LSR/Item?id=736
http://lsr.di.unimi.it/LSR/Item?id=976
http://lsr.di.unimi.it/LSR/Item?id=977
http://lilypond.1069038.n5.nabble.com/Nice-workaround-for-simultaneous-rehearsal-marks-thanks-Neil-td3086.html

Some of them are really ugly, imho.

My current patch tries to tackle a subset of these requests:
line-breaking rehearsal marks.
There's some fall-back, if the function is applied mid-line, though.


On 2019/12/12 01:29:27, Dan Eble wrote:
Harm,

With respect, I'm far from convinced that this is a good idea, but I
will continue to think about it.  Thoughts so far:

* The user provides music for the appearance of the mark at the
   beginning or end of a line, but can he control what happens in the
   middle?  They seem to stack vertically.  What if the user would
   prefer them to be side by side?

Thus the NR reads:
"Although some defaults are given, it makes litte sense to use this
function at the middle of a line."
Actually a function to combine RehearsalMarks mid-line would be better
for this use case.
Although I've spent some thoughts in this direction I've not found a
nice user-interface for it yet.

* The regression tests cover only line breaks.  The unbroken
   appearance is not covered.

True, I didn't cover this case, because it's discouraged in NR

* I am concerned about the complexity of this function as it deals
   with mark sequence numbers.  I'm skeptical that it's a fair trade
   for what it offers.

As long as default rehearsal mark and specific rehearsal mark are
allowed as input for the function, one needs to care about
context-property reheasalMark otherwise subsequent calls of \mark
\default would appear to be out of order.
So this is a requirement.

* I struggle with the semantics of using one event and grob to do
   double duty, e.g. as both a fermata and a rehearsal mark.  One of my
   stale experiments is a performer that inserts rehearsal marks into
   MIDI files.  I don't relish the thought of trying to extract a
   MIDI-compatible rehearsal letter/number from such a mishmash.

I do understand this concern.
Though, until we provide other grob(s) to take arbitrary,
break-alignable text, what should users do differently, then use one of
the mentioned work-arounds or this patch?
Imho, this patch's user-interface is preferable compared with the
others. (Ok, it's my patch, so I'm convinced ofcourse lol)

Otoh, I wouldn't object to postpone this patch for a while until you
could revive your own patches.

Nevertheless, for (pseudo code):
{
  b1 \whateverMark #1
  c' \whateverMark "second time go to coda"
  d' \whateverMark "go to mark 1"
  \break
  \whateverMark "coda"
  e'
}
you'd need either some functionality to print "go to mark 1" and "coda"
where they belong.
Or different grobs taking those texts.
Can't think of another method.




https://codereview.appspot.com/577180043/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]