[prev in list] [next in list] [prev in thread] [next in thread]
List: lilypond-user
Subject: Re: cadenza_and_accidentals-take2
From: "bobroff () centrum ! is" <bobroff () centrum ! is>
Date: 2015-03-29 19:30:31
Message-ID: 205689276.1607007.1427657431505.JavaMail.zimbra () centrum ! is
[Download RAW message or body]
----- Original Message -----
> From: "Jim Long" <lilypond@umpquanet.com>
> To: bobroff@centrum.is
> Cc: "Noeck" <noeck.marburg@gmx.de>, lilypond-user@gnu.org
> Sent: Sunday, March 29, 2015 2:51:41 AM
> Subject: Re: cadenza_and_accidentals-take2
>
> On Sat, Mar 28, 2015 at 07:45:51PM +0000, bobroff@centrum.is wrote:
> >
> > ----- Original Message -----
> > > From: "Noeck" <noeck.marburg@gmx.de>
> > >
> > > A naive question: Could the \cadenzaOff command be changed in a way that
> > > it automatically implies the end of a measure at that point.
> >
> > I can think of instances where the end of a cadenza might not be at the end
> > of a measure.
>
> I am speculating wildly, and I also am not generally a cadenza
> user, but perhaps \cadenzaOff could also be made to cooperate
> with \partial:
>
> % simple case, without \partial:
>
> \cadenzaOn
>
> % lots of notes go here
>
> \cadenzaOff
>
> % a bar line appears here, and beat 1 follows
>
> > c1
> > c1
>
> \bar "|."
>
> Or:
>
> % a less simple case, using \partial:
>
> \cadenzaOn
>
> % lots of notes go here
>
> \cadenzaOff
>
> \partial 4.
>
> b'8 c'' d''
>
> % a bar line appears here, and beat 1 follows
>
> > c1
> > c1
>
> \bar "|."
>
>
>
>
This discussion got me motivated me to experiment a bit. I haven't had much cause to \
use cadenzas much, either. After playing with this I realized that the reason I was \
having accidental troubles following a cadenza was that, in this case, the cadenza \
was at the end of a measure. Once the measure is full, LilyPond draws a barline even \
if it is invisible. That leads to potential accidental issues.
Jim's speculation about \cadenzoOff being made to cooperate with \partial is maybe \
second-cousin to my solution below. I reasoned that the problem with a cadenza at \
the end of a measure is that LilyPond has already drawn the barline. The solution? \
Don't *be* at the end of the measure just yet. Using \scaleDurations I leave a bit \
of measure left at the end of the cadenza, toss in a skip and then Lily draws a \
barline. No problems with bar numbres or accidentals.
It's a bit of a kludge, but all I have to do is scale the measure, add the skip, and \
everything else takes care of itself. This might be a bit cumbersome in a large \
score, but I'm only dealing with a single line.
-David
%%%%%
\version "2.18.0"
startCadenza = {
\cadenzaOn
\teeny
\stemUp
}
endCadenza = {
\cadenzaOff
\normalsize
\stemNeutral
}
\score {
{
\override Score.BarNumber.break-visibility = ##(#t #t #t)
c'2.^\markup{ Cadenza in the middle of a bar, no problem }
\startCadenza
d'16-[ f' e' g'-] a'-[ g' f' d'-]
% \set Timing.measurePosition = #(ly:make-moment 2/4)
\endCadenza
g'4
c'1
}
}
\score {
{
c'1^\markup{ Cadenza at the beginning of a bar, no problem }
\override Score.BarNumber.break-visibility = ##(#t #t #t)
\startCadenza
d'16-[ f' e' g'-] a'-[ g' f' d'-]
\endCadenza
cis'2.
g'4
c'1
}
}
\score {
{
\override Score.BarNumber.break-visibility = ##(#t #t #t)
c'1^\markup {
\column {
"Cadenza at the end of a bar requires manipulation."
"Time management still leaves accidental trouble"
"Bar numbers may also be affected"
}
}
cis'2.
\set Timing.measurePosition = #(ly:make-moment 1/4)
g'4
% \bar ""
\startCadenza
d'16-[ f' e' g'-] a'-[ g' f' d'-]
\endCadenza
\bar "|"
\set Timing.measurePosition = #(ly:make-moment 0/4)
c'4 c' c' c'
}
}
\score {
{
\override Score.BarNumber.break-visibility = ##(#t #t #t)
c'1^\markup {
\column {
"Cadenza at the end of a bar requires manipulation."
"Using \scaleDurations with a skip at the end works well."
"Bar numbering remains unaffected and accidentals are well-behaved."
}
}
\scaleDurations 63/64 { % scale the whole mesure down a bit
cis'2.
\startCadenza
d'16-[ f' e' g'-] a'-[ g' f' d'-]
\endCadenza
g'4
% \bar ""
\startCadenza
d'16-[ f' e' g'-] a'-[ g' f' d'-]
\endCadenza
}
s64 % add a skip at the very end
\bar "|"
c'1
}
}
%%%%%
_______________________________________________
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic