\trill fails barcheck with articulate.ly

2021-12-29 Thread Joel C. Salomon
Minimal example:

\version "2.23.1"
\include "articulate.ly"
\articulate {
   c''1\trill |
}

Is this something addressed between 2.23.1 (which I have installed)
and 2.23.5 (current)?

—Joel C. Salomon



2.23.5 and poly-mark-engraver https://lsr.di.unimi.it/LSR/Item?id=976

2021-12-30 Thread Joel C. Salomon
I'm returning to an old project (last touched in 2016) on a new 
computer, and I’m running 2.23.5 on Windows 11.


Several of the scores used poly-mark-engraver from 
<https://lsr.di.unimi.it/LSR/Item?id=976> (see also 
<https://lists.gnu.org/archive/html/lilypond-user/2011-08/msg00157.html>), 
and this now fails with



fatal error: cannot find music object: MarkEvent


(Minimal example below signature; the demonstration included in 
<https://lsr.di.unimi.it/LSR/Snippet?id=976> also fails the same way.)


This is both a bug-report if anyone’s maintaining the snippet, and a 
question whether there’s now a better way to write da capo, al segno, 
and other coda-like repeats.


—Joel C. Salomon

\version "2.23.5"
\language "english"

\include "poly-mark-engraver.ly" % 
http://lsr.di.unimi.it/LSR/Item?id=976


\score {
  \new PianoStaff
  <<
\new Staff = "upper" \relative c'' { c c c c | }
\new Dynamics = "dynamics" {
  s4*4
  \polyMark #'DCFine \markup \italic "Segue"
  \bar "|."
}
\new Staff = "lower" \relative c { \clef bass c c c c | }
  >>
}


OpenPGP_0xE30370FF977A1B52.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature


Re: \trill fails barcheck with articulate.ly

2021-12-30 Thread Joel C. Salomon

On 12/30/2021 6:40 AM, Lukas-Fabian Moser wrote:


Am 30.12.21 um 04:10 schrieb Joel C. Salomon:


Minimal example:

\version "2.23.1"
\include "articulate.ly"
\articulate {
    c''1\trill |
}

Is this something addressed between 2.23.1 (which I have installed)
and 2.23.5 (current)?


Yes, there's no warning with 2.23.3 or higher.


Thank you.  Upgraded to 2.23.5 and this went away.  (To be replaced with 
a different problem, which I’ve posted in its own thread.)


—Joel




Re: 2.23.5 and poly-mark-engraver https://lsr.di.unimi.it/LSR/Item?id=976

2021-12-31 Thread Joel C. Salomon

On 12/30/2021 3:12 PM, Dan Eble wrote:

MarkEvent was split into RehearsalMarkEvent and AdHocMarkEvent in the summer of 
2021.  You might try replacing MarkEvent with AdHocMarkEvent and see whether it 
works for you.

LilyPond 2.23.6 will support some D.C., D.S., al Fine, and alla Coda repeat structures 
automatically using "\repeat segno" with the same syntax as "\repeat volta".


AdHocMarkEvent works; thank you.  I’m also reading the documentation 
drafts for 2.23.6 on GitLab, and I’m looking forward to using `\repeat 
segno`.


—Joel



2.23.5 articulate.ly and repeat alternatives

2022-01-05 Thread Joel C. Salomon



A nice thing I’ve discovered in reviving my old (2.18) project is that 
articulate.ly now expands repeats without `\unfoldRepeats`.  A less-nice 
thing is that this behavior behaves oddly around `\alternative`:


\version "2.23.5"
\include "articulate.ly"

music = \relative c' {
  c1
  \repeat volta 2 {
e
\alternative {
  { g } { gis }
}
  }
  b
}

\score { \music }
\score { \unfoldRepeats \music }
\score { \articulate \music }
\score { \articulate \unfoldRepeats \music }

Both alternatives print each time with `\articulate`, though naked 
`\unfoldRepeats` works on its own.


(And `\articulate \unfoldRepeats` behaves the same as `\articulate`, 
which suggests my mental model of these as music functions is missing 
something.)


—Joel C. Salomon



Re: 2.23.5 articulate.ly and repeat alternatives

2022-01-06 Thread Joel C. Salomon



Yesterday, I wrote:

     \version "2.23.5"
     \include "articulate.ly"

     music = \relative c' {
   c1
   \repeat volta 2 {
     e
     \alternative {
   { g } { gis }
     }
   }
   b
     }

     \score { \music }
     \score { \unfoldRepeats \music }
     \score { \articulate \music }
     \score { \articulate \unfoldRepeats \music }


To be clear about the issue:
• `\score { \music }` correctly yields

C |: E G :| G# B

• `\score { \unfoldRepeats \music }` correctly yields

C E G E G# B

• but `\score { \articulate \music }` yields

C E G G# E G G# B

with both alternatives, G & G#, printed both times.

—Joel C. Salomon



\repeat segno (Was re: LilyPond 2.23.6 released)

2022-02-13 Thread Joel C. Salomon



On 2/8/2022 8:07 AM, Jonas Hahnfeld via Discussions on LilyPond 
development wrote:

We are happy to announce the release of LilyPond 2.23.6.


Thank you, especially for the new `\repeat segno` code.  Works 
beautifully.  It’ll take a little getting used to, figuring out when & 
when not to use `\alternative` in a `\repeat segno` block, but it’s 
already made my code much cleaner.


Between `\repeat segno`, `\fine`, `\section` and `\sectionLabel`, most 
of the non-music formatting commands I’d used can be eliminated from my 
code.


—Joel



Re: Font kerning

2022-02-13 Thread Joel C. Salomon



On 2/7/2022 11:53 AM, Francesco Napoleoni wrote:

How can I adjust (if possible) such property in a markup block?

namely I would like to “shrink” the “V.° I.°” and the “V.° 2.°” text like the
attached screenshot.


I wonder whether you’re using the wrong symbol, and using the correct 
one might help a little.  Your code is using the degree sign “°” U+B0, 
when by context this should probably be the masculine ordinal indicator 
“º” U+BA.


(Some fonts display this symbol as a superscript “o” like “ᵒ”; some add 
an underline to it like “̵ᵒ”; some add an underdot that I can’t easily 
imitate by abusing other Unicode characters; and your source material is 
using a full-stop “.” kerned in pretty tightly.)


I’m also pretty sure this is a font with old-style figures, where the 
numeral “1” looks like a small-caps “ɪ”; and so the v’s should be 
lower-case.


So the actual text should be “vº1º” & “vº2º” or “v.º1.º” & “v.º2.º”:

{
  c''1^\markup {
\override #'(font-name . "TeX Gyre Schola")
\override #'(font-features . ("onum"))
{ "vº1º2º" }
  }
  c''^\markup \concat {
\override #'(font-name . "TeX Gyre Termes")
\override #'(font-features . ("onum"))
{ "v." \hspace #-0.4 "º" "1." \hspace #-0.6 "º" "2." \hspace #-0.6 
"º" }

  }
}


—Joel



Re: Font kerning

2022-02-15 Thread Joel C. Salomon

On 2/14/22 11:57, Francesco Napoleoni wrote:

In data lunedì 14 febbraio 2022 00:19:11 CET, Joel C. Salomon ha scritto:

I wonder whether you’re using the wrong symbol, and using the correct
one might help a little.  Your code is using the degree sign “°” U+B0,
when by context this should probably be the masculine ordinal indicator
“º” U+BA.


Yes, I know that there are more appropriate symbols, but I have to conform as
much as possible to the original layout, which uses superscript “o”
everywhere. Indeed this makes sense since the little “o” is the last letter of
every abbreviated word: “Violin_o_ prim_o_” and “Violin_o_ second_o_”, so I
ended up writing something like this (inside \markup):

\concat { "V." \hspace #-0.4 \normal-size-super o "I." \hspace #-0.6 \normal-
size-super o }

which produces an output very similar to the original.


Of course, what it means to “conform as much as possible to the original 
layout” is the question at hand.  If purely visual, your code is 
correct; if purely semantic, “vº1º”/“vº2º” is correct (however the font 
displays that); if both together, then a font with appropriate letter 
and numeral forms is needed.


―Joel




skip-of-length and \unfoldRepeats

2022-02-15 Thread Joel C. Salomon

… seem not to play nicely together.

―Joel

\version "2.23.6"

musicA = \fixed c'' \repeat volta 2 { c d }
musicB = \fixed c { a b }

music = {
  \musicA
  \musicB
}

dynamics = {
  <>\f
  #(skip-of-length musicA)
  <>\p
  #(skip-of-length musicB)
  %\fine
}

\score {
  \new Staff <<
  \unfoldRepeats  \music
  \unfoldRepeats  \dynamics
  >>
}



Re: skip-of-length and \unfoldRepeats

2022-02-15 Thread Joel C. Salomon

On 2/15/22 14:38, Valentin Petzel wrote:

15.02.2022 20:20:02 Joel C. Salomon :


… seem not to play nicely together.


Well, how should they? At the point the skip-of-length is evaluated the repeats 
are not yet unfolded. To achieve what you want we could have some mechanics 
where skip events could have an element property, and have the handling be done 
by the engraver.


In hindsight, this *is* obvious.  But I’m still only a casual user of 
the program, and have very limited experience at the Scheme level, so 
this was surprising.


―Joel



Re: skip-of-length and \unfoldRepeats

2022-02-15 Thread Joel C. Salomon

On 2/15/22 14:22, Jean Abou Samra wrote:

Le 15/02/2022 à 20:19, Joel C. Salomon a écrit :

… seem not to play nicely together.


In recent versions, like version 2.23.6 which you are using, you can use

\skip \musicA

which is nicer syntax-wise and plays well with \unfoldRepeats.


Thank you; this works.

—Joel




Re: skip-of-length and \unfoldRepeats

2022-02-15 Thread Joel C. Salomon

On 2/15/22 14:22, Jean Abou Samra wrote:

In recent versions, like version 2.23.6 which you are using, you can use

\skip \musicA

which is nicer syntax-wise and plays well with \unfoldRepeats.


Now that I know to look for it, the definition of `\skip` in 
 
—



\skip [music] - arg (duration-or-music)
Skip over arg, which may be music or a duration.


—does describe this behavior.  But I would never have found this on my 
own.  Thank you!


—Joel



\sectionLabel and \repeat segno

2022-02-25 Thread Joel C. Salomon
… interact oddly.  Which is reasonable, since the segno mark is the same 
sort of creature as section labels.  But what’s a good work-around?


(In my actual code, it’s the segno mark that wins; not sure why it’s the 
section label in this minimal example.)


—Joel

\version "2.23.6"

musicA = { c'' }

musicB = {
  \sectionLabel "brokenlabel"
  \repeat segno 2 {
d''
\volta 2 \fine
e''
  }
}

\score {
  { \musicA \musicB }
}



Re: \sectionLabel and \repeat segno

2022-02-26 Thread Joel C. Salomon

On 2/25/22 14:18, I wrote:
… interact oddly.  Which is reasonable, since the segno mark is the same 
sort of creature as section labels.  But what’s a good work-around?


`\after` works but it’s a kluge, and there’s a funny interaction with 
grace notes that puts the section label more to the right than I was 
initially expecting.  Given the time-travel involved with grace notes 
this behavior makes sense, and since this is identifying a section the 
oddity is not (to me, anyway) worth “fixing”.


\version "2.23.6"

musicA = { b'1 }

musicB = {
  \after 16 \sectionLabel "klugy label"
  \repeat segno 2 {
d''1
\volta 2 \fine
e''
  }
}

musicC = {
  \after 16 \sectionLabel "shifted label"
  \repeat segno 2 {
\acciaccatura c''8 d''1
\volta 2 \fine
e''
  }
}

\score {
  { \musicA \musicB }
}
\score {
  { \musicA \musicC }
}

(In my actual code, it’s the segno mark that wins; not sure why it’s the 
section label in this minimal example.)


That turns out to be simple: moving the `\sectionLabel "brokenlabel"` 
within the `\repeat segno` block gave the segno priority, and that’s how 
my code was actually written.


—Joel

Re: LilyPond 2.23.7 released

2022-03-30 Thread Joel C. Salomon

On 3/26/22 17:36, Jonas Hahnfeld wrote:

We are happy to announce the release of LilyPond 2.23.7. This is termed
a development release, but these are usually reliable. If you want to
use the current stable version of LilyPond, we recommend using the
2.22.2 version.


In addition to the binary download now being a plain tarball, I note 
that the directory structure within lilypond-2.23.7-documentation.tar.xz 
is significantly different from what it was in previous revisions:


lilypond-2.23.6-1.documentation.tar.bz2:
license/
share/
doc/
info/
man/

lilypond-2.23.7-documentation.tar.xz:
Documentation/

input/
regression/


Was this also deliberate?

—Joel



Re: LilyPond 2.23.7 released

2022-03-31 Thread Joel C. Salomon

On 3/31/22 15:34, Jonas Hahnfeld via LilyPond user discussion wrote:

On Wed, 2022-03-30 at 19:22 -0400, Joel C. Salomon wrote:

In addition to the binary download now being a plain tarball, I note
that the directory structure within lilypond-2.23.7-documentation.tar.xz
is significantly different from what it was in previous revisions:



Was this also deliberate?


No, that was just me not carefully checking what GUB did for the
documentation tarball and nobody complaining for the 2.23.6 release. I
guess GUB did a "make install-doc" to also include the info and man
pages? What we package right now are the HTML pages and PDFs, what you
used to find in share/doc/.

But since you are apparently a user of the tarball, may I ask which
formats you look at? Would you potentially benefit from splitting the
PDFs and having a smaller archive?


2.23.6 had the same directory tree as all others, which is why nobody 
complained then.


I’ve only ever used the documentation tarball for Frescobaldi to point 
to.  (And since it’s increasingly rare for me to be using Lilypond in 
places where I don’t have ’net access, I’m using that much less than I 
used to.)  So yes, a split archive of only HTML files would be useful.


—Joel



Silence as long as another part

2017-09-12 Thread Joel C. Salomon
Neighbors,

How can I set one piece to be silent for the duration of another?  I
know I’ve seen this in the past, but I cannot find it again.

E.g.,

upper = { c1 d e f }

dynamics = {
  <>\p
  s1*4 % <-- this line: silence as long as \upper
  \bar "|."
}

(This is obviously more useful in larger pieces; e.g., where the first
sub-melody and the third have dynamics changes or pedal movements and
the second does not.)

––Joel C. Salomon


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Silence as long as another part

2017-09-12 Thread Joel C. Salomon
On 2017-09-12 2:37 PM, David Kastrup wrote:
>> How can I set one piece to be silent for the duration of another?  I
>> know I’ve seen this in the past, but I cannot find it again.
>>
> $(skip-of-length upper)

Thank you.  I was searching for “rest” and “silence”, not “skip”; that’s
probably why I couldn’t find anything.  (Hopefully, this conversation
will be indexed by Google for the next person to misremember this.)

—Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Problem with Codas

2017-09-18 Thread Joel C. Salomon
On 2017-09-17 2:50 AM, David Kastrup wrote:
> Carl Sorensen  writes:
>> On 9/16/17 8:09 AM, "Shamus Hammons"  wrote:
>>
>>> I have a dream, that one day Lilypond will make codas first class
>>> citizens instead of having to exist as a series of ugly hacks. In that
>>> day, I could simply write \coda (with maybe some options) and Lilypond
>>> would automagically do the right thing. Alas, that day is not today. :-(
>>
>> What do you consider the "right thing" to be with a coda?
> 
> \repeat coda 2 { %{ segno appears here %} common part }
>  \alternative { { %{ coda sign here %} first part }
> { %{ actual coda formatted here %} coda } }

Omitting the coda alternative, this would be the natural way to input
repeats of the form “D.S. al Fine”.  I would suggest “\repeat ds” (and
“\repeat dc”, unless you want to add magic that recognizes the start of
a piece) as the syntax.

––Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Problem with Codas

2017-09-18 Thread Joel C. Salomon
On 2017-09-17 2:50 AM, David Kastrup wrote:
> Carl Sorensen  writes:
>> On 9/16/17 8:09 AM, "Shamus Hammons"  wrote:
>>
>>> I have a dream, that one day Lilypond will make codas first class
>>> citizens instead of having to exist as a series of ugly hacks. In that
>>> day, I could simply write \coda (with maybe some options) and Lilypond
>>> would automagically do the right thing. Alas, that day is not today. :-(
>>
>> What do you consider the "right thing" to be with a coda?
> 
> \repeat coda 2 { %{ segno appears here %} common part }
>  \alternative { { %{ coda sign here %} first part }
> { %{ actual coda formatted here %} coda } }

(Second try, dealing with the same Thunderbird issue others have mentioned.)

Omitting the coda alternative, this would be the natural way to input
repeats of the form “D.S. al Fine”.  I would suggest “\repeat ds” (and
“\repeat dc”, unless you want to add magic that recognizes the start of
a piece) as the syntax.

––Joel C. Salomon

-- 
––Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Problem with Codas

2017-09-19 Thread Joel C. Salomon
On 2017-09-18 10:07 PM, Caagr98 wrote:
> On 09/18/17 19:46, Joel C. Salomon wrote:
>> Omitting the coda alternative, this would be the natural way to input
>> repeats of the form “D.S. al Fine”.  I would suggest “\repeat ds” (and
>> “\repeat dc”, unless you want to add magic that recognizes the start of
>> a piece) as the syntax.
> 
> There is already magic that recognizes the start of the piece in volta
> repeat (no start repeat barline), so I don't see how that would be a
> problem.

I’ve got a piece that has the segno at the start, but I suppose an
\override could fix that.  (Of course, this same printing has one piece
with the instruction “D.C. Dal Segno.” where “D.C. al Fine” or “D.S. al
Fine” is almost certainly intended, so taking it as an example might not
be a good idea.)

(Question: if the music continues after the repeat, is that always a
coda, or can “Fine” be followed by more music?)

––Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Best practices for Da Capo/Dal Segno/al Fine/etc.

2018-02-20 Thread Joel C. Salomon
… what is the current (2.19) best practice for typesetting the Da
Capo/‌Dal Segno/‌al Fine/‌etc. repeat marks?

(Last time I saw this come up on the list, the discussion became about a
proposed input syntax, `\repeat coda {…} \alternative {…}`––which I’ll
certainly use if & when it’s implemented, but for now it seems I need to
hard-code it.)

At <https://music.stackexchange.com/questions/46232/da-capo-in-lilypond>
I’ve found this code:

\once \override Score.RehearsalMark #'break-visibility = #'#(#t #t #f)
\mark \markup { \small "D.C. al fine" }

but that leaves the mark above the score and centered over the final
bar-line––i.e., hanging into the margins.

Two years ago on 2016-02-01, in thread “D.C. al fine”
(<http://lilypond.1069038.n5.nabble.com/D-C-al-fine-tp186747.html>/‌<https://lists.gnu.org/archive/html/lilypond-user/2016-02/msg00014.html>),
Graham King suggested a version that also adjusted the marks’ alignment.
 But then Brian Barker pointed out that this was typographically
incomplete, and quoted Elaine Gould with some more details––but if
anyone in the discussion implemented this in code it was not posted to
the list.

Searching LSR (<http://lsr.di.unimi.it/LSR/Search?q=al+fine>) again
turned up parts of solutions: multiple marks, complex ways of placing
such marks, etc.––so I know *approximately* what needs to happen, but
I’m still left without a concrete example.  Has anyone put one together
that I’m just not finding?

(Though I suspect my I’ll end up needing something like
<http://lsr.di.unimi.it/LSR/Item?id=976> since the score I’m setting has
both “Fine” and a fermata mark attached to the same bar-line.)

––Joel C. Salomon




___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Best practices for Da Capo/Dal Segno/al Fine/etc.

2018-02-21 Thread Joel C. Salomon
On 2018-02-20 5:21 PM, I asked:
> … what is the current (2.19) best practice for typesetting the Da
> Capo/‌Dal Segno/‌al Fine/‌etc. repeat marks?

I’m having some trouble extracting a readable-but-useful minimal example
from my code, but this excerpt might help the next fellow:

\include "poly-mark-engraver.ly"% from
<http://lsr.di.unimi.it/LSR/Item?id=976>
\tagGroup #'(midi-only score-only)

…
lowerVI = {
  \clef bass
  \globalVI

  % \repeat coda 2 {
  \lowerVIabac
  % }   % \repeat coda

  % \alternative {
  %   { % \repeat coda
  \lowerVId
  %   }
  %   {}  % }   % \repeat coda

  % Manual repeat unfold for MIDI
  \tag #'midi-only \lowerVIabac
}

dynamicsVI = {
  <>\p
  % \repeat coda 2 {
  #(skip-of-length upperVIabac)
  % }   % \repeat coda

  \polyMark #'DCFine \markup \italic "Fine"
  \polyMark #'Fermata \markup \fermata
  \bar "|."

  % \alternative {
  %   { % \repeat coda
  #(skip-of-length upperVId)
  %   }
  %   {}
  % }   % \repeat coda

  % Manual repeat unfold for MIDI
  \tag #'midi-only #(skip-of-length upperVIabac)

  % Manual mark for \repeat coda
  \polyMark #'DCFine \markup \italic "D.C. al Fine"
  \bar "||"
}

…

scoreVI = \score {
  \keepWithTag #'score-only
  <<
\new Staff = "upper" \upperVI
\new Dynamics = "dynamics" \dynamicsVI
\new Staff = "lower" \lowerVI
  >>
  \layout {
\context { \Score
  polyMarkOptions = #`((DCFine
 (direction. ,DOWN)
 (self-alignment-X . 1.0)
 (break-visibility . ,begin-of-line-invisible))
   (Fermata
 (direction. ,UP)
 (self-alignment-X . 0.0)
 (break-visibility . ,begin-of-line-invisible)))
}
  }
}

midiVI = \score {
  \new PianoStaff
  \keepWithTag #'midi-only
  <<
\new Staff = "upper" <<
  \unfoldRepeats \upperVI
  \dynamicsVI
>>
\new Staff = "lower" <<
  \unfoldRepeats \lowerVI
  \dynamicsVI
>>
  >>
  \midi {}
}


There’s nothing here that isn’t already in
<http://lsr.di.unimi.it/LSR/Item?id=976>, and a good deal is missing
here which that snippet includes, but I think it does illustrate this
particular usage without invoking the full power of \polyMark.

––Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Override duration of note

2018-02-23 Thread Joel C. Salomon
Neighbors,

In setting the attached music, it’s evident that the 2. chord in
bar 4 overlaps with the g8 note at the end of the bar.  And while I’m
able to achieve this

\version "2.19.65"

\new Staff \relative c'' {
  \time 6/8
  <<
{
  s8*5 g8 |
}
\new Voice { \voiceTwo
  2. |
}
  >>
}

(can’t use << {…} \\ {…} >> since I need the g8 note to be in the Voice
where the Lyrics attach to), I would very much like to be able to move
the  chord into the variable where the previous bit of music lives.

To do that, I need to convince LilyPond that what looks like “2.”
actually behaves like “2~q8” (or in 2.19 syntax, “2~8”).

At a guess, the internal ac:setduration function from articulate.ly
should make this possible, but experimenting has not turned up a
successful invocation.

––Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Override duration of note

2018-02-23 Thread Joel C. Salomon
On 2018-02-23 2:55 PM, Kieren MacMillan wrote:
> \new Staff \relative c'' {
>   \once \stemDown 2.*5/6 g8
> }

So *that’s* what the * notation means. I’ve used it for multi-measure
rests, per the documentation, but I did not understand how it worked.

Thanks!
––Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Override duration of note

2018-02-23 Thread Joel C. Salomon
On 2018-02-23 3:45 PM, Kieren MacMillan wrote:
> Is there anything that could be written on this page that would make it more 
> clear?
> <http://lilypond.org/doc/v2.19/Documentation/notation/writing-rhythms#scaling-durations>

No, that’s clear enough –– when I know to look for it.  Perhaps a link
to what the * scaling notation means might be added to its use in
<http://lilypond.org/doc/v2.19/Documentation/notation/writing-rests#full-measure-rests>,
or I might just be atypical in the what I notice and what I miss.

––Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


\fine and \section across staves

2022-11-03 Thread Joel C. Salomon
There’s a change between 2.23.6 and 2.23.80 in how `\fine` and 
`\section` appear across staves.  Below is a near-minimal cut-down 
version of my score illustrating the change, and images showing the 
difference.


I normally put commands like `\bar "||"` in a single place (a Dynamics 
section, usually) and they take effect across all staves.  And in fact, 
replacing `\section` with `\bar "||'` does take effect across all 
staves.  So I would like to not have to repeat `\fine` and `\section` also.


Was this change intended?  (I am aware of other changes to `\fine` 
between 2.23.6 and the new release candidate.)


—Joel

\version "2.23.80"

upper = {
\repeat segno 2 {
{ c'1 }
\volta 2 \fine
\volta 1 { d'1 }
  }
  \section
}

lower = {
  \clef bass
  \repeat segno 2 {
{ c1 }
% \volta 2 \fine
\volta 1 { d1 }
  }
  % \section
}

\score {
  \new PianoStaff <<
\new Staff = "upper" \upper
\new Staff = "lower" \lower
  >>
}

Re: \fine and \section across staves

2022-11-03 Thread Joel C. Salomon
On Thu, Nov 3, 2022 at 1:41 PM Jean Abou Samra  wrote:
>
> Le 03/11/2022 à 18:12, Joel C. Salomon a écrit :
> >
> > I normally put commands like `\bar "||"` in a single place (a Dynamics
> > section, usually) and they take effect across all staves.  And in
> > fact, replacing `\section` with `\bar "||'` does take effect across
> > all staves.  So I would like to not have to repeat `\fine` and
> > `\section` also.
> >
> > Was this change intended?  (I am aware of other changes to `\fine`
> > between 2.23.6 and the new release candidate.)
>
> Yes, it was intended. This is the message of the commit where it was
> done:
>

>
> In general, it's always been a credo through repeat-related changes that
> the repeat structure in the user input is expected to match across staves,
> reflecting the actual music. If you do this, it will also be easier to
> extract parts.

Thank you for the explanation.

—Joel C. Salomon



Adding durations (for \after)

2022-11-09 Thread Joel C. Salomon
 
says:


> Factors may also be added by using Scheme expressions evaluating to a
> number or musical length like `*#(ly:music-length music)`.

Is there an example of such addition handy?

The stripped-down example below works, but `\after 8*9' would be better 
written `\after #(  )`.


The best I could glean from the documentation looks something like:

  \after #(ly:moment-add (ly:make-duration 2 1) (ly:make-duration 4 1))

... except that yields a type error because I’m creating durations not 
moments.


--Joel


\version "2.23.80"

music = \relative c'' {
  \time 6/8
  c8[ c   c   c   c   c]  |
  <<
{
  b4.(a)  |
} \\ {
  g2. |
}
  >>
}

dynamics = {
  \after 2. \>
  \after 8*9 \!
  s2.*2   ||
}

\score { <<
  \new Staff \music
  \new Dynamics \dynamics
>> }



Re: Adding durations (for \after)

2022-11-09 Thread Joel C. Salomon

On 11/9/22 13:21, Lukas-Fabian Moser wrote:


Am 09.11.22 um 16:11 schrieb David Kastrup:


Maybe something like

    \after #(make-duration-of-length (ly:music-length #{ 2. 4. #}))


Or, with a bit of added sugar:





\version "2.23.4"

#(define (duration-or-music? x)
    (or (ly:duration? x) (ly:music? x)))

duration =
#(define-scheme-function (x) (duration-or-music?)
    (if (ly:duration? x)
    x
    (make-duration-of-length (ly:music-length x

{
   \after \duration 2. ->
   \repeat unfold 16 { 8 }
}


Per Jean’s note that the function already exists, I omitted 
`duration-or-music?`, and this works quite nicely.  Thank you!


--Joel



Semantics of \section

2022-11-10 Thread Joel C. Salomon
Obviously, all three options below produce identical output.  (And
also, I know that `\sectionLabel` does not need to be attached to a
`\section`.)

But is there a notion of which generally best represents the way music
is divided, clearer to the next reader of my code than the other
choices?

—Joel

\version "2.23.80"

% I. `\section` outside parts
SectA_I = {
  \sectionLabel "Section A"
  c' d' e' f'
}
SectB_I = {
  \sectionLabel "Section B"
  f' e' d' c'
}
I = {
  \SectA_I \section
  \SectB_I  \fine
}
\score { \I }

% II. `\section` at parts’ end
SectA_II = {
  \sectionLabel "Section A"
  c' d' e' f'
  \section
}
SectB_II = {
  \sectionLabel "Section B"
  f' e' d' c'
  \section
}
II = {
  \SectA_II
  \SectB_II
  \fine
}
\score { \II }

% III. `\section` at parts’ start
SectA_III = {
  \section
  \sectionLabel "Section A"
  c' d' e' f'
}
SectB_III = {
  \section
  \sectionLabel "Section B"
  f' e' d' c'
}
III = {
  \SectA_III
  \SectB_III
  \fine
}
\score { \III }



Re: Adding durations (for \after)

2022-11-10 Thread Joel C. Salomon

On 11/10/22 18:48, Jean Abou Samra wrote:

Le 11/11/2022 à 00:40, Jean Abou Samra a écrit :

But I don't know what syntax to pick for that, or if it's essential
to have one or if "+" alone is already useful enough on its own.
1`16 is the best I could find, but it's not wonderfully mnemonic.
I think the reason why I can feel like it's a difference is the
set difference operator \ which is a bar in the same direction
as ` if you squint at it, but I doubt others will have that feeling ...


Well, another one is "1!16".

I'm having a hard time to explain why, but I feel it's much
better than "1`16" already, although not as elegant as
"1-16".


Bikeshedding here….  What about ` 1+-16 `?  Defines the `+` operator as 
additive scaling, the same as `*` is multiplicative scaling, and allows 
negative numbers.


Hmmm… probably won’t work, unless `+-` is its own token (so `1 +- 16` 
not `1 + -16`), since `-` has an established meaning and it’s been too 
long since I played with lex/yacc to reason this out for real.  And a 
`+-` token is not better than the other options given.


--Joel



Re: Adding durations (for \after)

2022-11-11 Thread Joel C. Salomon

On 11/11/22 08:33, Jean Abou Samra wrote:

Le 11/11/2022 à 03:37, David Kastrup a écrit :

I think we should avoid piling on arbitrary stuff without clear need for
expressing music into the LilyPond grammar.


Personally, I find it striking that the *only* two LilyPond
libraries I am hearing about regularly on mailing lists,
edition-engraver and arranger.ly, are both about
inserting / replacing music in a score at a certain
point in time, although with different purposes
(tweaking vs. arranging) and with different authors,
implementations and users. To me, that means it would
be good to integrate generic tools inspired by them
into LilyPond proper. Now, in both of these, you
specify a position by its timing at every fragment
of music you insert, so this sort of syntax would make
them quite more convenient to use.


But if that can be done from a Scheme function, it’s probably 
sufficient; no need to tamper with Lilypond grammar.


To use Lucas’s example:


r8 es2.-8 f2 ges8~
8 as2.-8 8


can

r8 es \duration_subtract{2.}{8} f2 …

be made to work?  (With whatever syntax.)

Similarly, I have music that would benefit from:

dyn_part = {
  % \p at start, \f at third bar, \p at second-to last bar
  <>\p
  \after 1*2 \f
  \after \duration_subtract {\skip \mus_part} {1*2} \p
  \skip \mus_part
}

I think I’ll go look up arranger.ly and see whether I can adapt something.

--Joel



Checkpoints (was re: Adding durations (for \after))

2022-11-17 Thread Joel C. Salomon

On 11/12/22 09:42, Kieren MacMillan wrote:


Here's one concrete example: 
https://lists.gnu.org/archive/html/lilypond-user/2010-12/msg00790.html

“Annoyance: the expressive part needs skips of the durations corresponding to 
the notes in between the expressive marks. Someday, I hope that LilyPond will 
have the facility to mark temporal points in various parts so that they can be 
aligned without counting out the beats correctly in each one.”


Is it even possible to query the temporal position, to enable some form 
of checkpoints?


Basic notion I'm thinking of is, \checkpoint  can appear in multiple 
staves, voices, etc., and gives a warning if it's not at the same 
temporal position across all of them.  Example:


\score {
  <<
{ a1 \checkpoint #17 b c \checkpoint #42 d }
\\
{ d \checkpoint #17 e \checkpoint #42 f g }
  >>
}

`\checkpoint #17` succeeds; `\checkpoint #42` warns that it's in 
different positions across Voices.


(Motivation: I got bit by the "programming error: could not find this 
grob's vertical axis group in the vertical alignment" issue in one 
score.  Searching the list indicates this is probably a misalignment 
somewhere, but I've still not succeeded in pinning down a minimal 
example.  Cut the score in half, and both halves work anywhere I've 
thought to make the split.)


--Joel



Re: Checkpoints (was re: Adding durations (for \after))

2022-11-17 Thread Joel C. Salomon

On 11/17/22 11:12, Jean Abou Samra wrote:

Le 17/11/2022 à 16:58, Joel C. Salomon a écrit :
(Motivation: I got bit by the "programming error: could not find this 
grob's vertical axis group in the vertical alignment" issue in one 
score.  Searching the list indicates this is probably a misalignment 
somewhere, but I've still not succeeded in pinning down a minimal 
example.  Cut the score in half, and both halves work anywhere I've 
thought to make the split.)



Are you aware of \barNumberCheck?


Yes.  And I already have tags for MIDI vs print output, so I can give 
different checks for the version with unrolled repeats.


A complication is that I've copied the piece so it produces scoreA, 
scoreB, scoreC, and a combined scoreABC, and it's only in the long 
combined score that I'm getting trouble; and I guess I can try adding 
another tag group.  But everything *looks* visually in the right bars


Checkpoints would also allow for finer granularity.  But now that I've 
thought my way through how to use `\barNumberCheck`, I'll try the tool I 
actually have rather than wishing for a tool that doesn't exist.


--Joel



"loco" after ottava

2022-12-01 Thread Joel C. Salomon
Piece of music I have in front of me puts the text "loco." above the
first note after an ottava.  See also the attached example, from
.

The code below does not work, which makes me suspect I do not in fact
understand the spanner interface. (I tried to adapt the example from
crescendo spanners.)  The less-elegant solution of "just use
`\textMark` on the next note" works fine, but it feels like I'm
missing something obvious.

--Joel

\version "2.23.80"

{
  r4
  \override Staff.OttavaBracket.bound-details.right.text = "loco."
  \ottava 1
  c''' d''' e''' |
  \ottava 0
  r \textMark \markup\italic "kluge" e' d' c'
}


\tocItem within \score block, using header properties

2022-12-06 Thread Joel C. Salomon
The requirement that `\tocItem` is either outside the `\score` block
or within a music variable is making it awkward for me to keep it near
where the score `\header` block defines the piece title.  And I have
entirely failed to figure out a way to re-use the piece title.

Minimal example below, showing different ways I've tried.

Is there a cleaner way to accomplish this?

—Joel

\version "2.23.80"

upperI = \relative c' {
  \tocItem \markup "Piece Title" % works, but is an awkward place
  c4 d e f }
lowerI = \relative c {\clef bass f e d c }

scoreI = \score {
  \header {
piece = "Piece Title"
  }
  \new PianoStaff <<
  %  \tocItem \markup \fromproperty #'header:piece % doesn't work
  %  \tocItem \markup "Piece Title" % works, but creates extra staff
\new Staff = "upper" \upperI
\new Staff = "lower" \lowerI
  >>
}

\book {
  \markuplist \table-of-contents
  %  \tocItem \markup "Piece Title" % breaks locality
  \scoreI
}



Re: "loco" after ottava

2022-12-06 Thread Joel C. Salomon
On Fri, Dec 2, 2022 at 2:14 PM Jean Abou Samra  wrote:
>
> Le 02/12/2022 à 02:27, Joel C. Salomon a écrit :
> > Piece of music I have in front of me puts the text "loco." above the
> > first note after an ottava.  See also the attached example, from
> > <https://dictionary.onmusic.org/terms/17-8va>.
> >
> > The code below does not work, which makes me suspect I do not in fact
> > understand the spanner interface. (I tried to adapt the example from
> > crescendo spanners.)  The less-elegant solution of "just use
> > `\textMark` on the next note" works fine, but it feels like I'm
> > missing something obvious.
>
> bound-details is in fact not a property attached to spanner-interface
> (https://lilypond.org/doc/v2.23/Documentation/internals/spanner_002dinterface)
> but to the more specific line-spanner-interface
> (https://lilypond.org/doc/v2.23/Documentation/internals/line_002dspanner_002dinterface),
> which OttavaBracket currently does not implement. Therefore, it's
> expected that this doesn't work.

Thank you.

> The primary purpose of text marks is to be aligned to bar lines
> and to be performance indications for all staves (Text_mark_engraver
> lives in Score by default and the marks are typeset above all
> staves). Is a text mark really what you want here? I would just
> use a text script:

Looks like I'm going to have go through my code and better understand
when to use which sort of text.  I suspect some of my troubles with
"why is this interfering with that?" will also be helped by that
review.

--Joel



Parallel music and \skip while working on a part

2022-12-06 Thread Joel C. Salomon
This may be obvious to some, but I've found this construction helpful
while working on parallel pieces of music, and I thought I'd share:

\version "2.23.80"

upper = \relative c' {
  c4 d e f |
}

lower = << \skip \upper \relative c {
  f e
  % still being worked on
}
>>

\score {
  \new PianoStaff <<
\new Staff = "upper" \upper
\new Staff = "lower" \lower
  >>
}

And when the second part is complete, the `<< \skip \upper` and `>>`
can be removed.

—Joel



Re: \tocItem within \score block, using header properties

2022-12-11 Thread Joel C. Salomon
On Tue, Dec 6, 2022 at 1:07 PM Jean Abou Samra  wrote:
> > A \tocItem needs a bottom context to be interpreted,
> > like a Voice, Dynamics, TabVoice or such. In this case,
> > you don't want anything to be printed from it, so you
> > can use this lesser known context type Devnull. Some
> > people do it with a Dynamics as well. Devnull works
> > with everything you might want to take out of the
> > individual parts: \time, \tempo, \mark, etc.

Thanks, that works beautifully.

> > For not repeating the title between \header and \tocItem,
> > you could try this approach:

I realized I'm reusing the same text in so many ways, it was cleaner
to just use a string variable.

--Joel

\version "2.23.80"

titleI = "Piece Title"

upperI = \relative c' { c4 d e f }
lowerI = \relative c {\clef bass f e d c }

scoreI = \score {
  \header {
piece = \titleI
  }
  \new PianoStaff <<
\new Devnull { \tocItem \markup \titleI }
\new Staff = "upper" \upperI
\new Staff = "lower" \lowerI
  >>
}

midiI = \score {
  \header {
midititle = \markup{ "Project Name:" \titleI }
  }
  \new PianoStaff <<
\new Staff = "upper" \upperI
\new Staff = "lower" \lowerI
  >>
  \midi {}
}

% Print each score as its own file
\book {
  \bookOutputName #(markup->string #{ \markup {"Proj01" \titleI} #})
  \scoreI
}

% Print all scores together as one
\book {
  \markuplist \table-of-contents

  \scoreI
}



acciaccatura slur direction

2022-12-20 Thread Joel C. Salomon
What am I doing wrong here?

```
\version "2.24.0"
down = {
  \clef bass
  \slurUp
  \acciaccatura g,8 d'2 % works
  \acciaccatura d8 d'2 | % doesn't
}
\score {
  \down
}
```

Adding `\slurUp` to a redefinition of `\startAcciaccaturaMusic` works,
so why does the code above not work?

Adapted from the example in
:
```
startAcciaccaturaMusic = {
  <>(
  \override Flag.stroke-style = #"grace"
  \slurUp
}

stopAcciaccaturaMusic = {
  \revert Flag.stroke-style
  \slurNeutral
  <>)
}
```

-- Joel



Re: acciaccatura slur direction

2022-12-21 Thread Joel C. Salomon
On Tue, Dec 20, 2022 at 1:40 PM David Kastrup  wrote:
> Acciaccature have their own built-in slur direction, so if you want to
> override it, you need to do it within the acciaccatura:
>
> \version "2.24.0"
> down = {
>   \clef bass
>   \acciaccatura { \slurUp g,8 } d'2 % works
>   \acciaccatura { \slurUp d8 } d'2 | % works
> }
> \score {
>   \down
> }

Thanks; that's a lot easier than saving and restoring the definitions
of `\startAcciaccaturaMusic` and `\stopAcciaccaturaMusic`.

--Joel



Mimicking `\chords` mode within `\markup`

2022-12-21 Thread Joel C. Salomon
\version "2.24.0"

\markup {
  Compare \sans\concat{F\char ##x266F °/C} to \sans\concat{F\sharp °/C}
  to \score{\chords{\chordmode{ fis:dim/c }}}
}

Looks like `\chords` is aligning the sharp symbol differently (and
probably using SMUFL U+E870 rather than U+B0 (°), but that matters
less).  How can I copy what `\chords` is doing?

(If the spacing and sizing of the embedded `\score` can be tweaked to
look like inline text, that's good too.)

I'm guessing that I need to somehow create a `ChordName` item, but I
can't see how to do so.

--Joel



Re: skipping whole bars in lyrics

2022-12-29 Thread Joel C. Salomon

On 12/29/2022 7:53 AM, mark damerell wrote:

The best I could find in the thread above was

\lyricmode { \repeat unfold  #n {\skip 1}  (lyrics) }

which is messy because  n  is the number of notes, not bars.  There 
are far more
notes and you have to adjust for ties & slurs & etc. and the bars are 
numbered.


Partial answer: If your score is split into different music variables, 
you can (in 2.24) write `|\skip \sopmusic|` rather than `|\skip 
|`.


(In 2.22, you can write `|#(skip-of-length sopmusic)|`, but that's 
sometimes finicky around unfolded repeats.)


--Joel


Simultaneous dotted notes

2023-01-02 Thread Joel C. Salomon
Minimal example:

\version "2.24.0"
\fixed c {
  \clef bass
  <<
a4.->
\\
2.
  >>
  <<
a4->
\\
2.
  >>

}

When I look *real* closely, I see four dots the first time and three dots
the second; but the attached image shows how this looks in the source
score, with the dotted-quarter note shifted horizontally from the dotted
half-note chord.  To my untrained eye, that looks much clearer than what
Lilypond is producing.

(a) Is the Lilypond default presentation really the better way of
indicating this?  If so, I can just leave it alone.  Otherwise,

(b) I've tried following the examples in
https://lilypond.org/doc/v2.24/Documentation/notation/multiple-voices#collision-resolution
and https://lilypond.org/doc/v2.24/Documentation/learning/moving-objects,
but I can’t figure out what I need to `\tweak` to accomplish this
horizontal shift.

With thanks,
—Joel C. Salomon


Re: Simultaneous dotted notes

2023-01-02 Thread Joel C. Salomon
On Mon, Jan 2, 2023 at 11:39 AM Pierre Perol-Schneider <
pierre.schneider.pa...@gmail.com> wrote:

> (b) I've tried following the examples in
>> https://lilypond.org/doc/v2.24/Documentation/notation/multiple-voices#collision-resolution
>> and https://lilypond.org/doc/v2.24/Documentation/learning/moving-objects,
>> but I can’t figure out what I need to `\tweak` to accomplish this
>> horizontal shift.
>>
> ...
> A simple tweak could be : \tweak Dots.extra-offset #'(-1.5 . .5)  a4.-> %
> <= approx.
>

Ah, moving only the dot to where it's more obvious, rather than adding
space between the stems as well.  I like it; thanks.

—Joel C. Salomon


Tricky repeat structure for "32-bar form" AABA

2023-01-11 Thread Joel C. Salomon
If I understand correctly, a volta repeat within a D.C. repeat is only
supposed to play the first time.  I’ve worked out how to accomplish this in
the presence of `\unfoldRepeats` (as useful for MIDI creation) in the
context of a “thirty-two-bar form”, or AABA-form, song.  Might be useful to
others.

Comments (even of the “no, don’t do that, and here’s why” sort) are welcome.

Fun thing is, replacing the hard-coded `\after 1*8` with `\after \duration
\A` (using Lukas’s `\duration` from <
https://lists.gnu.org/archive/html/lilypond-user/2022-11/msg00092.html>)
also works, so one could possibly turn this into a function that takes two
music arguments.

—Joel
\version "2.24.0"

A = {
  \repeat unfold 8 { a'4 a' a' a' | }
  \section
}

B = {
  \repeat unfold 8 { b'2 b' | }
  \section
}

AABA = {
  \repeat segno 2 {
\volta #'() {
  \volta 2 \after 1*8 \fine
  \repeat volta 2 \A
}
\unfolded {
  \volta 1 \repeat volta 2 \A
  \volta 2 { \A \fine }
}
\volta 1 \B
  }
}

\score {
  \AABA
}

\score {
  \unfoldRepeats \AABA
}


Re: Tricky repeat structure for "32-bar form" AABA

2023-01-11 Thread Joel C. Salomon
Looks like the function version works.

Interestingly, swapping `\after \duration $A \volta 2 \fine` with
`\volta 2 \after
\duration $A \fine` causes the unfolded music to be missing the AA part.
I’ve noticed a tricky interplay between `\after` and `\volta *x*`
previously.

—Joel
\version "2.24.0"

duration =
#(define-scheme-function (x) (duration-or-music?)
   (if (ly:duration? x)
   x
   (make-duration-of-length (ly:music-length x

AABAify =
#(define-music-function
  (A B) (ly:music? ly:music?)
  #{
\repeat segno 2 {
  \after \duration $A \volta 2 \fine
  <<
\volta #'() {
  \repeat volta 2 $A
}
\unfolded {
  \volta 1 \repeat volta 2 $A
  \volta 2 $A
}
  >>
  \volta 1 $B
}
  #})

A = {
  \repeat unfold 8 { a'4 a' a' a' | }
  \section
}

B = { \repeat unfold 8 { b'2 b' | }
  \section
}

AABA = \AABAify \A \B

\score {
  \AABA
}

\score {
  \unfoldRepeats \AABA
}

>


Non-local page-break oddities

2023-04-24 Thread Joel C. Salomon
I’m getting close to finished with my first Lilypond project, a book of
some 30 scores.  I tried building the `\book` section piecemeal,
including a handful of scores and tweaking the page breaks, and then
another batch, and so on.
\book {
  \scoreI
  \pageBreak
  \scoreII
  \pageBreak
  \scoreIII
  \pageBreak
  \scoreIV
  \scoreV
  \pageBreak
  …
  \pageBreak
  \scoreXXXI
  \scoreXXXII
  \pageBreak
  \scoreXXXIII
  \paper { min-systems-per-page = 2 }
  \scoreXXXIV
}

The weird thing is, if I comment out all a few `\scoreX` statements, the
page breaks fall where I want them.  But when I compile the whole book at
once, some scores start to stretch across multiple pages in ugly ways.

I have tried tweaking with lines like
\paper { max-systems-per-page = 8 min-systems-per-page = 5 }

in strategic places, but that still fails when I add enough scores.

(It looks like perhaps using `\bookpart` around chunks of the book might
help, but that re-prints the book header when I don’t want it to, and I’m
not seeing how to suppress that.)

It’s hard to give a minimal example without publishing my whole project in
public.

—Joel


Re: Non-local page-break oddities

2023-04-25 Thread Joel C. Salomon

  
  
On 4/25/23 01:41, William Rehwinkel
  wrote:

   I think that using multiple bookparts is a perfect strategy
for this document based on this example, in which each score
should nicely start on a new page. 
   Without any minimal examples, it is hard to determine what
exactly is causing the bad page-breaking results, maybe you are
using the optimal-page-turn algorithm for example. 

Thanks for reminding me about the various page break algorithms.
    I’d found that when I last had a chance to work on this project,
  but had not made a note for myself before putting the work away.
On 4/25/23 01:49, Jean Abou Samra wrote:

  
  Le lundi 24 avril 2023 à 23:33 -0400, Joel C. Salomon a écrit :
  
\book {
  …
  \pageBreak
  \scoreXXXI
  \scoreXXXII
  \pageBreak
  \scoreXXXIII
  \paper { min-systems-per-page = 2 }
  \scoreXXXIV
}
  
  This doesn't do what you think. In \book, a \paper
occurring anywhere applies to the entire book, not
only to the scores that follow it.

Interesting. When I experimented, it did seem as if `min-systems-per-page = 2` was, in fact,
  only effective for that last score.  Probably some complicated
  consequences of the page-breaking algorithm instead.


  
(It looks like perhaps using \bookpart around
  chunks of the book might help, but that re-prints the book
  header when I don’t want it to, and I’m not seeing how to
  suppress that.)
  
  Try
\bookpart {
\paper {
  bookTitleMarkup = ##f
}
...
  }

Between both of you, I’ve got
  \book {
\paper {
  page-breaking = #ly:optimal-breaking
  max-systems-per-page = 8 min-systems-per-page = 5
}
\scoreI
\bookpart {
  \paper { max-systems-per-page = 9 min-systems-per-page = 7 bookTitleMarkup = #f }
  \header { copyright = #f }
  \scoreII
}
\bookpart {
  \paper { bookTitleMarkup = #f }  \header { copyright = #f }
  \scoreIII
}
…
  }/code>
working, with overrides for min/max as needed (as shown).  Thank
  you both!

Is there a way to have
  \paper { bookTitleMarkup = #f }  \header { copyright = #f }
be the default for bookparts in my project?  There’s
  bookTitleMarkup and scoreTitleMarkup but no bookpartTitleMarkup
  that I can see.

—Joel
  




Thank you!

2024-01-04 Thread Joel C. Salomon
I’ve been asking questions on this list for a decade now, and with your 
help I’ve finally managed to complete my spare-time project (the Peter 
Pan score I’ve occasionally mentioned) and publish it.  Thank you all!


(Thanks especially to everyone who made `\repeat segno` work.  With some 
scores in the book, the old kluges and manual repeats for MIDI 
generation were so daunting that I abandoned the project for a few years.)


—Joel C. Salomon




Slurs within chords, and dotted notes

2024-01-04 Thread Joel C. Salomon

Somewhat surprising result, tested on 2.24 & 2.25.11:

|```
\version "2.24"

\fixed c' {
  2
   |

  2.
  4 |

  2 q |

  2. q4 |
}
```|

In the second instance, the tie attaches to the bottom of the initial 
chord, presumably to avoid colliding with the dot. (Interestingly, as in 
examples 3 & 4, a tie will happily display overlapping the dot.)


Obvious searches (like [lilypond chord slur dotted note] 
<https://www.google.com/search?q=lilypond+chord+slur+dotted+note>) do 
not turn up mention of this, or of any tweak to avoid this.  Any hints?


—Joel C. Salomon


Re: Slurs within chords, and dotted notes

2024-01-04 Thread Joel C. Salomon

I should have been clearer.  The score I’m trying to emulate has slurs—

|4.  |

—and it’s the vertical movement of the slurs I’m trying to avoid.

The fact that ties will overlap the note dots was a curiosity I found in 
trying to boil that down to a minimal working example.


—Joel

On 1/4/2024 9:28 PM, Mark Stephen Mrotek wrote:


Joel:

Is this better?

\fixed c' {

2

 |

2.

4 |

2 q |

2. q4 |

}

Mark

*From:* lilypond-user-bounces+carsonmark=ca.rr@gnu.org 
 *On Behalf Of 
*Joel C. Salomon

*Sent:* Thursday, January 4, 2024 6:11 PM
*To:* LilyPond Users 
*Subject:* Slurs within chords, and dotted notes

Somewhat surprising result, tested on 2.24 & 2.25.11:

|```|
|\version "2.24"|

|\fixed c' {|
|  2|
|   ||

|  2.|
|  4 ||

|  2 q ||

|  2. q4 ||
|}|
|```|

In the second instance, the tie attaches to the bottom of the initial 
chord, presumably to avoid colliding with the dot.  (Interestingly, 
as in examples 3 & 4, a tie will happily display overlapping the dot.)


Obvious searches (like [lilypond chord slur dotted note] 
<https://www.google.com/search?q=lilypond+chord+slur+dotted+note>) do 
not turn up mention of this, or of any tweak to avoid this.  Any hints?


—Joel C. Salomon



Re: Slurs within chords, and dotted notes

2024-01-07 Thread Joel C. Salomon

Reposting for clarity as to what I’m asking.

In the second case below, instead of the slur attaching to the specific 
note, it moves vertically—I assume, to avoid collision with the duration 
dot.  (Though it’s interesting that a tie does not mind overlapping the 
dot, as in the fourth case.)


In the second case, how can I either—

 * Allow the slur to overlap the dot (the code shown below does not
   work), or
 * Move the left anchor of the slur horizontally past the dot, so they
   don’t conflict?

Obvious searches like [lilypond chord slur dotted note] 
<https://www.google.com/search?q=lilypond+chord+slur+dotted+note> do not 
turn up mention of this, or of any tweak to avoid this.  Any hints?


—Joel C. Salomon

|```
\version "2.25.11"

\fixed c' {
  % undotted note: slur attaches correctly
  2
   |

  % dotted note: slur is moved vertically
  \once \override Slur.avoid-slur = #'ignore    % does nothing
  2.
  4 |

  % undotted note tie for comparison
  2 q |

  % dotted note tie for comparison: slur overlaps dot
  2. q4 |
}
```|

Re: Slurs within chords, and dotted notes

2024-01-14 Thread Joel C. Salomon

On 1/7/2024 4:11 PM, Xavier Scheuer wrote:

\once \override Dots.avoid-slur = #'ignore
(Dots instead of Slur)


Thank you!  That’s what I was misunderstanding.

—Joel





Re: another variation for repeat segno

2024-06-05 Thread Joel C. Salomon

On 6/3/24 17:13, Paul Scott wrote:

Is  there a way to do this with Segno repeat structure?


By “this”, do you mean “play bars 1, 2, 3, then 2, 3, 4”, or do you mean 
how to customize display of the repeat structure with the overbars as 
your example shows?


—Joel




Suppress command (\arpeggio) in music variable

2014-12-25 Thread Joel C. Salomon
I've got a bit of music that repeats -- except there's an arpeggio
that's only there the first time.  I've defined a music variable thus:

barsSixToEight = {
<<  \new Voice { \voiceOne
d'8 cs  d   fs4->\arpeggio  e8  |
d8  cs  b   cs4->   b8  |
}   \new Voice { \voiceTwo
fs8 g   fs  e4.\arpeggio|
fs4.gs  |
}
>>  |
a8  a   gs  g   fs  e   |
}

and I'm using it something like this:

upperStaff =   \relative c' {
a4 a a
\barsSixToEight

b4 b b
% Somehow suppress \arpeggio here:
\barsSixToEight
}

> (The actual music is at 
> .)

As indicated, I do not want the arpeggio in the second repetition.

I've tried defining \arpeggioOnce,

# (define arpeggioOnce arpeggio)

before defining \barsSixToEight, and then redefining \arpeggioOnce
within the music to something else (I defined \nill as an empty block)
but that did not work.

Is there a way to achieve what I'm trying to do?

--Joel Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Suppress command (\arpeggio) in music variable

2014-12-25 Thread Joel C. Salomon
On 12/25/2014 10:50 AM, Kieren MacMillan wrote:
>> As indicated, I do not want the arpeggio in the second repetition.
>> Is there a way to achieve what I'm trying to do?
> 
> Something along the lines of
> 
>\barsSixToEight
>\override Arpeggio.stencil = ##f \barsSixToEight \revert Arpeggio.stencil
> 
> (or some similar variant) should work.

Thank you, but this does not work for me: the arpeggio is still there.
(Code is at
.
 Replacing `\include "../Peter_Pan.ily"` with `\language "english"`
should suffice to have it compile.)

Looking at ,
there doesn't seem to be a better setting to override than `stencil`.

--Joel

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Suppress command (\arpeggio) in music variable

2014-12-25 Thread Joel C. Salomon
On Thu, Dec 25, 2014 at 11:37 AM, David Nalesnik
 wrote:
> This should do the trick then:
>
>  \version "2.19.15"

That worked; thank you.

--Joel

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Seeking piano template: Dynamics, pedals, articulate, and MIDI

2014-12-30 Thread Joel C. Salomon
I’ve seen snippets and templates for all the parts of this, but I have
not found an example that puts everything together:

Is there somewhere a template, or a short example, for a piano score
with all of these:

* tempo markings
* treble staff
* dynamics
* bass staff
* pedal dynamics

formatted in such a way that the score can be laid out and also have a
MIDI file generated—where all of these:

* unfolded repeats
* tempo changes,
* fermata lengthening,
* volume changes, and
* pedal dynamics

will be included in the MIDI output?

My current effort looks something like this:

\score {
\context PianoStaff <<
\new Staff = "up" { \clef treble \rhmusic }
\new Dynamics = "dynamics" \dynamics
\new Staff = "lower" { \clef bass \lhmusic }
\new Dynamics = "pedalDynamics" \pedalDynamics
>>
\layout{ }
}
\score {
\context PianoStaff <<
\set PianoStaff.midiInstrument = "acoustic grand"
\new Staff { \clef treble \unfoldRepeats \articulate \rhmusic }
\new Dynamics = "dynamics" \dynamics
\new Staff { \clef bass \unfoldRepeats \articulate \lhmusic }
\new Dynamics = "pedalDynamics" \pedalDynamics
>>
%   \layout{ }  % uncomment for debugging
\midi  { }
}

I’ve put the tempo marks in \dynamics and that gets displayed properly
and picked up in the MIDI result, but I cannot figure out how to apply
the documentation examples of fermata lengthening, volume changes, or
pedals, to the MIDI output. (I’m using VLC, Fluidsynth, and a very
large “sound font”, so I assume I would hear the result of \sustainOn
if it were in the MIDI file.)

—Joel

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Voice split across staves?

2015-09-08 Thread Joel C. Salomon
I’m trying to re-create John Crook’s original score to Peter Pan (yes,
it’s in the public domain) for the Mutopia project, and I’m finding that
my lack of musical education is getting in the way.

I’m trying to set “Pipe with the Ostrich”, as visible at
<https://books.google.com/books?id=J-wQYAAJ&pg=PT43>; my current
effort is at
<https://github.com/jcsalomon/MutopiaProject/blob/peterpan/ftp/CrookJ/PeterPan/PP06_Pipe_with_the_Ostrich/PP06_Pipe_with_the_Ostrich.ly>.

While critiques of my Lilypond style are also welcome, my specific
question is how best to show what seems to be a voice split across
staves.  The following example should show what I mean: I’ve set the
piece’s first bar twice, the first time as seems logical to me, the
second time as it appears in the printed score:

\version "2.18.2"
\language "english"
global = {
  \key d \major
  \time 2/4
}

upperStaff = \relative c'' {
  d8. e16 d8  b8  |
<< { \voiceOne
  d8. e16 d8  b8  |
} \new Voice { \voiceTwo
  fs4 fs8 fs  |
} >>
}

lowerStaff = \relative c {
  4 q8  q   |
  4 q8  q   |
}

\score {
  \context PianoStaff <<
\new Staff = "upper" { \clef treble \global \upperStaff }
\new Staff = "lower" { \clef bass \global \lowerStaff }
  >>
  \layout{ }
  \midi { }
}

The “Cross-staff stems” section in the documentation shows a way to draw
the chords so they cross the gap, but remain connected. One one hand,
this is different from the printed source; on the other hand, this might
be better style. On the gripping hand, I can’t see how to apply the
sample code to music organized as I’ve been doing it.

Could somebody please point me in the right direction?

—Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Voice split across staves?

2015-09-09 Thread Joel C. Salomon
On 09/08/2015 11:34 PM, Keith OHara wrote:
> Your second setting, using two Voices in the upper staff, with output
> that matches the printed score, is the way to go.
> 
> What you think of as one logical voice, the one with the chords, is
> split across the pianists two hands.  Piano music always prints this
> in a way that looks like separate voices, so it is best to use separate
> LilyPond Voice contexts.   If you join the chord across the staves,
> the reader will think it is a recommendation to play the chord with a
> single hand, which is not the best way to perform this piece.

Thank you: that explains a lot.

—Joel

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


John Crook (Was re: Voice split across staves?)

2015-09-09 Thread Joel C. Salomon
On 09/08/2015 05:35 PM, Simon Albrecht wrote:
> Am 08.09.2015 um 22:47 schrieb Joel C. Salomon:
>> I’m trying to re-create John Crook’s original score to Peter Pan (yes,
>> it’s in the public domain)
> 
> Just a sidenote: I tried to find this John Crook or any detail about his
> life on the web and he seems to be famously obscure – there’s no
> information at all! except that he wrote this Peter Pan music, which was
> published in 1905 <http://hdl.handle.net/1802/24425>. Astounding! Do you
> know anything more?

He was apparently somewhat known in his own lifetime; there’s a short
biography at <https://books.google.com/books?id=9f0sYAAJ&pg=PA416>.
WorldCat (<http://worldcat.org/search?q=au:John+Crook&fq=x0:msscr>)
references a good number of his works in libraries, but I’ve hardly come
across any recordings of any of this. (There is a CD available, “100
Years of Peter Pan” whose first few tracks include Crook’s music. But
that’s not much.)

The version you pointed to is quite a bit longer than the one on Google
Books, and includes several more songs & lyrics. Thank you for that; I’d
seen reference to this longer version and thought I’d need to find it in
dead-tree form in some library. (I’ve also come across mention of an
80-page instrumental score, but I don’t know if that was ever published.)

It’s beautiful music, and ought not to be forgotten.

—Joel Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Alternatives at Beginning

2013-10-04 Thread Joel C. Salomon
I searched for this issue, and turned up this thread from 2005:
.  At the
time, the fellow posting the question was advised to "take a look at the
section on 'Manual Repeat Commands' in the manual."

Is this still the only option?

I'm trying to typeset something like the score shown in
.  Below is a cut-down version of a source
file that seems to accomplish this result.  To my (beginner's) eye, this
looks kind of messy.  But is there a better way?

--Joel Salomon

\version "2.16.2"

Melody = \relative c'' {
  \key a \minor
  \set Score.repeatCommands = #'((volta "1."))
  {
\partial 4 g4 |
g4 g g g |
  }
  \set Score.repeatCommands = #'((volta #f) (volta "2.--3."))
  \bar "|:"
  {
\set Timing.measureLength = #(ly:make-moment 1 4)
b4 |
\set Timing.measureLength = #(ly:make-moment 4 4)
c4 c c c |
  }
  \set Score.repeatCommands = #'((volta #f) (volta "1.--3."))
  {
a4 a a a |
c4 c c c |
  }
  \set Score.repeatCommands = #'((volta #f) (volta "1.--2"))
  \set Timing.measureLength = #(ly:make-moment 3 4)
  {
b4 b b |
  }
  \set Score.repeatCommands = #'((volta #f) end-repeat (volta "3."))
  \set Timing.measureLength = #(ly:make-moment 4 4)
  {
a4 a a a |
  }
  \set Score.repeatCommands = #'((volta #f))
  \bar "|."
}

Harmonies = \chordmode {
  s4 | c1 |

  s4 | a1:m |

  c |
  f |

  g2. |

  c1 |
}

Lyrics = \lyricmode {
  {
The | first time on -- ly. |
  }
  {
All | oth -- er ver -- ses. |
  }
  {
Each and eve -- ry |
verse sings this part. |
  }
  {
First two times. |
  }
  {
Just the last time. |
  }
}

\score {
  <<
\new ChordNames { \Harmonies }
\new Staff  {
  \context Voice = "Vocal" { \Melody }
}
\new Lyrics \lyricsto "Vocal" \Lyrics
  >>
}


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Extended first syllable in polysyllabic word

2013-10-08 Thread Joel C. Salomon
In the example below, the word "Catherine" is to be pronounced
"Ca-a-th'rine ", extending the first syllable over two (unslurred)
notes, and the last two syllables combine on the third note. (I.e.,
*not* "Cath-er-ine".)

It would seem that they way I wrote it below, "Cath _ -- erine",
*should* work, but this gives an error:

programming error: hyphen not finished yet

Also, the hyphen between "Cath" and "erine" is not displayed.

What am I doing wrong?

--Joel

\version "2.16.2"
\score {
  <<
\relative c'' {
  c8 b a4 b c8 d |
}
\addlyrics {
  Cath _ -- erine wheel rolls _ |
}
  >>
}

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Extended first syllable in polysyllabic word

2013-10-08 Thread Joel C. Salomon
On 10/8/2013 8:44 PM, Christopher R. Maden wrote:
> On 10/08/2013 06:59 PM, Joel C. Salomon wrote:
>> What am I doing wrong?
>>
>> \version "2.16.2"
>> \score {
>>   <<
>> \relative c'' { c8 b a4 b c8 d | } 
>> \addlyrics { Cath _ -- erine wheel rolls _ | }
>>   >>
>> }
> 
> I think you have it backward.
> 
> \version "2.16.2"
> \score {
>   <<
> \relative c'' { c8 b a4 b c8 d | }
> \addlyrics { Cath -- _ erine wheel rolls _  }
>   >>
> }

Thank you; that solves it.  I'm sure there's a good technical reason for
this order, but I don't yet have anywhere near enough experience with
LilyPond internals to understand it.  (I'll get there.)

Again, thank you.

--Joel

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Lyric hyphens, preferred and otherwise

2013-10-09 Thread Joel C. Salomon
Is there a way to indicate that a hyphen is desired here, or that it
is preferred that it be shrunk to nothing?  Consider this example:

\version "2.16.2"
\score {
  <<
\relative c'' { c2 c }
\addlyrics { two -- part }
  >>
}

It would be OK with me if this was displayed "two-part" or "two -
part", but I want to avoid having this hyphen disappear: "twopart" is
*not* good.

I've tried `\addlyrics { two-part _ }` and `\addlyrics { "two -" part
}`. They both sort-of work, but is there a more flexible solution?

--Joel

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Lyric hyphens, preferred and otherwise

2013-10-09 Thread Joel C. Salomon
On Wed, Oct 9, 2013 at 2:53 PM, Kieren MacMillan
 wrote:
> You can force adjacent lyrics to be a minimum distance apart — that should do 
> it:

> \override LyricHyphen #'minimum-distance = #1

Thank you. Since I don't need that everywhere, I turned that idea into
the code below.

--Joel

\version "2.16.2"

realHyphen =
#(define-music-function
 (parser location text)
 (ly:music?)
   #{
 \override LyricHyphen #'minimum-distance = #1
 #text
 \revert LyricHyphen #'minimum-distance
   #})

\score {
  <<
\relative c'' { c4 c c c  }
\addlyrics {
  \realHyphen { two -- part }
  two -- part
}
  >>
}

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Stuck note after acciaccatura in Midi output

2013-11-02 Thread Joel C. Salomon
On 10/8/2013 12:07 AM, Keith OHara wrote:
> Peter Gentry  sunscales.co.uk> writes:
>> The problem vanishes if the \tempo specification changed to 179
>> or slower. 
> 
> I can imagine a problem if you are sending the MIDI down an actual
> MIDI cable.  Grace notes are played at 1/4 noted duration, so the
> quaver grace note gets the duration of a demisemiquaver, which would
> be 0.7 msec at your tempo.  The software reading the file and sending
> messages out the serial port, though, should handle these problems
> gracefully.

I’ve just run across the problem myself. VLC (on Windows, a pre-2.10
version) plays the file fine, but the MIDI player built in to
Frescobaldi is where the problem is.

--Joel


___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: alternatives at beginning or middle

2013-11-10 Thread Joel C. Salomon
Almost eight years ago, on 11/30/2005, Mats Bengtsson wrote:
> Quoting Stuart Lowe :
>> Lilypond seems to handle alternative endings on repeated parts very
>> well.  What about alternative beginnings, or even an
>> alternative somewhere in the middle?
>>
>> Can someone tell me how I would do this?
>
> I don't know if there is any standardized notation for such things.
> However, if you want to have the brackets and labels, take a look
> at the section on "Manual Repeat Commands" in the manual.

Is this still the only option?

I'm trying to typeset something like the score shown in
.  Below is a cut-down version of a source
file that seems to accomplish this result.  To my (beginner's) eye, this
looks kind of messy.  But is there a better way?

--Joel Salomon

\version "2.16.2"
\score {
  <<
\relative c'' {
  % This line is only played the first time
  \set Score.repeatCommands = #'((volta "1."))
  \partial 4 a4 | c c c c |

  \set Score.repeatCommands = #'((volta #f) (volta "2.--3."))
  \bar "|:"
  \set Timing.measureLength = #(ly:make-moment 1 4)
  b4 |
  \set Timing.measureLength = #(ly:make-moment 4 4)
  g4 g g g |

  \set Score.repeatCommands = #'((volta #f) (volta "1.--3."))
  b4 c d e | f e d c |

  \set Score.repeatCommands = #'((volta #f) (volta "1.--2"))
  \set Timing.measureLength = #(ly:make-moment 3 4)
  a4 a a |

  \set Score.repeatCommands = #'((volta #f) end-repeat (volta "3."))
  \set Timing.measureLength = #(ly:make-moment 4 4)
  c4 c c c |

  \set Score.repeatCommands = #'((volta #f))
  \bar "|."
}
  >>
}

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Blues/jazz/rubato tempo markings in printed scores

2013-11-13 Thread Joel C. Salomon
Searching the archives, I found the thread “jazz quantization of
eighths for MIDI”
, linking
to , all
relating to adjusting MIDI output.

Is there a way to *print* a tempo marking for such a rhythm, though?
One score I’ve seen uses a tempo marking that looks like this:

⌐3¬
Blues feel (♫ = ♩ ♪)

I was thinking to adapt the technique from
, but the \note command seems
to support neither beamed notes nor tuplets.  Is there something in
the manual that will make the answer obvious once I understand it, or
is this something difficult to achieve?

—Joel

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Blues/jazz/rubato tempo markings in printed scores

2013-11-13 Thread Joel C. Salomon
On Wed, Nov 13, 2013 at 3:05 PM, Nathan  wrote:
> On Wed, Nov 13, 2013 at 11:57 AM, Joel C. Salomon 
> wrote:
>> ⌐3¬
>> Blues feel (♫ = ♩ ♪)
>
> This snippet may help you:
>
> http://lsr.dsi.unimi.it/LSR/Item?id=204

Thank you; that's what I was looking for.

—Joel

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Arpeggio across notes of differing lengths

2016-07-06 Thread Joel C. Salomon
In the score to Peter Pan I’ve come across what appears to be an
arpeggio with notes of different lengths.  I’ve come up with the kluge
below, but it doesn’t really look right (the hidden notes take up space,
and show up in the MIDI output).  What’s the correct way to achieve this?

\version "2.19.44"
\language "english"

lower = \relative c {
\clef bass
\key d \minor
\time 2/4
<<  {
\voiceOne
bf'2|
}
\new Voice {
\voiceTwo
f,4e|
}
\new Voice {
\voiceTwo
\hideNotes
\arpeggioParenthesis
4\arpeggio
\arpeggioNormal
\unHideNotes
}
>>
\oneVoice
}

\score {
\new Staff = "lower" \lower
\layout {}
}

—Joel C. Salomon
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Sustain pedals (newbie question)

2016-07-06 Thread Joel C. Salomon
The attached .ly is an attempt to recreate the score shown in the
attached PNG file, but the position of the pedal marks is different, and
I can’t figure out how to achieve this.  (My MIDI interface is also not
so great that I can tell whether the pedal is depressed in the correct
place.)

It’s entirely possible I’m completely missing the mark about how to use
the sustain pedals in Lilypond, but this is my best effort given my
reading of the manual.  Any pointers or corrections would be
appreciated; explanations even more so.

(The discussion “Piano pedal mark collision (\sustainOn, \sustainOff)”
from January of this year,
<http://thread.gmane.org/gmane.comp.gnu.lilypond.general/109576>, is
likely related, but part of me not understanding Lilypond’s
sustain-pedal notation is that I don’t understand what Mr Pawelczyk is
doing in that thread.)

—Joel C. Salomon
\version "2.19.44"

\language "english"

upper = \relative c'' {
	\clef treble
	\key d \minor
	\time 2/4

	\grace s8
	c'16	a	g	f	|
	|
}

lower = \relative c {
	\clef bass
	\key d \minor
	\time 2/4

	\acciaccatura f,8 a'4->		\acciaccatura g,8 bf'4->	|
	\acciaccatura a,8 c'4->
	<<
		{ \voiceOne		a8		c		}
		\new Voice { \voiceTwo	d,4}
	>> \oneVoice			|
}

dynamics = {
	s2*16
}

pedal = {
	\grace s8 s4 \sustainOn	\grace 8 \sustainOff s4 \sustainOn
	\grace s8 \sustainOff s4 \sustainOn s4 \sustainOff
}

\score {
	\new PianoStaff <<
		\new Staff = "upper" \upper
		\new Dynamics = "dynamics" \dynamics
		\new Staff = "lower" \lower
		\new Dynamics = "pedal" \pedal
	>>
	\layout {
		\context {
			\PianoStaff
			\accepts Dynamics
		}
	}
}
\score {
	\new PianoStaff <<
		\new Staff = "upper" <<
			\upper
			\dynamics
		>>
		\new Staff = "lower" <<
			\lower
			\dynamics
		>>
		\new Dynamics = "pedal" \pedal
	>>
	\midi {
		\context {
			\type "Performer_group"
			\name Dynamics
			\consists "Piano_pedal_performer"
		}
		\context {
			\PianoStaff
			\accepts Dynamics
		}
	}
}___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Arpeggio across notes of differing lengths

2016-07-06 Thread Joel C. Salomon
On 2016-07-06 4:16 PM, Robin Bannister wrote:
> This corresponds to the example
> 'Creating arpeggios across notes in different voices'
> in NR 1.3.3.
> http://lilypond.org/doc/v2.19/Documentation/notation/expressive-marks-as-lines#arpeggio
> 
> but unfortunately its says further down
> 'The simple way of setting parenthesis-style arpeggio brackets does not
> work for cross-staff arpeggios'
> 
> This is because \arpeggioParenthesis assumes you are inside just one
> Voice, and so is ineffective for PianoStaff and even just Staff.
> So you must do what it does, but for Staff, e.g.


Thank you; that worked. Interestingly, it is not documented there that
\arpeggio will work for notes which are not themselves chords.  Until
I’d added your code, putting \arpeggio there caused an error message
“warning: no heads for arpeggio found?”, which seemed to me to indicate
that this would not work; I’m glad to be wrong.

—Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Sustain pedals (newbie question)

2016-07-06 Thread Joel C. Salomon
On 2016-07-06 5:12 PM, Carl Sorensen wrote:
> I looked at the music.  Sustain on happened on each 1/4 note beat, sustain
> off happened at the fourth  sixteenth note in each 1/4 note beat.  So I
> just changed the pedal line to the following:
> 
>  pedal = {
>s8. \sustainOn s16 \sustainOff s8.\sustainOn s16\sustainOff
>s8. \sustainOn s16 \sustainOff s8.\sustainOn s16\sustainOff
> }

For some reason, the way you wrote this made the `s32*31 \sustainOn s32
\sustainOff` trick make sense.  (But you’re probably right about how
this particular case is notated.)  Thank you.

—Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: PDF author metadata

2016-07-07 Thread Joel C. Salomon
On 2016-07-07 5:38 AM, Federico Bruni wrote:
> The standard does not take into account that the author of the document
> might be different from the author of the __content__ in the document?
> 
> What's more relevant when you search a document? The person who created
> the document in a computer or the author of the content of the document?
> Most of times it's the latter. If I have a library of ebooks and search
> an author name, I want to find the real author of the books, not the
> publisher name or whoever created the ebook.

Having just typeset an e-book, I would point out that the “Dublin Core”
metadata standard which EPUB files use explicitly lists the various
creators’ and contributors’ roles: a music score might have a Composer
[cmp] and a Typographer [tyg] but not necessarily an Author [aut].

—Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Multiple slurs between chords

2016-07-07 Thread Joel C. Salomon
An hour ago, I wrote:
> (In the [attached] larger file, I was able to put an explicit \oneVoice
> overriding \voiceTwo and imitate the printed version, but this only
> worked for the upper staff, and not in my excerpt.)
> 
> Can anyone suggest the correct way forward?

I figured something out; whether it’s the Right Thing to Do™ or an awful
kluge I leave for others to judge:

I split the chord between voices, but included an explicit \voiceOne or
\voiceTwo override to get the stem directions the same.

\version "2.19"
\language "english"

upperOne = \relative c' {
\voiceOne
e4.(d4) %…
\oneVoice   r8  |

\voiceOne
% file continues
}

upperTwo = \relative c' {
\voiceOne
cs4._(   d4) s8  |

\voiceTwo
% file continues
}

lowerOne = \relative c' {
\voiceTwo
g4.^(   fs4)%…
\oneVoice   r8   |

\voiceOne
% file continues
}

lowerTwo = \relative c' {
\voiceTwo
a,4.(   d4) s8  |

\voiceTwo
% file continues
}

\score {
\new PianoStaff <<
\new Staff = "upper" <<
\clef treble\key d \major   \time 6/8
\upperOne
\new Voice \upperTwo
>>
\new Staff = "lower" <<
\clef bass  \key d \major   \time 6/8
\lowerOne
\new Voice \lowerTwo
>>
>>
\layout {}
\midi {}
}

—Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: PDF author metadata

2016-07-10 Thread Joel C. Salomon
On 2016-07-10 7:06 PM, J Martin Rushton wrote:
> Of course English poetry used to be alliterative, not rhyming, until
> Chaucer introduced that new-fangled French habit of end rhymes!
> Getting back to setting music though, would not the driving beat of
> alliterative ballards and sagas not lend themselves to some grand
> music?  Has anyone ever set "Piers the Plowman", the "Greene Knight"
> or "Beowulf" (all in the original language) to music?

It’s possible that some in Tolkien fandom have written music something
like this; the poetry JRRT wrote for the characters from Rohan was in
the alliterative form.

(Were end-rhymes so new in Europe?  They seem to have come into fashion
in Hebrew liturgical poetry [“piyyut”] around the seventh or eighth
century C.E.)

—Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Slurs within & across \repeat tremolo

2016-07-18 Thread Joel C. Salomon
At
<https://github.com/jcsalomon/CrookJ-PeterPan/blob/ffd3d2a/PP10_The_Approach_of_the_Indians.ly>
is my current effort toward recreating the original score, but I’m
having trouble with the opening bars (image attached).

I can imitate the _look_ of the score simply enough:

a16( gs a gsa gsa gs\repeat tremolo 4 { a gs) } | 
\kluge |
\voiceOne
\repeat tremolo 4 { f( d }  \repeat tremolo 4 { f d) }  | 
\kluge |

and so on (see the file for details on the `\kluge`; not related to this
question), but as `\unfoldRepeats` (e.g., for MIDI generation)
indicates, the slur is actually terminated the first time the
close-parenthesis is expanded; the effect is that of

a( ba  ba  ba  bc  d)   c  dc  dc  d

when it “ought” to be

a( ba  ba  ba  bc  dc  dc  dc  d)

instead.  Possibly I’m quibbling over something that doesn’t matter (the
generated MIDI doesn’t sound different to my ears, but perhaps I need to
include articulate.ly for that?) but I’d like to know the right way of
writing this.

—Joel C. Salomon
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Slur over single note?

2016-07-18 Thread Joel C. Salomon
Still from the John Crook’s Peter Pan score project, but a different
piece (“The Flying Away”, page 12 in the score at
<http://hdl.handle.net/1802/24425>):

As show in the attached image, there seems to be a slur drawn over a
single whole-note.  It’s very clearly over that note, not over the other
voice in that measure—which doesn’t seem reasonable to me.

Can someone explain to me what’s going on there, and how to achieve this
in LilyPond?  I was thinking to use something like

\graceAfter a1(  { s32) }

but if this is a semi-standard musical construction I’m unfamiliar with,
there might be a better way to code this.

—Joel C. Salomon
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Slur over single note?

2016-07-19 Thread Joel C. Salomon
On 2016-07-19 2:45 AM, tisimst wrote:
> It could be a LaissezVibrer tie, but I'm wondering if there isn't a
> connection to the next bar. The tie extends so far and touches the
> BarLine at the end of that measure that makes me wonder, but it's only
> speculation at this point. Given the ending tip's vertical position,
> too, it almost looks like it could be a slur. What does the next bar
> look like?

The next bar doesn’t have any partial ties or slurs.  Other scores in
the same book do have indications of ties continued across line-breaks,
so I’m reasonable sure this was not accidentally omitted here.

Experimenting with the `\extendLV` function verifies Robin Bannister’s
original caveats:

> You could however make it _look_ longer, but then
> - you have to guess how much
> - it may collide with something.

so while `\laissezVibrer` is cleaner code, I think I’ll stick with my

#(define afterGraceFraction (cons 1 1))
\afterGrace a1( {s32)}

hack.

Thank you all,
—Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Slurs within & across \repeat tremolo

2016-07-19 Thread Joel C. Salomon
On 2016-07-19 6:21 AM, Simon Albrecht wrote:
> Here, it’s important that the slurs don’t need to be directly appended
> to the notes, they only have to be at the right timestep. Empty chords,
> parallel music expressions and once again the nice \after function can
> be used for the following neat version:
> ( { \after 4.. ) \music } means: After 4.. duration, insert a
> slur-closing event into \music.)

> %\unfoldRepeats
> { <>( \repeat tremolo 4 { f16 d }   \after 4.. ) \repeat tremolo 4 { f d } }

That’s really clever and works perfectly; thank you!

—Joel

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Slur over single note?

2016-07-19 Thread Joel C. Salomon
On 2016-07-19 2:37 PM, Urs Liska wrote:
> I'm 98% sure that's an engraving error of some kind that may
> be resolved by analogy. I'd have to see the full score ...
> 
> Mind sending that (privately if you want) or a download link?

The file is “39087011212125score.pdf” from
, the piece “The Flying Away”, pages
12–14 in the PDF file (displayed page numbers 10–12); alternatively you
can find the same file at
.

—Joel

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Simultaneous accidental breaks cross-staff stem

2016-07-19 Thread Joel C. Salomon
>From “Arrival of the Wolves”: an accidental in the upper Staff’s
voiceOne shifts a chord in its voiceTwo so it no longer aligns with the
corresponding note in the lower Staff, yielding the attached result.
Minimized example:

\version "2.19"
\language "english"

global = {
\key e \minor
\time 2/4
}

upper = \relative c'' {
\clef treble
\global

<< { \voiceOne
b8[ as  b   c]  |
} \new Voice { \voiceTwo
\autoBeamOff
\crossStaff {
  q   q   q   |
}
\autoBeamOn
} >> \oneVoice
}

lower = \relative c' {
\clef bass
\global

b8[ b   b   b]  |
}

\score {
\new PianoStaff
<<
\new Staff = "upper" \upper
\new Staff = "lower" \lower
>>
\layout {
\context {
\PianoStaff
\consists #Span_stem_engraver
}
}
}

—Joel
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Simultaneous accidental breaks cross-staff stem

2016-07-20 Thread Joel C. Salomon
On 2016-07-20 1:56 AM, Malte Meyn wrote:
> Am 19.07.2016 um 22:39 schrieb Joel C. Salomon:
>>  From “Arrival of the Wolves”: an accidental in the upper Staff’s
>> voiceOne shifts a chord in its voiceTwo so it no longer aligns with the
>> corresponding note in the lower Staff, yielding the attached result.
> 
> You can force the  to the right place with
>   \once \override NoteColumn.force-hshift = 0
> Then you’ll need to shift the a sharp too:
>   \once \override NoteColumn.force-hshift = -1 (or -1.1?)

Thanks; that worked.  It seems, though, that I should have been able to
achieve the same effect with forcing a positive hshift on the B in the
lower staff (which is actually closer to the printed score), but when I
tried it I could not see that the note moved at all.

Searching the documentation turns up
<http://lilypond.org/doc/v2.19/Documentation/learning/moving-objects>:

> Changing [the force-hshift property] permits a note column to be moved
> in situations where the note columns overlap. Note that it has no
> effect on note columns that do not overlap.

And it looks like the lower-staff B has moved anyhow; hmm….  Okay, I
think this has given me some insight into what force-hshift is actually
doing.

Thank you,
—Joel Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Slur over single note?

2016-07-20 Thread Joel C. Salomon
On 2016-07-20 3:48 AM, Urs Liska wrote:
> If I'm not mistaken this is a piano reduction?
> If that's the case i'd assume there's a tied note or two slurred ones in
> an instrumental part here.
> 
> I see two options here, depending on what you want with this score:
> 
> 1 (the scholarly approach):
> Get hold of the full score and see if there's a part that warrants the
> slur/tie. If you find somethign adjust the thing accordingly.


There may have been a full score somewhere, but WorldCat doesn’t
indicate that any libraries have it.  (At
<https://www.worldcat.org/oclc/497759088> there’s a record of an
orchestrated “Selection from … Peter Pan”, but note “selection from” and
also the orchestration is by Fred Adlington not John Crook.)

Perhaps the Duke of York’s Theatre has in its archives a complete score,
and I am trying to find someone there whom I might ask about this.
(Amazingly enough, their web presence seems entirely dedicated to
selling people tickets to current performances and does not have their
archivist’s contact information prominently displayed.  It’s almost as
if my request is somehow an unusual one… ;) )

—Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Dynamics & simultaneous notes yield "programming error"

2016-08-28 Thread Joel C. Salomon
Compiling the attached file yields errors of the sort

> programming error: asked to compute volume at +1.00 for dynamic span of 
> duration 1.00 starting at 1
> continuing, cross fingers

If I replace the construct

<< { \voiceOne
a1 |
} \new Voice { \voiceTwo
a,1 |
} >> \oneVoice |

with

<< {a1} \\ {a,1} >>

this error goes away.

Can someone please explain what I’m doing wrong here?

—Joel C. Salomon
\version "2.19"
\language "english"

dynamics = {
	s8\p	s8*7	|
	s1*2
	\bar "|."
}

lower = \relative c {
	\clef bass

	b'1	|

<< { \voiceOne
	a1			|
} \new Voice { \voiceTwo
	a,1			|
} >> \oneVoice			|

	d1	|
}

\score {
	\new PianoStaff
	<<
% 		\new Staff = "upper" \upper
		\new Dynamics = "dynamics" \dynamics
		\new Staff = "lower" \lower
	>>
	\layout {}
}

\score {
	\new PianoStaff
	<<
% 		\new Staff = "upper" << \upper \dynamics >>
		\new Staff = "lower" << \lower \dynamics >>
	>>
	\midi {}
}
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Dynamics & simultaneous notes yield "programming error"

2016-08-28 Thread Joel C. Salomon
On Aug 28, 2016 12:07 PM, "Phil Holmes"  wrote:
> Which version of Lilypond, which operating system?

2.19.46 on Windows 10.

—Joel C. Salomon
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Dynamics & simultaneous notes yield "programming error"

2016-08-29 Thread Joel C. Salomon
Yesterday, I wrote:
> Compiling the attached file (Lilypond 2.19.46, Windows 10) yields errors of 
> the sort
>
>> programming error: asked to compute volume at +1.00 for dynamic span of 
>> duration 1.00 starting at 1
>> continuing, cross fingers

Okay, this is interesting. If I replace

dynamics = {
s1\p|
s1*2
\bar "|."
}

(slightly simplified from my example, but still displaying the problem) with

dynamics = {
s1\p|
s1  |
s1\f|
\bar "|."
}

then the “programming error:” message goes away.

—Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Positioning text marks

2016-09-07 Thread Joel C. Salomon
(Second try; my earlier attempt seems to have gotten lost at the post
office. I’ve taken the opportunity to learn more, but my questions
still hold, so here goes.)

Here’s the relevant parts of my code trying to replicate the attached score:

\version "2.19"

\score {
  {
<>^\markup \center-align \small \italic "Silence."
d'1~\fermata

\tempo "Largo."
\once \override Score.RehearsalMark.self-alignment-X = #LEFT
\mark \markup \smaller "“PETER DRAGS WENDY ETC.”"
d'2. e'4 |
  }
  \layout {}
}

Two points:

• Is there any way to get the “Silence.” mark to appear above the
fermata mark rather than beneath it? The obvious

d'1~^\markup \column { \center-align \small \italic "Silence." \fermata }

puts the fermata centered over the left edge of the note head (as is
the “Silence.” mark) rather than over the center of the head; while
overriding `TextScript.outside-staff-priority` seems to have no effect
here at all.

(Interestingly, the 2.19 documentation seems no longer to include the
snippet “Centering markup on note heads automatically”,
<http://lilypond.org/doc/v2.18/Documentation/source/Documentation/snippets/text#text-centering-markup-on-note-heads-automatically>.
Did something relevant change in development?)

• Is there a way to get the section titles (“Peter Drags Wendy on to
Rock”, and others like it) to move horizontally out of the way of the
tempo indicators rather than riding atop the tempo indicators (or, if
coded as `<>^\markup "…"`, pushing the tempo indicator up vertically)?

(Is there a more idiomatic way of coding these titles?)

—Joel C. Salomon
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Positioning text marks

2016-09-07 Thread Joel C. Salomon
On Wed, Sep 7, 2016 at 7:34 PM, Kevin Barry  wrote:
> This should work:
>
> \override Script.script-priority = #0
>
> That will make the fermata go closer to the note than the text. Any
> value less than 200 should work. I'm not sure what the usual value of
> a fermata is. I'm surprised it gets positioned above Text by default.

Thanks; that did work. Interestingly, overriding
`TextScript.script-priority` did nothing at all, so I’m not sure what
`Script.script-priority` is being compared against.

—Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


LSR 357: "Dynamics context is now included by default"

2016-12-08 Thread Joel C. Salomon
I’ve been using a variant of the LSR 357 “centered dynamics” template
from , but I notice that the
documentation says:

> This snippet demonstrates how this was achieved with older versions
> of LilyPond; the Dynamics context is now included by default (starting
> with LilyPond 2.13.29), and does not require to be defined manually.

What does this mean?  Is there another method recommended for centered
dynamics marks suitable for newer versions of LilyPond?  (The linked
example in the LilyPond documentation does not show dynamics at all.)

––Joel Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Work-around for articulate+acciaccatura bug?

2016-12-11 Thread Joel C. Salomon
Hi all,

I’ve just been bit by a bug I’ve seen reference to, where

\version "2.19.52"
\include "articulate.ly"

\score {
  \articulate {
<<
  c'1
  \\
  e'1
>>
\acciaccatura c'8
c'1 |
  }
  \layout {}
}

fails the bar-check, though the other grace-note commands work fine.  Is
there a reasonable work-around for this?

I’ve got

\tagGroup #'(midi-only score-only)

and the obvious `\keepWithTag` lines in my layout and MIDI scores (and
of course `\articulate` is only ever used for the MIDI score), so is
there some way to wrap `\acciaccatura` so it becomes a plain `\grace` in
the MIDI-generating `\score` block?

(Or is the work-around, “Don’t use articulate.ly”?)

––Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Replicating chord slurs

2017-01-05 Thread Joel C. Salomon
Neighbors,

I’m trying to replicate the chord slurs in the attached image. This
shows the closest two versions I’ve managed (image also attached):

\version "2.19.54"
\language "english"

\score {
  \relative c' {
\time 3/4
2
4

2
4
  }
  \layout {}
}

The first has the right notes slurred together, but looks bad; the
second looks less bad, but still isn’t right. Can anyone suggest another
tweak I might try here?

––Joel C. Salomon
___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user


Re: Replicating chord slurs

2017-01-06 Thread Joel C. Salomon
On 2017-01-05 1:04 PM, Thomas Morley wrote:
> setting spanner-id via \=... has still some shortcomings.
> 
> In _this_ and only this case I'd go for a complete stencil-rewrite,
> tailored at mass (every bow starts/ends at same height.

Nice!  I can see where this has its weaknesses too: it wouldn’t work if
the two chords weren’t approximately at the same height, but it’s
perfect for this case.  Thank you.

(Now I have to make an editorial decision whether to keep this, or to
use standard LilyPond chord slurs––i.e., just one single slur curve––and
be consistent throughout the project.)

Question about the code, though:  I can kinda-sorta follow what it’s
doing, or at least I can figure out where in the reference manual to
look up the details.  But whence the numbers 0, 1, 2.4, & 3.7?  Are
these trial-and-error numbers?

––Joel C. Salomon

___
lilypond-user mailing list
lilypond-user@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-user