Re: subscript in lyrics

2024-04-26 Thread David Wright
On Fri 26 Apr 2024 at 20:33:26 (-0400), David Olson wrote:
> As it turns out, the "bc" text needs to be in lower case for \smallCaps to 
> work.
> 
> title = \markup { 539. Threshing Floor of Aruna. 1100 \smallCaps bc }
> 
> it doesn't operate on text that's already capitalized.

There's a bumper collection of markups and fonts in the
Notation Reference, about two pages into §1.8.1. There,
the example:

  \markup \smallCaps "LyricText"

shows why only lowercase letters are set in small capitals.

Cheers,
David.



Re: Note names are causing text marks to be duplicated

2024-04-26 Thread David Wright
On Fri 26 Apr 2024 at 07:59:09 (-0700), Aaron Hill wrote:
> On 2024-04-26 7:44 am, Eric Benson wrote:
> > I see. How hard would it be to write a Scheme function that would
> > copy a
> > melody variable and remove the text marks, or in fact everything
> > other than
> > the note values, which are all I want in the NoteNames variable?
> > That would
> > be preferable to entering a separate sequence containing only the text
> > marks in my application.
> 
> 
> \tagging your \textMarks would let you apply them only where you intend:
> 
> 
> \version "2.24.3"
> 
> textMark = \tag textMark \textMark \etc
> withTextMarks = \keepWithTag textMark \etc
> withoutTextMarks = \removeWithTag textMark \etc
> 
> melody = { b'4 4 \textMark "Hey!" 2 }
> 
> << \withTextMarks \melody \\ \withoutTextMarks \melody >>
> 

Ironically, replacing \textMark with \mark would achieve much the
same thing in the MWE provided. But I suppose it all depends on
the purpose of including the text mark in melody itself.

Cheers,
David.



Re: Note names are causing text marks to be duplicated

2024-04-26 Thread David Wright
On Thu 25 Apr 2024 at 22:16:21 (-0700), Eric Benson wrote:
> Is this intentional or desired?

AIUI this is one of the reasons \textMark was invented, so that
multiple text marks could be placed at the same point:

 "Note: Older LilyPond versions used the \mark command for text marks,
  even though it is primarily intended for rehearsal marks (see
  [Rehearsal marks], page 127). The \textMark and \textEndMark
  commands are better suited for text marks with regard to their de-
  fault settings as well as the ability to have several text marks at
  the same moment. It is therefore recommended to use \textMark and
  \textEndMark instead of \mark "Text" or \mark \markup  Note that
  if converting code that uses \mark for text marks, overrides using
  RehearsalMark should be changed to TextMark."

> If so, is there a way to prevent this from happening?

Treat the text mark as you would lyrics or dynamics, defined in a
separate variable, which you interpret inside your << >> only once.

Cheers,
David.



Re: Mixed ChoirGroup: Solo/Choir

2024-04-25 Thread David Wright
On Thu 25 Apr 2024 at 13:36:49 (+), Schlipf, John (schlipf) wrote:
> On question:
> On Wed 24 Apr 2024 at 19:13:47 (+0200), Johannes Roeßler wrote:
> > Hey David,
> >
> > it works - but I am running into an issue with short passages.
> > I would like to stretch the choir part to the right side,
> > but when I bring in "ragged-right = ##f" then it breaks:
> >
> > I assume you have a solution for that issue?
> 
> This is simple, but perhaps it would work for you.  I've stretched (what I 
> thought were) over-compressed lines by just putting in a manual line break 
> before and after the line I want to stretch.  Lilypond then spreads the 
> demarcated line out to fill the space.

Just to clarify what I wrote Wed, 24 Apr 2024 23:46:22 -0500

  "I don't like to stretch the responses music much at all, …"

The sole control I exercise on the layout of each V is
to set the individual   indent = NN   that's added to
the global   ragged-right = ##f ragged-last = ##f.

I choose the values by trial and error, to give the first
(or sole) line of a response a balanced appearance compared
with the full-width lines in the rest of the setting.
Overcompression beyond a certain point will lead to LP's
addition of a linebreak anyway.

In the thumbnail score that I previously attached, the values
of NN were: 70, 40, 110, 20, 0, 80, 50, 70, 80, 40, 60, 0, the
Lord's Prayer having no intonation, and the Amens being labelled,
with no cue or indent required.

Cheers,
David.



Re: Lyrics and Barchecks

2024-04-25 Thread David Wright
On Thu 25 Apr 2024 at 13:06:01 (-0700), Steve Carlock wrote:
> Thanks.  I agree that the barcheck warning message is cryptic.  It appears
> that this issue happens when the lyric is attached to notes that are tied
> across a measure boundary.  Unfortunately I can't change the third measure
> - that motif from my simple example is used frequently in the pieces I am
> working on at the moment.  It's a catch-22.  I start ignoring the barcheck
> warnings because of the lyrics that cross measure boundaries and then miss
> the legit warnings from where I've messed up the lyrics.  The good news is
> that even with the warnings, the output is exactly what I need it to be.

It's possible to set your extract, make all the checks, and get no
warning messages, but it's tedious, and means using lyric durations.
(check1.ly, attached.) Using addlyrics instead of lyric durations
is a trade-off, and I assume the documenter had already made that
choice when they wrote:

  "Note that bar check marks in lyrics are evaluated at the musical
   moment when the syllable following the check mark is processed. If
   the lyrics are associated with the notes of a voice which has a rest
   at the beginning of a bar, then no syllable can be located at the
   start of that bar and a warning will be issued if a bar check mark
   is placed in the lyrics at that position."

One compromise you can make is to leave out any bar checks that occur
within lyrics that happen to cross barlines. You can still add a
barNumberCheck as long as you bear in mind that its number applies
to the measure of the /next/ lyric. (check2.ly, attached.)

Alternatively, you can leave the bar and bar number checks in place,
as you suggest above, but use the tersely documented¹ expect-warning
feature to silence just these warnings. (check3.ly, attached.) That
will prevent their spam from obscuring other, significant warnings
amd errors.

Each expect-warning line at the top of the file (which is where they
must all be placed) will silence one warning with the corresponding
text. They must be placed in the corresponding order as well.²

Run check3.ly with its expect-warning line commented out, and again
with it duplicated: you will see how it works, and that extra
expect-warning lines are treated as errors, not ignored.

AIUI the expect-warning string has to match the warning message from
the start of the text, but can be truncated, ie expect-warning
"bar check failed" would still match the warning in check3.ly.

¹ Internals References §4 Scheme functions (alphabetical)
  page 872 in version 2.25.10

² But particularly for bar checks, bear this in mind:
  "If successive bar checks are off by the same musical interval,
  only the first warning message is displayed. This allows the
  warning to focus on the source of the timing error."
  (Notation Reference.)

Cheers,
David.
\version "2.24.3"
\language "english"

<<
  \new Staff {
\new Voice = vvv {
  \relative c' {
\override Score.BarNumber.break-visibility = #all-visible
\set Score.barNumberVisibility = #(every-nth-bar-number-visible 1)
f8 4 f8 f4 8 f8~ \barNumberCheck #2 |
4 r4 r2 \barNumberCheck #3 |
r2 r8 f8 4 \barNumberCheck #4 |
  }
}
  }
  \new Lyrics {
\lyricmode {
  \set associatedVoice = vvv
  This8 Lit4 -- tle8 star4 -- O8 -- mine8 __ \barNumberCheck #2 |
  _4 \skip4 \skip2 \barNumberCheck #3 |
  \skip2 \skip8 I8 said4 \barNumberCheck #4 |
}
  }
>>
\version "2.24.3"
\language "english"

<<
  \new Staff {
\new Voice {
  \relative c' {
\override Score.BarNumber.break-visibility = #all-visible
\set Score.barNumberVisibility = #(every-nth-bar-number-visible 1)
f8 4 f8 f4 8 f8~ \barNumberCheck #2 |
4 r4 r2 \barNumberCheck #3 |
r2 r8 f8 4 \barNumberCheck #4 |
  }
}
  }
  \addlyrics {
\lyricmode {
  This Lit -- tle star -- O -- mine __ \barNumberCheck #3
  I said \barNumberCheck #4 |
}
  }
>>
#(ly:expect-warning "bar check failed at: 5/8")
\version "2.24.3"
\language "english"

<<
  \new Staff {
\new Voice {
  \relative c' {
\override Score.BarNumber.break-visibility = #all-visible
\set Score.barNumberVisibility = #(every-nth-bar-number-visible 1)
f8 4 f8 f4 8 f8~ \barNumberCheck #2 |
4 r4 r2 \barNumberCheck #3 |
r2 r8 f8 4 \barNumberCheck #4 |
  }
}
  }
  \addlyrics {
\lyricmode {
  This Lit -- tle star -- O -- mine __ \barNumberCheck #3 |
  I said \barNumberCheck #4 |
}
  }
>>


Re: Mixed ChoirGroup: Solo/Choir

2024-04-24 Thread David Wright
On Wed 24 Apr 2024 at 19:13:47 (+0200), Johannes Roeßler wrote:
> Hey David,
> 
> it works - but I am running into an issue with short passages.
> I would like to stretch the choir part to the right side,
> but when I bring in "ragged-right = ##f" then it breaks:
> 
> I assume you have a solution for that issue?

Very simple, but not obvious from my cropped screenshot,
I right-justify the responses.

I don't stretch the versicles at all, and I set them with a breve
or semibreve (reciting note) and stemless crochets, avoiding any
indication of rhythm. (With the commonly used Ferial versicles,
only "O God make speed to save us" is entirely crochets, with no
reciting note.)

I don't like to stretch the responses music much at all, because
I find that makes it more difficult to read. So a short V pair
will have a wide margin to its left.

Right-justification is used by Shorter House in their Book of New
Responses, and by Church Music Society in their 1993 Watkins Shaw
edition of Preces and Responses. OTOH the older Atkins/Fellowes
edition of the latter had its V placed centrally.

I've attached a much-reduced illustration of one set (Smith/Stone).
On page 2, the choir sings everything after the 2nd versicle;
page 4 has the Lord's Prayer; and the final line of music is a
concatenation of the three Amens.

I've also attached my Plainlayout file, used here for the versicles.
I set the size externally because I use much larger sizes than here
with less familiar plainsong, like the Gospels of the Passion, and
the dreaded liturgical tracts.

  plainlayout = \layout {
\plainlayout
#(layout-set-staff-size 9)
  }

Cheers,
David.
\version "2.25.9" % 2016-05-04

%% Sets up \plainlayout, which is local, designed not to interfere
%% with the top-level layouts, which are cumulative.
%% Used for interspersing plainsong sections with normal music.

plainlayout = \layout {
  indent = 0
  ragged-right = ##t
  \context {
\Score
timing = ##f
\override SpacingSpanner.shortest-duration-space = #3.0
  }
  \context {
\Staff
\omit TimeSignature
\override BreathingSign.text = #(make-musicglyph-markup "scripts.tickmark")
  }
  \context {
\Voice
\omit Stem
\omit Flag
\override Slur.direction = #UP
  }
  \context {
\Lyrics
\override LyricHyphen.minimum-distance = #1.0
  }
}


Re: Mixed ChoirGroup: Solo/Choir

2024-04-22 Thread David Wright
On Mon 22 Apr 2024 at 18:06:21 (+0200), Johannes Roeßler wrote:
> \version "2.24.0"
> \score {
>   \new ChoirStaff <<
>     \new Staff {s1 s1 a'1}
>     \new Staff {s1 s1 a'1}
>     \new Staff {a'1 a' a'}
>     \new Staff {s1 s1 a'1}
>   >>
>   \layout { }
> }

I'm guessing this might be an XY question. What I do is to put
the solo into the instrument name. The bare bones are below,
though not an MWE because I haven't included the shortcuts I use.
Here, the solo is a bass, and they have been shrunk a little.

Aintonation = \markup {
  \score {
\transpose af g
\new Staff = staff <<
  \Vglobal
  \new Voice { \Acantor }
  \addlyrics \with { alignAboveContext = staff } { \Avtext }
>>
\layout { \plainlayout }
  }
  \hspace #5 "B."
}

  \score {
\transpose af g
\new ChoirStaff <<
  \new Staff <<
\labelsoprano
\clef treble { \Rglobal \Abarring }
\new Voice { \accident \Asoprano }
\addlyrics { \Artext }
  >>
  \new Staff <<
\labelaltoi
\clef treble \Rglobal
\new Voice { \accident \Aaltoi }
\addlyrics { \Artext }
  >>
  \new Staff <<
\labelaltoii
\clef treble \Rglobal
\new Voice { \accident \Aaltoii }
\addlyrics { \Artext }
  >>
  \new Staff <<
\labeltenor
\clef "treble_8" \Rglobal
\new Voice { \accident \Atenor }
\addlyrics { \Artextt }
  >>
  \new Staff <<
\override Staff.InstrumentName.self-alignment-X = #RIGHT
\set Staff.instrumentName = \Aintonation
\clef bass \Rglobal
\new Voice { \accident \Abass }
\addlyrics { \Artext }
  >>
>>
\midi { \miditempo }
\layout { indent = 70 }
  }

Cheers,
David.


Re: (No subject)

2024-04-21 Thread David Wright
On Sun 21 Apr 2024 at 18:45:35 (+0200), Hans Aikema wrote:
> > On 21 Apr 2024, at 17:58, Gian Paolo Renello wrote:
> > 
> > I read as you suggested but didn't find the way. Here is hte piece of score 
> > code:
> >  
> > \score{
> > \new StaffGroup <<
> > \new Staff \with {
> > midiInstrument = "choir aahs"
> > instrumentName = "Soprani"
> > } { \soprano }
> > \addlyrics {\sopranoVerse_sup}
> > \addlyrics { \sopranoVerse_ru }
> > \addlyrics { \sopranoVerse }
> >  
> 
> You can’t use the \addlyrics shortcut when you want to place the lyrics above 
> the staff. You’ll have to use the \new Lyrics construct (as shown in the 
> notation manual) for those lyrics.

I have no problem using \addlyrics above the staff. The attached
shows an example, with verses 1 and 2 aligned to the soprano,
and verses 3, 4 and 5 to the alto, tenor and bass respectively.

(You wouldn't do it like this for a strophic hymn, but if you exclude
verse 2, it illustrates a layout for a 4-part non-homophonic composition.)

> \addlyrics is very limited in customisation power, it’s a shorthand for 
> creating the new Lyrics to the preceding voice (the music in between the 
> braces ( {\soprano} ) implicitly creates an unnamed voice.

But its placement can refer to the staves, as you appeared to say earlier:

> > The preferred way is by coding the '\with { alignAboveContext = “ > the staff>” }` to the Lyrics assigned to the Solo in your piece.

Cheers,
David.
\version "2.24.0"
\language english
\header {
  tagline = ##f
}
global = {
  \key g \major
  \time 4/4
  \partial 2
  s2 s1 s2
  s2 s1 s2
  \bar "" \break
}

soprano = \relative {
  d'4 fs g4. g8 g[( fs]) g[( a]) a4 g
  g4 b d4. b8 b[( a]) g[( fs]) g2
}

alto = \relative {
  d'4 c d4. d8 d4 d8[( fs]) fs4 g4
  d4 g g4. g8 e4 d d2
}

tenor = \relative {
  b4 a g4. b8 b[( a]) b[( c]) c4 b
  b4 g g4. d'8 d[( c]) b[( a]) b2
}

bass = \relative {
  g,4 a b4. g8 d'4 d d g
  g4 e b4. g8 c4 d g,2
}

texti = \lyricmode {
  \set stanza = "1."
  Once in roy -- al Da -- vid’s Ci -- ty
  Stood a low -- ly cat -- tle __ shed,
}

textii = \lyricmode {
  \set stanza = "2."
  He came down to earth from hea -- ven
  Who is God and Lord of __ all,
}

textiii = \lyricmode {
  \set stanza = "3."
  And through all his won -- drous child -- hood
  He would hon -- our and o -- bey,
}

textiv = \lyricmode {
  \set stanza = "4."
  For he is our child -- hood’s pat -- tern,
  Day by day like us __ he __ grew;
}

textv = \lyricmode {
  \set stanza = "5."
  And our eyes at last shall see him
  Through his own re -- deem -- ing love,
}

\score {
  \new ChoirStaff <<
\new Staff = streb <<
  \clef treble \global
  \new Voice { \voiceOne \soprano }
  \addlyrics \with { alignAboveContext = streb } { \texti }
  \addlyrics { \textii }
  \new Voice { \voiceTwo \alto }
  \addlyrics { \textiii }
>>
\new Staff = sbass <<
  \clef bass \global
  \new Voice { \voiceOne \tenor }
  \addlyrics \with { alignAboveContext = sbass } { \textiv }
  \new Voice { \voiceTwo \bass }
  \addlyrics { \textv }
>>
  >>
  \layout {
indent = 0
\context {
  \Staff
  \omit TimeSignature
}
  }
}


once.pdf
Description: Adobe PDF document


Re: Horizontal note spacing in chant template

2024-04-17 Thread David Wright
On Wed 17 Apr 2024 at 11:45:51 (+0100), rich...@oneill-griffiths.net wrote:
> Hi, I've been using the Anglican chant template to set items for our choir
> and I've just a note spacing problem with one chant (Walford Davies) last
> quarter.
>  
> How do I address the note spacing for the B/C clash in the 3rd bar?

voiceThree will provide the offset, and handle the stem correctly.
You can reduce the amount of bracketing too, as attached.

> Now if there's also an easier way to show that voice split in the tenor
> part, I'd  appreciate it.

Conventionally, one uses an arpeggio bracket to resolve the ambiguity
with semibreves, as shown.

I would advise against abandoning convention, and confusing the bass eye,
by any use of stemDown in the tenor part.

Cheers,
David.
\version "2.24.0"
\language "english"

global = {
  \key c \minor
   s1*4 \bar "|."
}

TenorMusic = \relative {
  g1 af2 c2 c2
  <<
c2
\new Voice = "melody" {
  \voiceThree
  bf4 af4
}
  >>
  \arpeggioBracket < c g >1 \arpeggio
}

BassMusic = \relative {
  af,1 df2 c2 f2 bf,2 ef1
}

\markup {
  \fill-line {
\score {
  <<
\new ChoirStaff <<
  \new Staff <<
\clef "bass"
\global
\new Voice = "Tenor" <<
  \voiceOne
  \TenorMusic
>>
 \new Voice = "Bass" <<
  \voiceTwo
  \BassMusic
>>
  >>
>>
  >>
  \layout {
\context {
  \Score
  fineBarType = "||"
}
\context {
  \Staff
  \remove Time_signature_engraver
}
  }
}
  }
}


Re: Problems with lilypond-invoke-editor

2024-04-11 Thread David Wright
On Wed 10 Apr 2024 at 21:35:16 (-0600), Ben Bradshaw wrote:
> Well I fixed having multiple lilyponds installed, and at first I thought it
> worked. Zathura and xpdf at least work when I open them separately.

I'm not sure exactly what you mean by open separately. Is this: typing
 in a command line, or clicking on a viewer's icon, or (by file
association) clicking on a PDF document?

> I guess
> it's a minor annoyance, but if I open zathura from the C-c C-c part of
> emacs, then it doesn't work and I get those errors.

Same again—how do you start emacs?

> I have no clue why that
> would make a difference, but it seems to be the case. Open the file in a
> viewer separately and point and click works just fine. Use the lilypond
> command view and it doesn't.

I've only tested with xpdf and emacs, each one opened from the command
line (because I don't use a desktop). Point-and-click works whether
xpdf was started from the command line or from  ^C^C ViewPDF in emacs.

> I guess I haven't tried to see if other pdf
> viewers work from the command menu, but it seems like it wouldn't be a
> zathura problem.

I would try with xpdf, because it has a simpler configuration/mechanism
than viewers like zathura and evince. If xpdf works correctly, I would
suspect that there might by more Gnome-y stuff required to get zathura
to work when launched by emacs with ^C^C, rather than by Gnome. But
that's only a guess.

Would you be able to adjust your workflow to begin by running zathura
on the PDF, and just clicking on an item in the score to launch emacs?
(Perhaps that's what you're already doing.)

Cheers,
David.



Re: Installing 2.24.1

2024-04-11 Thread David Wright
On Thu 11 Apr 2024 at 21:14:14 (+0100), Wol wrote:
> On 07/04/2024 11:50, Werner LEMBERG wrote:
> > 
> > > > There is a web page that deals with command-line installation, if
> > > > that's what you want:
> > > > 
> > > > https://lilypond.org/doc/v2.24/Documentation/learning/command-line-setup
> > > > 
> > > Thanks. So basically "yes", I guessed as much.
> > > 
> > > I just need to re-associate the new version of lilypond with .ly
> > > files...
> > 
> > If you have a chance please check these instructions for correctness;
> > I'm not a regular Windows user, and there might be errors and/or
> > problems due to my clumsy testing.
> > 
> Well, it doesn't appear to work ...
> 
> Bear in mind I'm running Windows, so I don't want to run lilypond from
> the command line. I double-click a .ly file, it runs lilypond, and my
> pdf appears (or at least it does, running the old version).
> 
> What I did was open a command shell as administrator, and extracted
> lilypond into Program Files. I then opened a .ly file and - nothing
> happened!
> 
> Or rather, nothing useful happened. A popup window opened, and
> disappeared. No log files, no output, no nothing.
> 
> Okay. Tried to run it the un-windows way of using the command line.
> Complete pain in the ass, I'm afraid. And at least I can see the error
> messages ...
> 
> D:\Users\Anthony\My Git\music\GBB-Concert\_Grandioso>"c:\Program
> Files\lilypond-2.24.3\bin\lilypond.exe" partTromboneB.ly
> GNU LilyPond 2.24.3 (running Guile 2.2)
> Processing `partTromboneB.ly'
> Parsing...
> partTromboneB.ly:6:10: error: cannot find file: `voiceTromboneB.ily'
> (search path: `c:/Program
> Files/lilypond-2.24.3/share/lilypond/2.24.3/ly;c:/Program
> Files/lilypond-2.24.3/share/lilypond/2.24.3/ps;c:/Program
> Files/lilypond-2.24.3/share/lilypond/2.24.3/scm;c:/Program
> Files/lilypond-2.24.3/share/lilypond/2.24.3/fonts/otf/;c:/Program
> Files/lilypond-2.24.3/share/lilypond/2.24.3/fonts/svg/;')
> \include
>  "voiceTromboneB.ily"
> partTromboneB.ly:23:41: error: unknown escaped string: `\voiceTromboneB'
> 
> \voiceTromboneB
> partTromboneB.ly:23:41: error: string outside of text script or \lyricmode
> 
> \voiceTromboneB
> 

What's odd about this log is that the errors occur on lines 6 and 23,
and yet there's no error concerning voiceStaff.ily, nor the variables
voiceTimeSig and voiceMarkup, defined therein. That suggests (but does
not prove) that voiceStaff.ily was found.

Of course, these line numbers may be coincidental.

> Note: compilation failed and \version outdated, did you
> update input syntax with convert-ly?
> 
> 
> https://lilypond.org/doc/v2.24/Documentation/usage/updating-files-with-convert_002dly
> 
> Interpreting music...[8]
> Preprocessing graphical objects...
> Finding the ideal number of pages...
> Fitting music on 1 page...
> Drawing systems...
> Converting to `partTromboneB.pdf'...
> fatal error: failed files: "partTromboneB.ly"
> 
> D:\Users\Anthony\My Git\music\GBB-Concert\_Grandioso>
> 
> 
> So it looks like it's searching the program directory for my include
> files, and not the current directory where they actually are! Note
> that running the older lilypond correctly compiles the file.

Cheers,
David.



Re: Landscape printing

2024-04-07 Thread David Wright
On Sun 07 Apr 2024 at 22:09:05 (+0100), Wol wrote:
> On 07/04/2024 21:15, David Wright wrote:
> > \version "2.24.0" % 2017-06-14
> > %% Seehttp://lists.gnu.org/archive/html/lilypond-devel/2017-05/msg00017.html
> > %% The paper itself is rotated to landscape.
> > \paper {
> >#(set-paper-size "letterlandscape")
> > }
> 
> So I guess what SHOULD work is
> 
> \paper {
>   #(set-paper-size "a4landscape")
>   \include "../../Include/paper.bookTitleMarkup.ily"
> }
> 
> 
> Guess what :-( it has absolutely no effect. (And I tried putting the
> paper block both before, and after, the score. I think I also had it
> inside the score block at one point.)
> 
> That's why I'm so puzzled, because Colonel Bogey has landscape music.
> Grandioso - absolutely nothing works.

With your four attachments in /tmp/, I ran the first and fourth.

First: portrait paper with portrait music.
Fourth: portrait paper with landscape music on its side.

I then edited   "a4" 'landscape) → "a4landscape")
and got the attached, fully landscape, music.

Cheers,
David.


partTromboneI3.pdf
Description: Adobe PDF document
GNU LilyPond 2.25.10 (running Guile 2.2)
Processing `partTromboneI3.ly'
Parsing...
partTromboneI3.ly:7:10: error: cannot find file: `voiceTromboneI.ily'
(search path: 
`/home/david/lilypond-2.25.10-linux-x86_64/share/lilypond/2.25.10/ly:/home/david/lilypond-2.25.10-linux-x86_64/share/lilypond/2.25.10/ps:/home/david/lilypond-2.25.10-linux-x86_64/share/lilypond/2.25.10/scm:/home/david/lilypond-2.25.10-linux-x86_64/share/lilypond/2.25.10/fonts/otf/:/home/david/lilypond-2.25.10-linux-x86_64/share/lilypond/2.25.10/fonts/svg/:/home/david/LilyLib/:/home/david/LilyLib/margins/:/home/david/LilyLib/parts-midis/:')
\include 
 "voiceTromboneI.ily"
partTromboneI3.ly:10:10: error: cannot find file: `header.ily'
(search path: 
`/home/david/lilypond-2.25.10-linux-x86_64/share/lilypond/2.25.10/ly:/home/david/lilypond-2.25.10-linux-x86_64/share/lilypond/2.25.10/ps:/home/david/lilypond-2.25.10-linux-x86_64/share/lilypond/2.25.10/scm:/home/david/lilypond-2.25.10-linux-x86_64/share/lilypond/2.25.10/fonts/otf/:/home/david/lilypond-2.25.10-linux-x86_64/share/lilypond/2.25.10/fonts/svg/:/home/david/LilyLib/:/home/david/LilyLib/margins/:/home/david/LilyLib/parts-midis/:')
\include 
 "header.ily"
partTromboneI3.ly:24:33: error: unknown command: `\voiceTromboneI'

\voiceTromboneI
partTromboneI3.ly:24:33: error: string outside of text script or \lyricmode

\voiceTromboneI
partTromboneI3.ly:35:20: error: cannot find file: 
`../../Include/paper.bookTitleMarkup.ily'
(search path: 
`/home/david/lilypond-2.25.10-linux-x86_64/share/lilypond/2.25.10/ly:/home/david/lilypond-2.25.10-linux-x86_64/share/lilypond/2.25.10/ps:/home/david/lilypond-2.25.10-linux-x86_64/share/lilypond/2.25.10/scm:/home/david/lilypond-2.25.10-linux-x86_64/share/lilypond/2.25.10/fonts/otf/:/home/david/lilypond-2.25.10-linux-x86_64/share/lilypond/2.25.10/fonts/svg/:/home/david/LilyLib/:/home/david/LilyLib/margins/:/home/david/LilyLib/parts-midis/:')
  \include 
   "../../Include/paper.bookTitleMarkup.ily"

Note: compilation failed and \version outdated, did you
update input syntax with convert-ly?

  
https://lilypond.org/doc/v2.25/Documentation/usage/updating-files-with-convert_002dly

Interpreting music...[8]
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Converting to `partTromboneI3.pdf'...
fatal error: failed files: "partTromboneI3.ly"


Re: Landscape printing

2024-04-07 Thread David Wright
On Sun 07 Apr 2024 at 20:30:53 (+0100), Wol wrote:
> I'm having fun trying to get things to print landscape. Okay, I'm
> doing "monkey see monkey do" programming, but I have two apparently
> almost identical files, one of which prints landscape, the other
> portrait.

I use the following files, named to taste:

\version "2.24.0" % 2013-11-11
\paper {
  #(set-paper-size "letter")
}



\version "2.24.0" % 2017-06-14
%% See http://lists.gnu.org/archive/html/lilypond-devel/2017-05/msg00017.html
%% The music is rotated to landscape, but the paper itself is still portrait.
\paper {
  #(set-paper-size "letter" 'landscape)
}



\version "2.24.0" % 2017-06-14
%% See http://lists.gnu.org/archive/html/lilypond-devel/2017-05/msg00017.html
%% The paper itself is rotated to landscape.
\paper {
  #(set-paper-size "letterlandscape")
}

Cheers,
David.



Re: Problems with lilypond-invoke-editor

2024-04-07 Thread David Wright
On Fri 05 Apr 2024 at 20:43:01 (-0600), Ben Bradshaw wrote:
> I've been using frescobaldi mostly because I like the point and click
> functionality. I just discovered today that you can configure that to work
> with other PDF viewers and editors, which I would like to do, since I keep
> trying to use emacs bindings inside frescobaldi
> Anyways, I thought that I had everything figured out. But when I try and
> click I get some stuff showing up in an emacs buffer.
> 
> Traceback (most recent call last):
>   File "/usr/local/bin/lilypond-invoke-editor", line 122, in 
> editor_commands = [list(map(replace_template, cmd)) for cmd in
> editor_commands]
> 
> ^
>   File "/usr/local/bin/lilypond-invoke-editor", line 122, in 
> editor_commands = [list(map(replace_template, cmd)) for cmd in
> editor_commands]
>
>   File "/usr/local/bin/lilypond-invoke-editor", line 79, in replace_template
> return template % {
>
> ValueError: unsupported format character ':' (0x3a) at index 25
> 
> Is this a problem with the program or my config? I'm using arch linux,
> herbstluftwm window manager (followed the settings for GNOME 3 to get a
> desktop entry, otherwise it would only launch firefox), zathura as PDF
> viewer, emacs as LYEDITOR.
> 
> Any help would be greatly appreciated so I can stop doing C-x C-s every
> time I want to save!

I'm not sure why you have /usr/local/bin/ occurring in your error
messages as I don't see any string "local/" on the page:

  https://archlinux.org/packages/extra/x86_64/lilypond/files/

Is there any possibility that you have multiple versions of LP
installed, and that one version is calling another?

BTW you can bisect the problem and test lilypond-invoke-editor
separately at the command line just by typing:

  $ lilypond-invoke-editor textedit://:LL:CC:CC

 is a .ly file, LL a line number, CC a column number
(actual numbers not important), as in:

  $ lilypond-invoke-editor textedit:///tmp/blue.ly:50:10:10

Either of:

  $ type  lilypond-invoke-editor
  $ which lilypond-invoke-editor

will tell you which executable is being run. But if your Gnome3
settings include a path for that executable, you obviously need
to test it with that path.

Cheers,
David.



Re: multipart choral music - disable barlines between staves when using GrandStaff within ChoirStaff

2024-03-23 Thread David Wright
On 2024-03-23 2:12 am, Eby Mani wrote:
> Two questions.
> 1, How do i set instrument names as per attached "example_1" picture.
> 
> 2, example_1 - How do i disable connecting barlines between staves when 
> using PianoStaff or GrandStaff within ChoirStaff.

You could also replace r1 with R1 in order to centre your
whole measure rests.

Cheers,
David.



Re: Help with some lyrics gymnastics

2024-01-13 Thread David Wright
On Sat 13 Jan 2024 at 08:25:32 (-0800), Matthew Fong wrote:
> Hello everyone,
> 
> I've done a few more things which might be described as hacking using
> \markup.
> 
> \tweak LyricText.self-alignment-X #-0.75
> \markup \center-column { \override #'(baseline-skip . 0.4) \line{ "lives
> and reigns" } \vspace #-0.6 \line { \draw-line #'(19 . 0) } \vspace #-0.1
> \line { "live and reign" }}
> 
> Could this be implemented via something like a TextSpanner? The horizontal
> line has some overhang, but too much and it start a staff on the next line.
> 
> Unfortunately, I cannot change just one portion of the vertical alignment
> using VerticalAxisGroup.nonstaff-relatedstaff-spacing.padding
> 
> Any help is appreciated. Attached is my latest MWE.

Sorry, but can you stop reposting the original with each iteration,
please; I now have three copies, and so does everybody else on this list.

Cheers,
David.



Re: Cut time/half-time/alle breve & 8/4 time

2024-01-11 Thread David Wright
On Thu 11 Jan 2024 at 20:11:54 (-0600), Stanton Sanderson wrote:
> 
> Thank you for the suggestion, but as stated previously, I’m trying to 
> reproduce the original from the Peters edition. The problem, as you point 
> out, is that the cut C is used in the original. Whether 8/4 or 4/2 (and I 
> agree that 4/2 is the most reasonable time signature), I was looking for a 
> way of declaring the cut C. 
> 
> The included photo is from the piece (# 67. Vater Unser in Himmelreich by 
> Johann Kyieger, from _80 Choral Preludes_, Edition Peters, No. 4440, 
> Copyright 1947). I think I purchased it some time around 1959. 

You can override the glyph, as attached.

Cheers,
David.
\paper { #(set-paper-size "a6") }
mus = { \time 4/2 a'1 a'2 f' g' a' f' e' }
\new Score {
  \new Staff {
\new Voice {
  \once\override Staff.TimeSignature.stencil = #ly:text-interface::print
  \once\override Staff.TimeSignature.text = \markup { \musicglyph "timesig.C22" }
  \mus
}
  }
}


42.pdf
Description: Adobe PDF document


Re: Help with Measure Numbers

2024-01-07 Thread David Wright
On Mon 08 Jan 2024 at 01:45:32 (+), Karen Billings wrote:
> I deleted the commented section, saved the file, and got the same behavior. I 
> used the file lilypond-8.22.1.mingw, downloaded on 8/8/21, to install 
> lilypond on this machine. Is that the correct install program?

I don't see that the program version matters. I've not noticed
any changes in this area for years.

> Ultimately, the solution was a combination of Kieren's and Mario's solutions:
> 1. Move "Bar_number_engraver" to layout block:
> 
> 
>     \context {
> 
>       \Score
> 
>       \consists "Bar_number_engraver"
> 
>       barNumberVisibility = #(every-nth-bar-number-visible 1)
> 
>       \override BarNumber.break-visibility = #end-of-line-invisible
> 
>     }
> 
> 
> 2. Replace contents of the \Score block with a BarNumber.break-visibility 
> statement
> 
>     \context {
> 
>       \Score
> 
>       \override BarNumber.break-visibility = ##(#f #t #f)
> 
>     }
> 
>   
> The odd thing is that the original "Bar_number_engraver" command worked fine 
> with a single staff.

So what you've got here is a context (1) to write barnumbers on the
first measure of each line, followed by a context (2) to write
barnumbers on all measures except the first. (It doesn't matter
where you place the barNumberVisibility.)

I would just write the single context:

  \context {
\Score
\override BarNumber.break-visibility = #end-of-line-invisible
barNumberVisibility = #all-bar-numbers-visible
  }

which is what Kieren suggested.

You could even put the following in a separate file, and just drop it
in with \include at the top of the file (like language, paper etc)
whenever you needed it to apply by default to all scores in the file.

  \layout {
\context {
  \Score
  \override BarNumber.break-visibility = #end-of-line-invisible
  barNumberVisibility = #all-bar-numbers-visible
}
  }

Cheers,
David.



Re: Help with Measure Numbers

2024-01-07 Thread David Wright
On Sun 07 Jan 2024 at 23:55:09 (+), Karen Billings wrote:
>  Thank you so much for the info, Kieren.
> I followed your instructions and moved the bar numbering block
>     \context {      \Score      \consists "Bar_number_engraver"      
> barNumberVisibility = #(every-nth-bar-number-visible 1)      \override 
> BarNumber.break-visibility = #end-of-line-invisible    }
> from the beginning of the score to the layout block, as in your example.
> Unfortunately, I now get two bar numbers on every measure (not just the first 
> one in each line)! (Is it already Monday?)
> 
> 
> Revised snipped attached.

I compiled the attachment you posted (Morning Wings (snippet2).ly)
and got an eight measure score with each measure numbered (once).
Perhaps you hadn't commented out the first half-dozen lines under
\score when you compiled it, viz:

  % Move measure numbering to layout section
  % \context PianoStaff \with {
  %\consists "Bar_number_engraver"
  %barNumberVisibility = #(every-nth-bar-number-visible 1)
  %\override BarNumber.break-visibility = #end-of-line-invisible
  %  }

Cheers,
David.



Re: Output PDF to stdout

2024-01-04 Thread David Wright
On Thu 04 Jan 2024 at 23:34:28 (+0100), Volodymyr Prokopyuk wrote:
> 
> I know that lilypond can receive a source.ly file from the stdin by
> using lilypond
> -. Is it possible for lilypond to output PDF to the stdout?
> 
> My motivation behind using lilypond in a pipeline is to speed up PDF
> generation by avoiding storing intermediary files on disk. The pipeline I'd
> like to implement is
> cat source.ly | lintLy | lilypond - | optimizePDF > score.pdf
> Currently lilypond engraves PDF on disk, so a PDF optimizer has to read,
> optimize, and substitute PDF on disk.

You could create a RAM disk to hold your intermediate files,
something along the lines of:

   Ramdir="/dev/shm/${FUNCNAME[0]}$(printf '%(%s)T' -1)"
 $ mkdir -p "$Ramdir"

The first line (which I run in a bash function, for a quite different
purpose) creates a pseudounique but recognizable name, and the second
line creates the directory.

Cheers,
David.



Re: automatically adds

2023-12-27 Thread David Wright
On Wed 27 Dec 2023 at 18:06:05 (+0100), Tobias Lawrenz wrote:
> 
> how can I turn off the automatically adds from notation elements, like the 
> time signature?
> Because I want to make the whole score by myself without automatically adds.

What functionality of LilyPond are you interested in retaining?
In other words, why not use a drafting program, like Inkscape,
or Adobe Illustrator?

Cheers,
David.



Re: text over hairpin

2023-12-13 Thread David Wright
On Wed 13 Dec 2023 at 09:54:41 (-0700), Paul Scott wrote:
> I should have changed my subject line to "text inside hairpin" before
> sending the original post.

Inside relative to what, though?

(Think roads. In both the UK and the US, the "inside lane"
is the one on the left, ie slow in the UK, fast in the US.)

Cheers,
David.



Re: ly:set-option png backend broken?

2023-12-10 Thread David Wright
On Sun 10 Dec 2023 at 17:24:46 (+), Stefano Antonelli wrote:
> On Sun, 2023-12-10 at 09:30 +0100, Jean Abou Samra wrote:
> > There is simply not "png" backend. The three available backends are
> > "ps" (generates PostScript, and PDF or PNG by conversion through
> > Ghostscript), "svg" (generates SVG only), and, in more recent
> > versions, "cairo" (generates PostScript, PDF, PNG or SVG through the
> > Cairo library).
> 
> I could have sworn I read that in the documentation, but it appears
> not.  I must have made it up late one night...  Apologies for the
> noise.
> 
> > Changing the backend is independent from changing the output format
> > since there can be multiple backends to produce the same format.
> 
> Is there any way to produce png output without --png in the command?

Postprocess with:

  $ convert a.pdf a.png
  $ gm convert a.pdf a.png

ie, convert is in imagemagick and graphicsmagick.

Cheers,
David.



Re: Unexpected bar boundaries with volta repeats and lyrics.

2023-12-09 Thread David Wright
On Sun 10 Dec 2023 at 08:14:32 (+1100), Kevin Pye wrote:
> On Sat, 9 Dec 2023, at 23:45, Michael Werner wrote:
> > On Fri, Dec 8, 2023 at 11:31 PM Kevin Pye  wrote:
> >> What silly mistake am I making here?
> > 
> > Not all that silly. Though the docs do talk about putting lyrics into the 
> > same repeat structure as the music, there's one detail in 
> > http://lilypond.org/doc/v2.25/Documentation/notation/lyrics-and-repeats 
> > that you may have missed:
> > 
> > "... when one of the `\alternative` blocks starts with a rest, a repeat 
> > construct cannot be used around the words"
> > 
> > Change the lyrics block to just
> > 
> > words = \lyricmode {
> > a b c d e 
> > }
> > 
> > and it should behave itself a bit better for you.
> 
> Unfortunately, in this case (the real score from which the example was 
> extracted) I need the words to be repeated so I can unfold them for midi 
> output. I'll just have to do the unfold manually.

FTR the full sentence is "But when the repeated section has different
words, or when one of the \alternative blocks starts with a rest,
a repeat construct cannot be used around the words and \skip commands
have to be inserted manually to skip over the notes in the alternative
sections which do not apply."

So you need a \skip4 for the crochet rest.

The next bit is tedious; you need to add the duration to each lyric
syllable, in a similar way to the notes.

Finally, you need to associate the voice and lyrics with a
\set associatedVoice command.

I've added a couple of notes to the MWE. Unfortunately it probably
shows that I'm not up-to-date on the new ways of typesetting repeats.
I've got some reading to do.

Adding durations to lyrics is not popular. By the time the NR treats
repeats in §2.1.2, manual syllable durations are a distant memory
back in §2.1.1, until they make a fleeting return with dialogue over
music in §2.1.6.

Cheers,
David.
\paper { #(set-paper-size "a6landscape") }

music = \relative {
  \time 4/4
  \repeat volta 2 {
c'1 |
\alternative {
  { d1 | }
  { | r4 e2 f4 | g1 }
}
a2 bes2
  }
  \bar "|."
}

words = \lyricmode {
  \set associatedVoice = vvv
  \repeat volta 2 {
C1
\alternative {
  { D1 }
  { \skip4 E2 F4 G1 }
}
A2 B♭2
  }
}

\score {
  \new Staff <<
\new Voice = vvv \music
\new Lyrics \words
  >>
  \layout { }
  \midi { \tempo 4=120 }
}

\score {
  \unfoldRepeats
  \new Staff <<
\new Voice = vvv \music
\new Lyrics \words
  >>
  \layout { }
  \midi { \tempo 4=120 }
}


rpt-alt.pdf
Description: Adobe PDF document


rpt-alt.midi
Description: Binary data


rpt-alt-1.midi
Description: Binary data


Inline attachments Re: Slur within a slur?

2023-12-03 Thread David Wright
On Sun 03 Dec 2023 at 06:05:31 (-0800), Knute Snortum wrote:
> 
> Ah, yes, I see it now!  There is some problem between your email reader to
> mine where I don't see inline attachments. So I only saw:
> 
> "gives me
> 
> 
> and a bar check warning."
> 
> Which I wrongly interpreted as "gives me a bar check warning."

The problem must be on your side, unless you're subscribed to the
text-only version of the digest that comes with no attachments.
If your MUA doesn't display the image inline, you should be able
to display or save it just like any normal attachment.

Those reading the text-only digest should see:

  gives me

  -- next part --
  A non-text attachment was scrubbed...
  Name: xxx.preview.png
  Type: image/png
  Size: 7971 bytes
  Desc: not available
  URL: 

  -- next part --

  and a bar check warning.

Unfortunately, that URL might not work:

  $ wget 
https://lists.gnu.org/archive/html/lilypond-user/attachments/20231202/6237e5d4/attachment.png
  --2023-12-03 09:20:47--  
https://lists.gnu.org/archive/html/lilypond-user/attachments/20231202/6237e5d4/attachment.png
  Resolving lists.gnu.org (lists.gnu.org)... 209.51.188.17, 2001:470:142::17
  Connecting to lists.gnu.org (lists.gnu.org)|209.51.188.17|:443... connected.
  HTTP request sent, awaiting response... 404 Not Found
  2023-12-03 09:20:48 ERROR 404: Not Found.
  $ 

just as it didn't in 2019:

  https://lists.gnu.org/archive/html/lilypond-user/2019-07/msg00208.html

or 2016 (report attached to that post).

Cheers,
David.



Re: Books with alternative lyrics minimizing code duplication?

2023-11-24 Thread David Wright
On Fri 24 Nov 2023 at 16:23:52 (+0200), YTG 123 wrote:
> 
> I have alternative versions of lyrics text, which I would like to
> export in different files (or \book blocks). The music, order of
> staves, etc. is identical.
> 
> Ideally, I would want to do this as cleanly and with as little code
> duplication as possible.

Perhaps an easy way to do this is as in the attached files.

Place all the lyrics for one version in one file (o-sing.ily),
using different variable names for all the different sections,
books etc in the piece. (I've just used the voice names for brevity.)

Now write a corresponding file (sing-ye.ily) with the alternative
lyrics, but using all the same corresponding variable names.

Merely include the appropriate lyrics filename in the master file
to produce the appropriate output file(s).

This method uses one simple modification of the master file to
change all the lyrics in all the output files (by removing the
%% in my master file example).

If even that amount of modification of source files is not possible,
then you can instead use the same filename for the two versions
of the lyrics, but place them in two different directories (and
also a different directory from the master file). Then select
which lyrics file is included in the run by using an appropriate
--include= in the LilyPond command line.

Cheers,
David.
sopranotext = \lyricmode {
  O sing joy -- ful -- ly,
}
altotext = \lyricmode {
  O sing joy -- ful -- ly,
}
tenortext = \lyricmode {
  O sing joy -- ful -- ly,
}
basstext = \lyricmode {
  O sing joy -- ful -- ly,
}
sopranotext = \lyricmode {
  Sing ye joy -- ful -- ly,
}
altotext = \lyricmode {
  Sing ye joy -- ful -- ly,
}
tenortext = \lyricmode {
  Sing ye joy -- ful -- ly,
}
basstext = \lyricmode {
  Sing ye joy -- ful -- ly,
}
\language english
\include "o-sing.ily"
%%\include "sing-ye.ily"

global = {
  \key af \major
  \time 3/4
  s2. * 2
}
soprano = \relative {
  af'2 af4
  af4. af8 af4
}
alto = \relative {
  ef'2 ef4
  f4. f8 ef4
}
tenor = \relative {
  c'2 c4
  df4. df8 ef4
}
bass = \relative {
  af2 af4
  df,4. df8 c4
}

\book {
  \bookOutputSuffix "choir"
  \score {
\new ChoirStaff <<
  \new Staff <<
\clef treble \global
\new Voice { \soprano }
\addlyrics { \sopranotext }
  >>
  \new Staff <<
\clef treble \global
\new Voice { \alto }
\addlyrics { \altotext }
  >>
  \new Staff <<
\clef "treble_8" \global
\new Voice { \tenor }
\addlyrics { \tenortext }
  >>
  \new Staff <<
\clef bass \global
\new Voice { \bass }
\addlyrics { \basstext }
  >>
>>
\layout { }
  }
}

\book {
  \bookOutputSuffix "piano"
  \score {
\new PianoStaff <<
  \new Staff = up <<
\clef treble \global
\new Voice { \voiceOne \soprano }
\addlyrics \with { alignAboveContext = up } { \sopranotext }
\new Voice { \voiceTwo \alto }
  >>
  \new Staff <<
\clef bass \global
\new Voice { \voiceOne \tenor }
\new Voice { \voiceTwo \bass }
\addlyrics { \basstext }
  >>
>>
\layout { }
  }
}


Re: What's causing this extra bar line and empty bar?

2023-11-20 Thread David Wright
On Mon 20 Nov 2023 at 00:23:45 (+), Robert Hickman wrote:
> Good point. I'm using 2.18.2 which is what's in the repo for debian 10.

On Mon 20 Nov 2023 at 00:43:59 (+), Robert Hickman wrote:
> Updating to the latest version fixed the issue, and also the unwanted
> extra space. Problem was just Debian shipping a very old version for
> some reason.

LilyPond 2.18.2 had a very long lifetime as 'stable', lasting nearly
six years from 2014-03-17. Debian included it in three releases,
8 (jessie), 9 (stretch), and 10 (buster), which was released
2019-07-06. As LilyPond 2.18.2's successor, 2.20.0, was released
2020-03-01, there's no possibility that Debian 10 could include it.

The current, stable Debian, 12 (bookworm), was released 2023-06-10,
and it includes LP version 2.24.1 (released 2023-02-12), but missed
out on 2.24.2 (2023-08-12) and, of course, 2.24.3 (yesterday).

As you're running Debian 10, note that it hasn't had any security
updates from Debian itself for over a year (since 2022-06-30).
It's up to the companies and volunteers providing Long Term Support
(LTS, until 2024-06-30) as to which packages they care to maintain.

Cheers,
David.



Re: Emacs Mode Problem with includes

2023-11-13 Thread David Wright
On Tue 14 Nov 2023 at 07:04:39 (+1100), Laurie Savage wrote:
> Thanks, I should have spotted that.

So presumably the "cannot find file" error went away when you
corrected the full path "/home/Laurie/Lilypond/includes/jazzchords.ily"
but how about when you type only:

  \include "jazzchords.ily"

Does that also work?

> But I'm not sure why this setting
> hasn't been picked up by Emacs lilypond mode:
> 
>  Lilypond Include Path: String: /home/laurie/Lilypond/includes
> State : SAVED and set.
> LilyPond include path.
> Groups: Lilypond
> 
> I don't want to type the full file path everytime I use one of my includes.

That looks like something to do with Frescobaldi; is that so?
I'm not clear on how emacs would parse a .ily file that you
included (as opposed to reading it into a buffer for you to edit).

> > On Mon, Nov 13, 2023 at 02:45:26PM +1100, Laurie Savage wrote:
> > >I set this in my ~/.emacs file
> > >(custom-set-variables
> > > '(LilyPond-include-path "/home/laurie/Lilypond/includes")
> > > '(LilyPond-lilypond-command "/usr/bin/lilypond"))

Where did you find that documented? It doesn't look like the way
I include files in emacs. I use the standard ones included in the
LilyPond archive, by means of the lines displayed here:

  $ grep lily ~/.emacs
  (add-to-list 'load-path "~/.emacs.d/lilypond-init")
  (load-library "lilypond-init")
  $ 

  $ ls -Glg ~/.emacs.d/lilypond-init ~/.emacs.d/lilypond-init/
  lrwxrwxrwx 1   62 Nov 13 18:28 /home/myself/.emacs.d/lilypond-init -> 
/home/myself/lilypond-2.24.0-linux-x86_64/share/emacs/site-lisp

  /home/myself/.emacs.d/lilypond-init/:
  total 140
  -rw-r- 1 10492 Dec 13  2022 lilypond-font-lock.el
  -rw-r- 1 22500 Dec 13  2022 lilypond-indent.el
  -rw-r- 1  1015 Dec 13  2022 lilypond-init.el
  -rw-r- 1 43307 Dec 13  2022 lilypond-mode.el
  -rw-r- 1 20754 Dec 13  2022 lilypond-song.el
  -rw-r- 1  8988 Dec 13  2022 lilypond-what-beat.el
  -rw-r- 1 16402 Dec 13  2022 lilypond-words.el
  $ 

(Symlink refreshed at login to point to the most up-to-date version.)

Failing to find a load-library in the load-path provokes this error
from emacs:

  File is missing: Cannot open load file, No such file or directory, 
lilyPond-init

whereas your error message below was from LilyPond:

> > > /home/laurie/Doc…Traditional.ly:3:10: error: cannot find file:
> > > `/home/Laurie/Lilypond/includes/jazzchords.ily'
> > > (search path: `/home/laurie/Documents/Charts/Trans… …

Cheers,
David.



Re: skip of defined length in lyrics?

2023-10-17 Thread David Wright
On Sun 15 Oct 2023 at 15:07:52 (+0100), Graham King wrote:
> Note to self, since this thread has risen to the status of
> documentation for me:  Valentin's method is sensitive to slurs in the
> instrumental line (I suspect that the end of a slur is equivalent to
> \unset melismaBusy), so some adjustment may be necessary.
  [ … … ]
> It also, understandably, gives weird results if applied immediately
> after a rest, so this does not work:
  [ … … ]

It strikes me that trying to keep the notes in one continuous voice
is what makes things complicated, judging by the snippets you've
posted. Why not just put the verse and full sections in separate
voices, and combine them on the staff. I've massacred a bit of Boyce
as an example, attached.

If I needed MIDI files, I would separate each and every section
(ie, the two voice sections in this fragment), so that they could
all be concatenated in the right order for the MIDI.

Cheers,
David.
\version "2.24.0"
\language "english"
\paper {
  #(set-paper-size "a5landscape")
  print-page-number = ##f
}
#(set-global-staff-size 18)
\header { tagline = ##f }

global = {
  \key bf \major
  \time 3/2
  s1. * 4
  \bar "||"
  s1. * 4
  \bar "||"
  s1. * 4
  \bar "|."
}

sopranov = \relative {
  bf'2 bf1
  a1 bf2
  r2 a1
  bf1.
  s1. * 4
  bf2 bf1
  a1 bf2
  r2 a1
  bf1.
}

soprano = \relative {
  s1. * 4
  a'2 a2 a2
  bf4.( c8) bf2 bf2
  g2 g4. a8 g2
  a2 a2 r2
  s1. * 4
}

altov = \relative {
  g'1 f2
  f1 f2
  r2 f4( c2 d8 ef8)
  d1.
  s1. * 4
  g1 f2
  f1 f2
  r2 f4( c2 d8 ef8)
  d1.
}

alto = \relative {
  s1. * 4
  f'2 f2 f2
  g4.( a8) g2 g2
  e2 e4. f8 e2
  f2 f2 r2
  s1. * 4
}

tenorv = \relative {
  d'2 d1
  c1 d2
  r2 f,1
  f1.
  s1. * 4
  d'2 d1
  c1 d2
  r2 f,1
  f1.
}

tenor = \relative {
  s1. * 4
  d'2 d2 d2
  d2 d2 d2
  c2 c4. c8 c2
  c2 c2 r2
  s1. * 4
}

bassv = \relative {
  g4.( f8 g4. a8) bf2
  f1 bf2
  r2 f1
  bf,1.
  s1. * 4
  g'4.( f8 g4. a8) bf2
  f1 bf2
  r2 f1
  bf,1.
}

bass = \relative {
  s1. * 4
  d'2 d2 d2
  g,2 g2 g2
  c2 c4. c8 c2
  f,2 f2 r2
  s1. * 4
}

texts = \lyricmode {
  Hal -- le -- lu -- jah,
  A -- men.
  Hal -- le -- lu -- jah,
  A -- men.
}

\score {
  \new ChoirStaff <<
\new Staff <<
  \clef treble \global
  \new Voice { \sopranov }
  \addlyrics { \texts }
  \new Voice { \soprano }
>>
\new Staff <<
  \clef treble \global
  \new Voice { \altov }
  \addlyrics { \texts }
  \new Voice { \alto }
>>
\new Staff <<
  \clef "treble_8" \global
  \new Voice { \tenorv }
  \addlyrics { \texts }
  \new Voice { \tenor }
>>
\new Staff <<
  \clef bass \global
  \new Voice { \bassv }
  \addlyrics { \texts }
  \new Voice { \bass }
>>
  >>
  \layout { }
}

\score {
  \new ChoirStaff <<
\new Staff = "top" \with { \consists Merge_rests_engraver } <<
  \clef treble \global
  \new Voice = "soprano" { \voiceOne \sopranov }
  \addlyrics \with { alignAboveContext = "top" } { \texts }
  \new Voice { \voiceOne \soprano }
  \new Voice { \voiceTwo \altov }
  \addlyrics { \texts }
  \new Voice { \voiceTwo \alto }
>>
\new Staff = "bottom" \with { \consists Merge_rests_engraver } <<
  \clef bass \global
  \new Voice { \voiceOne \tenorv }
  \addlyrics \with { alignAboveContext = "bottom" } { \texts }
  \new Voice { \voiceOne \tenor }
  \new Voice { \voiceTwo \bassv }
  \addlyrics { \texts }
  \new Voice { \voiceTwo \bass }
>>
  >>
  \layout { }
}


verse-anthem.pdf
Description: Adobe PDF document


Re: Still failing to operate lilypond 2.20.0 64-bit version.

2023-10-05 Thread David Wright
On Thu 05 Oct 2023 at 23:12:44 (+0200), Jean Abou Samra wrote:
> > Le 5 oct. 2023 à 22:39, Ian West  a écrit :
> > Dear David (copied to Jean, and Paul,)
> > You are very kind. I shall give it a go. But I think you will have to 
> > agree that this is some 5 orders (***) of magnitude more complex than 
> > versions: 2.12.3, 2.18.2-1, and 2.20.0. I never would have got into 
> > Lilypond were I starting from here.
> > 
> > But you raise another problem; arm64 or x86_64? I read elsewhere "An 
> > Apple M1 or M2 processor is also sometimes referred to by the architecture 
> > name of aarch64 or arm64." Or maybe it does not matter. 
> 
> Even for Apple Silicon (M1/M2, aka arm64, aka aarch64), the official 
> downloads from lilypond.org are built for x86_64. They can still run on Apple 
> Silicon thanks to the automatic emulation that is done by the system.
> 
> Consequently, when you follow the official installation procedure, you do 
> *not* have to choose between x86_64 and arm64 since the only choice is x86_64.
> 
> (Providing native arm64 executables officially would be nice, since these 
> could be faster on Apple Silicon than x86_64 emulation, but the machine we 
> currently use for macOS releases is x86_64.)

Perhaps that might be made clearer in the macOS section of
https://lilypond.org/doc/v2.25/Documentation/web/download .

> > Following the MacPorts route,
> 
> But why do you want to follow the MacPorts route now?
> You are not solving problems here, only creating problems.
> MacPorts is great for terminal aficionados. If you are not such a person, 
> stay away from it.

Perhaps because I wrote about it. (The OP's original reference was
very much in passing.)

The reference above mentions "For older macOS versions, please use
MacPorts", but LM §1.4 doesn't make that distinction.

> When you go to https://lilypond.org/download.html , it says "macOS". I only 
> mentioned the meaning of "darwin" because you went looking into the 
> **previous** download website (that for LilyPond before 2.23.6), which used 
> this terminology.

Again, it might be made clearer in §1.3 that not only does "“darwin”
means it’s for macOS", but that software named …x86_64… also runs on
the arm64 architecture in macOS.

> For what it's worth, I have recently implemented auto-installation of 
> LilyPond in Frescobaldi.
> 
> This means that after the next Frescobaldi release (hopefully soonish) the 
> procedure will look more like "download the Frescobaldi .app and double-click 
> to open, get a screen proposing to install LilyPond, click OK, done".
> 
> That's about as close to easy you can get without reintroducing all the 
> technical problems linked with the old "LilyPond.app" packaging.

When you reverse the order of downloads in §1.3, it could become even
less clear what the best way is to install just LP on a Mac. Would it
be worth expanding the first two paragraphs of §1.4 a little, or is it
really not recommended to run LP without Frescobaldi?

Cheers,
David.



Re: Still failing to operate lilypond 2.20.0 64-bit version.

2023-10-05 Thread David Wright
On Thu 05 Oct 2023 at 19:43:27 (+0200), Jean Abou Samra wrote:
> > Le 5 oct. 2023 à 17:36, David Wright a écrit :
> > 
> > Is this the way you should be going?
> 
> No, it's not going to give him the GUI that he regrets.

I'm sorry—perhaps I attached too much significance to the OP's
"I do not want to use Frescobaldi." If a GUI is required,
I would have thought a Mac editor could supply that, and
drag-and-drop could run LP on the file that's dropped onto it.

But regardless of the OP's target, maybe that type of instruction
sequence be useful to a Mac user who didn't want a GUI? The
ones given in LM §§1.1–1.3 seem very tied to Frescobaldi, and I'm
uncertain of the relationship between the macOS section of
https://lilypond.org/doc/v2.25/Documentation/web/download and
the first two paragraphs of LM §1.4.

Cheers,
David.



Re: Still failing to operate lilypond 2.20.0 64-bit version.

2023-10-05 Thread David Wright
On Thu 05 Oct 2023 at 14:49:41 (+0100), Ian West wrote:
> Dear Lilypond team, continuing from 1 Sept 17:43hrs. (similar problems to 
> Mark Stephen Mrotek though he is Windows.)
> 
>   I successfully used version 2.20.0 on my MacBook Air M2 2022, macOS 
> 13.4.1 from August 2022 till July 2023. Now I cannot, and I have failed (for 
> a month) to overcome the problem. I presumed it hit a bug, or developed a 
> mutation. I deleated it and tried to re-extracte the zip. 
> 
>   I want to use my current MacBook Air M2 2022, macOS 13.4.1. I picked up 
> the idea somewhere that the 64-bit M2 processor requires a certain version of 
> lilypond, but I find that hard to confirm on the web. ? Is it true?
>   
>   I have been using various versions of lilipond for 13 years (versions: 
> 2.12.3, 2.18.2-1, 2.20.0, and now 2.24.1). 
> I do not want to use Frescobaldi.  When I unzip 2.24.1 I find it does not 
> contain a simple exe file with lilypond icon. It looks as though the package 
> is designed to work with Frescobaldi and not on its own. Is that true. I do 
> not want to use Frescobaldi. Are there instructions for using 2.24 WITHOUT 
> Frescobaldi. 
> 
> I re-extracting the lilypond-2.20.0-darwin-64.tar that I downloaded last 
> year. That gave an error signal.
> I downloaded lilypond-2.20.0-1.darwin-x86.tar.bz2, from Index of 
> /download/binaries/darwin-x86 
>  to see if that 
> worked as my previous build 20200311175017. It did not. Perhaps because it is 
> for Windows, while I am macOS. There was a 'Stop' sign (white anulus and bar) 
> over the icon and does not work. Should this be explained? 
> 
> Last year I downloaded MacPorts-2.7.2-12-Moneteray.pkg, but I have no idea 
> why, nor what it does, nor if I used it. 

I pretended I was a Mac user wanting to use just LP. I clicked through:

  https://lilypond.org/doc/v2.25/Documentation/web/manuals.html
  https://lilypond.org/doc/v2.25/Documentation/learning/installing
  https://lilypond.org/doc/v2.25/Documentation/learning/command-line-setup

and picked MacPorts as you'd mentioned it.

  https://www.macports.org/

"thousands of ports":

  https://ports.macports.org/

typed lilypond in the box:

  https://ports.macports.org/port/lilypond

It says:
 "To install lilypond, paste this in macOS terminal after installing MacPorts
  sudo port install lilypond"
where MacPorts is a link to:

  https://www.macports.org/install.php

which presumably isn't going to work for Linux.
That page has a "More instructions" button, and a Details link to:

  https://ports.macports.org/port/lilypond/details/

This last page shows a list of OSes including two Ventura items,
arm64 and x86_64, and that's the OS you say you're running (unlike
Monterey, which comes next in the list).

Is this the way you should be going? If so, you might want to
detail what you click, press, etc, the address of any files you
download, how you unpacked them, where you put them, and when you
run them:

  the directory you're in,
  the directory the program is in,
  the directory the .ly file is in,
  you $PATH at the time,
  a pasted copy of the command and its output from the terminal.

Cheers,
David.



Re: Initial rests in MIDI not included?

2023-09-27 Thread David Wright
On Wed 27 Sep 2023 at 10:22:04 (+0200), David Kastrup wrote:
> David Wright writes:
> > On Wed 27 Sep 2023 at 01:13:09 (+0200), Jean Abou Samra wrote:
> >> After replacing “ ... ” with “ c' ”, I got the expected MIDI output with
> >> LilyPond 2.24.2, i.e., lots of silence and four C notes at the end.
> >
> > I did the same, and I attach a screenshot of audacious playing the
> > file, called mid.midi. The little white blip above the Play button
> > is the equaliser graph displaying the first c' at 2 min 40 sec of
> > playing time. (Yawn.)
> >
> > I also attach a screenshot of timidity playing the same file. Notice
> > the length of the file: 4 seconds; and that's how long it plays for.
> 
> That's all circumstantial evidence.  Nobody so far has actually attached
> the resulting MIDI file and/or the output of
> 
> lilymidi --pretty
> 
> on it.  That would be way more informative.

I dashed off my first reply before I dashed off to choir practice,
just to give a (correct, as it turned out) hint to the OP to try
playing the file with a different player. I didn't really look at
the code as it involved repeats, and I know they've been changed
in some way, which I haven't yet read up on.

When I got back, I saw only Jean's reply, which still didn't mention
how the file was being played, so I thought I'd give examples that
showed the contrasting behaviour between two different players.

Yes, like lilymidi --pretty, the evidence that there was silence
at the beginning of the file is circumstantial, necessitating that
the OP believed I sat through the 160 seconds of silence before
any notes were played.

BTW where is the output of lilymidi documented?

Cheers,
David.



Re: Initial rests in MIDI not included?

2023-09-26 Thread David Wright
On Wed 27 Sep 2023 at 01:13:09 (+0200), Jean Abou Samra wrote:
> After replacing “ ... ” with “ c' ”, I got the expected MIDI output with
> LilyPond 2.24.2, i.e., lots of silence and four C notes at the end.

I did the same, and I attach a screenshot of audacious playing the
file, called mid.midi. The little white blip above the Play button
is the equaliser graph displaying the first c' at 2 min 40 sec of
playing time. (Yawn.)

I also attach a screenshot of timidity playing the same file. Notice
the length of the file: 4 seconds; and that's how long it plays for.

Cheers,
David.


Re: Initial rests in MIDI not included?

2023-09-26 Thread David Wright
On Tue 26 Sep 2023 at 18:52:52 (-0400), Kevin Cole wrote:
> Once again, I'm flummoxed by some syntax problem... I was hoping for 40
> measures of silence, as I plan to mix it with other parts, and want to be
> able to mute parts interactively. However the following doesn't give me 40
> measures of silence, but starts right in on PartTwo. What have I missed
> THIS time?
> 
> %%%
> \version "2.24.2"
> 
> PartTwo = \relative a { ... }
> 
> \score {
>   \unfoldRepeats {
> \new Voice = "PartTwo" {
>   R1*32 R1*8
>   \repeat unfold 4 {
> \transpose c c'  { \PartTwo }
>   }
> }
>   }
> 
>   \midi { }
> }
> %%%

Is it possible your player is set to skip leading/trailing silence,
which is quite usual.

Cheers,
David.



Re: Standalone lyrics part

2023-08-29 Thread David Wright
On Tue 29 Aug 2023 at 18:00:47 (-0400), Pierre-Luc Gauthier wrote:
> Le mar. 29 août 2023, à 17 h 33, Carl Sorensen a écrit :
> > On Tue, Aug 29, 2023 at 3:12 PM Pierre-Luc Gauthier wrote:
> >>
> >> I need some standalone rhythmically correct lyrics that I place around
> >> scores. Devnull seems perfect since it does not create a Staff. Yet,
> >> ties and slurs are not taken into account when placing otherwise
> >> correct lyrics. Why?

Internals Reference says:

 "2.1.6 Devnull
  Silently discards all musical information given to this context."

so I'm guessing all that's left is the note columns.

> >> Take the following MnWE.
> >>
> >> music = { c'4(~ 2) d'4 }
> >>
> >> words = \lyricmode { a b c }
> >>
> >> <<
> >>   \new Staff \new Voice = "1" \music
> >>   \new Lyrics \lyricsto "1" \words
> >>   \new Devnull = "2" \music
> >>   \new Lyrics \lyricsto "2" \words
> >> >>
> >>
> > Use NullVoice instead of Devnull.
> 
> But, doesn't NullVoice create a Staff ?
> I am trying to set the lyrics to float in between some random parts.
> 
> music = { c'4(~ 2) d'4 }
> 
> words = \lyricmode { a b c }
> 
> <<
>   \new Staff <<
> \new Voice = "1" \music
> \new Lyrics \lyricsto "1" \words
>   >>
>   << % said null part
> \new NullVoice = "2" \music
> \new Lyrics \lyricsto "2" \words
>   >>
> >>

I assume that "standalone" and "float" mean that the position on the
x-axis is constrained by the staff above, but not on the y-axis.
So you could try:

music = { c'4(~ 2) d'4 }
words = \lyricmode { a b c }

<<
  \new Staff <<
\new Voice = "1" \music
\new Lyrics \lyricsto "1" \words
  >>
  \new Lyrics \lyricsto "1" { \once \override LyricText.font-size = #-19 ‧ }
  \new Lyrics \lyricsto "1" { \once \override LyricText.font-size = #-19 ‧ }
  \new Lyrics \lyricsto "1" { this floats }
  \new Lyrics \lyricsto "1" { \once \override LyricText.font-size = #-19 ‧ }
  \new Lyrics \lyricsto "1" { \once \override LyricText.font-size = #-19 ‧ }
>>

\new Staff <<
  \new Voice { c'2 d' e' f' }
  \addlyrics { next score comes here }
>>

I've cheated with the y-axis spacing; there are better ways I'm sure.
But I'm not really sure what you're after exactly.

Cheers,
David.



Re: vertically center rests in polyphonic voices

2023-08-10 Thread David Wright
On Thu 10 Aug 2023 at 20:27:39 (-0400), Jin Choi wrote:
> I’m transcribing some piano music where it is helpful to use \voiceOne and 
> \voiceTwo for some extended polyphonic sections. When I come across shared 
> rests, I’ve been putting in rests in one voice and invisible rests in the 
> other voice. But rests in voices are vertically offset from the center 
> depending on which voice is in use:
> 
> \version "2.24.1"
> 
> upper = \relative c'' {
>   \new Voice {
> \voiceOne c4 r4 c4 r4
>   }
>   \new Voice {
> \voiceTwo c4 r4 c4 r4
>   }
> }
> \new Staff = "upper" \upper
> 
> 
> I can fix that by exiting the voice context and going to \oneVoice for the 
> rests, but is there an easier way just to have the rest vertically centered?

Take a look at:

  https://lilypond.org/doc/v2.25/Documentation/notation/merging-rests

which is something I haven't yet tried out. I assume this supercedes
snippet 336 and corrected versions thereof.

Cheers,
David.



Re: Doubling a note makes MIDI output louder

2023-07-09 Thread David Wright
On Sun 09 Jul 2023 at 10:53:58 (-0400), msk...@ansuz.sooke.bc.ca wrote:
> On Sun, 9 Jul 2023, David Wright wrote:
> 
> > players. But that's the problem here. When two real voices happen on
> > the same note, the result doesn't sound like one louder voice, yet
> > that's the effect you get from MIDI,¹ where the "two" voices are
> 
> Not on *my* MIDI synthesizer.  Two notes are two notes!  I'm inclined to
> be concerned by this because I do a lot of doubling of notes between
> different MIDI channels.  Each channel plays on a different patch, or in a
> separate monophonic recording run on the same patch, and a doubled note is
> quite different from a louder note.

That may explain why you asked whether it was a problem. It is,
but perhaps only with certain devices (like the poor snipped PCs).
Even there, it could depend on the specific software involved.

> If LilyPond were to start automatically deleting notes because someone
> think's it's a bug for unisons to exist between MIDI tracks, it would make
> the pile of workarounds I already need to use to get decent MIDI out of
> LilyPond, that much worse.

That's your terminology, not mine. I have no idea what LP's actions
are when two voices play the same note, partcombined or not, nor
how difficult it would be to make LP automatically delete particular
notes upon instructions to do so.

If the problem was of sufficient importance to me, I'd attack it
in a completely different way, by postprocessing the MIDI output.

Cheers,
David.



Re: Doubling a note makes MIDI output louder

2023-07-09 Thread David Wright
On Sun 09 Jul 2023 at 09:57:23 (-0400), msk...@ansuz.sooke.bc.ca wrote:
> On Sun, 9 Jul 2023, Knute Snortum wrote:
> 
> > I'm not sure exactly how one would deal with this problem, other than with
> > tags.  Maybe \parenthesize could not produce MIDI output?  Or is there a way
> 
> Is that a problem?  If these are two notes in different MIDI channels,
> then the MIDI output is just reflecting what you wrote - two notes played
> at once that happen to be the same pitch - and deleting one would be
> incorrect.  If the MIDI output is really just a single "louder" note (what
> does that mean - higher velocity?) then it implies some deliberate
> detection of this case within LilyPond, which might reasonably be
> adjustable.

Back in the 1960s, I remember seeing an article pinned up in the
school music room (no social media back then) about making orchestras
more efficient. Instead of a dozen first violins, just amplify a
single player instead; the same across the strings alone could
drastically cut costs (wages, travel, stage size, etc).

Of course, it was just a joke, and everyone knows that one player
amplified does not sound anything like an ensemble of a dozen
players. But that's the problem here. When two real voices happen on
the same note, the result doesn't sound like one louder voice, yet
that's the effect you get from MIDI,¹ where the "two" voices are
being generated from the same source.

¹ My experience is limited to MIDI voices being mixed by PCs,
  not specialist equipment.

Cheers,
David.



Re: N.C. No Chord poll

2023-05-19 Thread David Wright
On Fri 19 May 2023 at 22:35:04 (-0400), David Olson wrote:
>  
> 
> 
> the default setting for LilyPond chord engraving is: whenever there is a 
> rest, to display "N.C." 
> Iteration after iteration, this default setting has persisted in all the 
> versions of Lilypond I have ever used. 
> 
> Having always found this bizarre, I'm wondering now what other's think. 
> 
> 1. How many Lilyponders think that "N.C." is elegant? 
> 
> 2. How many guitar teachers instruct their students to keep strumming when 
> they see a rest? 
> 
> 3. In what genres is it normative for guitars to continue strumming through 
> every rest? 
> 
> 4. If genres exist where it is normative for guitar players to strum 
> throughout a rest, in these genres is it also normative for the other 
> musicians to sustain or fiddle throughout a rest? 
> 
> 
> MORE SPECIFICALLY, the  page has a section: 
> 
> Customizing the no-chord symbol 
> By default, rests in a ChordNames context cause the “N.C.” symbol to be 
> printed. This markup can be customized. 
> 
> • Two options are given for customization: a bar over the rest, and the text 
> "Ssh!" 
> 
> 5. Has anyone ever seen sheet music that uses the convention "Ssh!" over a 
> rest? 
> 
> 6. Has anyone ever seen sheet music that places a bar over the rest? 
> 
> 7. The decision with every LilyPond iteration not to allow a third option, 
> namely, normative blank over the rest, i.e. suppress the "N.C." gimmick -- 
> what are the reasons which LilyPond insiders have found so persuasive over 
> the years? 
> 
> 8. How many people feel that LilyPond is being clueless when it comes to 
> making "N.C." the default setting? 
> 
> 9. How many people feel frustrated that the  page does not 
> contain any information, or links to information, on suppressing the "N.C." 
> symbol? 
> 
> NOTE THAT 
> 
> 
> \set noChordSymbol = "" 
> \set noChordSymbol = " " 
> 
> still results in "N.C." being engraved. 
> 
> Even in songs for children, I've never seen "Shh!" appear above a rest in the 
> chords line. Has anybody? 
> 
> Why is this helpful? 
> 
> If the intention is not to be helpful, but cute, then it's an insult to 
> anyone who wants to suppress the "N.C." 
> 
> How can it be otherwise? 

Try   \set noChordSymbol = ##f

Cheers,
David.



Re: /usr/local/lilypond/usr/bin/lilypond: not found

2023-04-11 Thread David Wright
On Tue 11 Apr 2023 at 17:04:07 (-0700), JD Margulici wrote:
> Hello, I am running the following commands to install Lilypond on Alpine
> Linux:
> 
> wget https://lilypond.org/download/binaries/linux-64/$LILYPOND_INSTALLER
> sh $LILYPOND_INSTALLER
> 
> with LILYPOND_INSTALLER set to lilypond-2.23.6-1.linux-64.sh

… (a 64-bit version).

> The installation proceeds without glitches. However when I try to run
> Lilypond I get the following error message, which in spite of its apparent
> simplicity is rather cryptic since the file that is not found actually
> exists:
> 
> /usr/local/bin/lilypond: exec: line 4:
> /usr/local/lilypond/usr/bin/lilypond: not found
> 
> Similar error with lilypond-book:
> 
> /usr/local/bin/lilypond-book: exec: line 6:
> /usr/local/lilypond/usr/bin/python3: not found
> 
> I found a 15-year old post that reports the same error, but the
> resolution was not clear:
> https://lists.gnu.org/archive/html/lilypond-user/2009-01/msg00725.html

Reading that post and its OP, it looks as if they installed a 32-bit
version on a 64-bit OS. Can you check that you're not doing the opposite?

My machine:

$ uname -a
Linux axis 5.10.0-21-amd64 #1 SMP Debian 5.10.162-1 (2023-01-21) x86_64 
GNU/Linux
$ 
 ↑   ↑↑

Apropos the version that you're installing, 2.23.6. That's the last
version of LP that comes as an insaller. More recent versions come
as an archive which you just unpack somewhere. Does this change
have anything to do with why you're running this old and otherwise
unnotable version?

Cheers,
David.



Re: bookOutputName still gets "-1" suffix added to SVG file names

2023-03-30 Thread David Wright
On Thu 30 Mar 2023 at 07:57:23 (+0200), Jean Abou Samra wrote:
> Le mercredi 29 mars 2023 à 22:56 -0600, Jeff Olson a écrit :
> > I've got to generate a thousand+ cropped SVG files with specified file 
> > names  
> > from one lilypond compilation, so I'm wrapping each score in a \book with  
> > its own \bookOutputName as in this MWE:

> > But the SVG files all have the extra -1 suffix as though there were 
> > additional  
> > files from the same book that would collide:
> > 
> >    32 -rwxrwxrwx+ 1 J None   32199 Mar 29 22:25  Foo-1.svg*  
> >    32 -rwxrwxrwx+ 1 J None   32190 Mar 29 22:25  Abc-1.svg*  
> >    32 -rwxrwxrwx+ 1 J None   32231 Mar 29 22:25  Bar-1.svg*

That looks like a linux platform.

> > My MIDI files don't have this problem since they only add a suffix on  
> > **subsequent** files with the same base name, and there's only one per book.
> > 
> > These "-1" suffices are messing with my URLs for the SVG files,  
> > so I'd appreciate any ideas on how to get rid of them.  Thx.
> 
> They are there for good reason. If any of your `\book`s got output on 
> multiple pages, there would indeed be multiple files output.
> 
> If you never want separate pages, you should not use `separate-page-formats` 
> but `tall-page-formats`.
> 
> By the way, in addition to simplifying automation (like lilypond-book), 
> having `-1.svg` even on the first page makes it possible to use both 
> `separate-page-formats` and `tall-page-formats` at the same time.

If the thousand-odd files are in a single directory, and you like
visual interfaces, renaming them is very simple in a TUI-style
file manager like Midnight Commander (mc). You'd rename (called
Move) from *-1.svg to *.svg after selecting all the files with
the * keystroke.

If you prefer a CLI, then it's as simple as:

  $ cd directory-containing-files
  $ rename 's/-1\.svg$/.svg/' *.svg

except for the complication of which version of rename you have
installed on your system. I prefer the version that uses a Perl
expression, and it's set up as the default on my system for the
"rename" command, but can also be invoked as prename or file-rename.

Where files are scattered amongst directories, the CLI rename command
can be invoked from a find command, which searches directory trees for
suitable filenames to rename.

Cheers,
David.



Re: Discourse proposal status

2023-03-06 Thread David Wright
On Mon 06 Mar 2023 at 04:18:17 (+0100), David Kastrup wrote:
> Andrew Bernard  writes:
> 
> > Well you can dynamically increase CPU or RAM or both on Digitalocean
> > that I use. You can do it on a temporary basis - but I'm not sure if
> > you get charged for a month or on a strict time basis, it's hard to
> > find out!. It's not a matter of needing a separate system. My only
> > issue is that I am very financially constrained and I can't afford the
> > experiment.
> >
> > But the bigger fish to fry is the issue with the irregularities in the
> > mbox archives. I need to study this in depth before trying a load. I
> > did have the same problem with similar erratic mbox archives quite
> > some years ago but I can't easily recall the solution. Probably just a
> > more refined regex to pick up the 'From:' delimiters.
> 
> There isn't really much finesse involved.  Messages start at the pattern
> "^From ".  Any "From " inside of a message that would end up at the
> start of a line is changed to ">From ", so the pattern "^From " should
> be foolproof regarding splitting into messages.

I think this is rather dated. Most modern MUAs, including your own
from Sat, 25 Feb 2023 16:29:18 +0100, aren't escaping Froms any more.
The cached copy (sent via IMAP) is clean, and any mboxes I copy it to,
all contain:

  > =E2=80=A6 and I=E2=80=99ll probably get yelled at for top-posting as well=
   ;-)
  
  From a practical workflow perspective, I would much rather do all of my
  reading using a single keyboard driven interface and application than

OTOH, the digests contain:

  > … and I’ll probably get yelled at for top-posting as well ;-)
  
  >From a practical workflow perspective, I would much rather do all of my
  reading using a single keyboard driven interface and application than

as does the web page:

https://lists.gnu.org/archive/html/lilypond-user/2023-02/msg00500.html

I haven't checked what the ?monthly mboxes contain, but I would try
using a regex that includes matching the date at the end of the
From line (here deliberately offset):

  From lil…ser-bounces+lilylis=l….u...@gnu.org Sat Feb 25 09:29:53 2023

because whatever is writing these mboxes should be using a consistent
format for these.

Cheers,
David.



Re: Message size limit

2023-03-04 Thread David Wright
On Sat 04 Mar 2023 at 13:02:13 (-0800), Saul Tobin wrote:
> Hard disagree on plain text emails.
> 
> I didn't really have a strong opinion re the whole discussion about message
> boards vs. email, but IMO the world has moved on to rich text email with
> embedded media. I think the reliance on plain text email as the standard
> for this mailing list detracts significantly from the conversation.
> Inlining images makes it much easier to communicate typesetting questions
> and also much easier to quickly respond, especially when viewing messages
> on a cell phone.
> 
> Rich text emails with embedded media should IMO be supported as first class
> citizens of the mailing list.

I'm not sure what you mean by rich text email. I can only find RTF,
about which MS writes:

 "Rich Text Format

   "Important: HTML format is the current default compose format in
Outlook. RTF is a legacy format and we do not plan to bring
improvements to it. In this sense, use of RTF in encrypted
messages is not recommended and it will be prone to face
conversion issues.

 "Rich Text Format (RTF) is a Microsoft format that’s supported only
  by these email applications: 

Microsoft Exchange Client versions 4.0 and 5.0
All versions of Outlook"

https://support.microsoft.com/en-us/office/change-the-message-format-to-html-rich-text-format-or-plain-text-338a389d-11da-47fe-b693-cf41f792fefa

Or do you mean HTML, which is tolerable when MUAs remember
to include the plain text version with appropriate headers.

Cheers,
David.



Re: Refrain text shown only once

2023-03-02 Thread David Wright
On Thu 02 Mar 2023 at 15:35:05 (+0100), bernhard kleine wrote:
> 
> When a refrain is at the end of the score, you may omit it in the
> strophes when it is repeated. The problem I have is a refrain infront of
> the strophes. googling lilypond text pauses did not give any useful
> information. Trying \omit {refrain} didnot work. Please help me with the
> problem.

  verseTwo = \lyricmode {
\repeat unfold 11 ""
\set stanza = "2."
Wenn di a -- mols Zahn -- weh plagt und
  }

Cheers,
David.



Re: Discourse

2023-02-23 Thread David Wright
On Thu 23 Feb 2023 at 15:14:08 (-0800), Aaron Hill wrote:
> On 2023-02-23 3:08 pm, David Wright wrote:
> > On Thu 23 Feb 2023 at 23:50:43 (+0100), Jean Abou Samra wrote:
> > > Le jeudi 23 février 2023 à 22:14 +, Wols Lists a écrit :
> > 
> > > > Many of the websites I interact with on a regular basis (shopping, of
> > > > course) have completely broken print interfaces, so bad that one page of
> > > > interesting web text will give 20 pages of print with all of the
> > > > interesting text missing ...
> > > 
> > > I just tried Ctrl-P on 
> > > https://discuss.python.org/t/pep-702-marking-deprecations-using-the-type-system/23036
> > > (in Firefox). It gave me a perfectly legible and relatively
> > > nicely formatted PDF.
> > 
> > I just tried ^P on the same link in FF, and I got a bar that said:
> > 
> >   "Firefox prevented this site from opening a pop-up window.
> > [Preferences]  ×"
> > 
> > What does it contain/is it for?
> 
> That's an overly aggressive pop-up blocker.

For any given site, it's Yes or No. FF says No aggressively?¹ :)

> Opening new pages for
> printing is a pretty normal use case.
> 
> But you should be able to manually add "/print" to the end of the URL
> and navigate to the page without the pop-up block.

Thanks. That gave me precisely what I normally get by typing ^P.
With all the hundreds of pages that I've printed from FF (I hasten
to add that I only print to PDFs from applications), this is the
first site to trigger a "pop-up" on pressing ^P.

Assuming that this modal print dialog box is what the "pop-up"
contains, I can't understand why this site, unlike any other,
considers it a pop-up. I don't suppose it's worth signing up
just to ask.

¹ OTOH my ad-etc-blocking is aggressive, ~13,500 addresses.

Cheers,
David.



Re: Discourse

2023-02-23 Thread David Wright
On Thu 23 Feb 2023 at 23:50:43 (+0100), Jean Abou Samra wrote:
> Le jeudi 23 février 2023 à 22:14 +, Wols Lists a écrit :

> > Many of the websites I interact with on a regular basis (shopping, of  
> > course) have completely broken print interfaces, so bad that one page of  
> > interesting web text will give 20 pages of print with all of the  
> > interesting text missing ...
> 
> I just tried Ctrl-P on 
> https://discuss.python.org/t/pep-702-marking-deprecations-using-the-type-system/23036
>  (in Firefox). It gave me a perfectly legible and relatively nicely formatted 
> PDF.

I just tried ^P on the same link in FF, and I got a bar that said:

  "Firefox prevented this site from opening a pop-up window. [Preferences]  ×"

What does it contain/is it for?

Cheers,
David.



Re: Documentation: Should we possibly have aliases for current stable and current devel?

2023-02-13 Thread David Wright
On Mon 13 Feb 2023 at 15:58:42 (+0100), Jean Abou Samra wrote:
> Mailing list support: answer questions from fellow users.
> (This may entail helping them navigate the online documentation;
> in such cases it may sometimes be appropriate to point them to
> version-agnostic URL paths such as /latest/ or /stable/, which
> are automatically redirected.)

Very tangential to this, a URL like:

  https://lists.gnu.org/archive/html/lilypond-user/recent

that would redirect to:

  https://lists.gnu.org/archive/html/lilypond-user/2023-02/threads.html

for whatever the current month is, would allow it to be bookmarked.
("Recent" might be less confusing than "latest", because of the
other use of that term, as above.)

What think you?

Cheers,
David.



Re: writing score in absolute time

2023-02-07 Thread David Wright
On Tue 07 Feb 2023 at 15:29:29 (+0100), Jean Abou Samra wrote:
> On 07/02/2023 14:58, Cordelia wrote:
> > Amazing, really.
> > I lastly just wonder now, if it’s possible to write the duration in 
> > seconds.. But I understood that’s not the way of working of lilypond.
> > Thank you!
> 
> 
> This can be done too.
> 
> \version "2.24.0"

[ … ]

Next problem: squeezing in the accidentals. One solution: a grand
staff with lines and spaces for each note of the chromatic scale.
Unintended benefit: punch out the inked sections and you've got
yourself a piano roll.

Cheers,
David.


Re: Changes to png file while using \omit Accidental

2023-01-31 Thread David Wright
On Mon 30 Jan 2023 at 20:52:05 (-0800), Rajesh Baskar wrote:
> 
> You can see in
> the mage attached that Lilypond generates them a bit differently. The
> line dividing the two measures is thicker

You'll also notice that the stems of the last note in each measure are
apparently thicker than the others.

This isn't LilyPond's fault, but the fact that you've chosen to
generate a PNG raster image of the output. Were you to generate
a PDF, you would see the same phenomenon on your monitor at low
magnifications, like 120%, because the screen is a raster device,
but increasing the magnification would quickly eliminate the
effect, as seen at 2000%. (Screen is 443x249 mm showing 1600x900.)

While we're about it, here's your Melody expanded 8x, and
Lilypond's flat at 8000% (rotated to use the screen area).

Cheers,
David.


Re: LP 2.24.0 segno repeat where coda break is in the middle of a repeat volta block

2023-01-22 Thread David Wright
On Sat 21 Jan 2023 at 15:51:16 (-0800), Kenneth Wolcott wrote:
> Using Lilypond 2.24.0, I engraved "Memory" (from "Cats") using the
> example published in the Hal Leonard Easy Piano Songs book (the pdf
> file generated from photos from this book are huge).

I displayed your PDF at 60% size, and took screenshots of the pages.
The structure of the score is still plainly visible, but five pages
like this would take about 750KB to post instead of 14MB: of great
benefit to many.

I won't post them here, but I can send you pages privately.

Cheers,
David.



Re: Slurs not being followed in one vocal part

2023-01-21 Thread David Wright
On Sun 22 Jan 2023 at 11:59:06 (+1100), Vaughan McAlley wrote:
> On Sun, 22 Jan 2023, 10:32 Jon Arnold,  wrote:
> 
> > Hey folks-
> >
> > Can anyone tell me why the slurs are not being followed in the soprano
> > part of the attached file? It first occurs in the 2nd half of bar 7, bottom
> > of page 3. It seems to be related to the barLiner function I have (it goes
> > away if I remove it), but I don't understand why this would affect the
> > lyrics.
> >
> > Here's the function:
> > barLiner = {
> >   \repeat unfold 20 { s2 \bar "!" s2. }
> >   \set Timing.measureLength = #(ly:make-moment 1/2)
> >   s2 s2
> >   \set Timing.measureLength = #(ly:make-moment 3/4)
> >   s2. s2. \bar "|."
> >
> > }
> >
> > This is called with:
> > \new Staff \with {
> > midiInstrument = "choir aahs"
> > instrumentName = "Soprano"
> >   } { << \soprano \barLiner >> }
> >   \addlyrics { \sopranoVerse }
> >
> 
> Hi Jon,
> 
> I can't remember off the top of my head which Lilypond version things
> changed but explicitly instantiating a voice has fixed this sort of thing
> for me in the past:
> 
> } \new Voice { << \soprano \barLiner >> }

You need something more like:

choirPart = \new ChoirStaff <<
  \new Staff \with {
midiInstrument = "choir aahs"
instrumentName = "Soprano"
  } <<
\new Voice { \barLiner }
\new Voice { \soprano }
\addlyrics { \sopranoVerse }
  >>
  \new Staff \with {
midiInstrument = "choir aahs"
instrumentName = "Alto"
  } { \alto }

I presume that \addlyrics gets totally confused when asked to
add lyrics to a construction like { << \soprano \barLiner >> }.
How would it know to use only the \soprano line?

Cheers,
David.



Re: LilyPond 2.25.1

2023-01-21 Thread David Wright
On Sat 21 Jan 2023 at 11:38:27 (-0800), Knute Snortum wrote:
> On Sat, Jan 21, 2023 at 11:33 AM Jonas Hahnfeld via LilyPond user
> discussion  wrote:
> >
> > We are happy to announce the release of LilyPond 2.25.1. This is termed
> > a development release, but these are usually reliable for testing new
> > features and recent bug fixes. However, if you require stability, we
> > recommend using version 2.24.0, the current stable release.
> > Please refer to the Installing section in the Learning Manual for
> > instructions how to set up the provided binaries:
> > https://lilypond.org/doc/v2.25/Documentation/learning/installing
> 
> Am I missing something?  The download page seems to still be pointing at 
> 2.24.0.

An actual URL would help us to know what you're looking at.

The download page points at the stable version.

http://lilypond.org/download.html

The development page points at the unstable version.

http://lilypond.org/development.html

Both these are available from the home page, one under the other
in the top right corner.

http://lilypond.org/

Cheers,
David.



Re: Documentation viewer in Frescobaldi

2023-01-19 Thread David Wright
On Fri 20 Jan 2023 at 14:09:05 (+1100), Andrew Bernard wrote:
> Frescobaldi 3.2 on Linux (EndeavorOS, and Ubuntu), no matter what URL
> or local file I put in the Lilypond Documentation preferences it does
> not work. If I use a URL at lily[pond.org I get an Apache error. If
> trying to add a local copy the index.html file simply does not appear
> in the browser dialog when I go to the appropriate directory. I am
> mystified. Any clues?

I don't use F~ so I don't know what the Preferences or Configuration
Dialogue would expect to be fed with.

However, I do see¹ /usr/share/frescobaldi/frescobaldi_app/lilydoc/manager.py
contains these lines:

# split in local and non-local ones (local are preferred)
user_prefixes = []
local = []
remote = []
for p in user_paths:
user_prefixes.append(p) if os.path.isdir(p) else remote.append(p)
remote.sort(key=util.naturalsort)

# now find all instances of LilyPond documentation in the local paths
def paths(path):
"""Yields possible places where LilyPond documentation could live."""
yield path
path = os.path.join(path, 'share', 'doc', 'lilypond', 'html')
yield path
yield os.path.join(path, 'offline-root')

def find(path):
"""Finds LilyPond documentation."""
for p in paths(path):
if os.path.isdir(os.path.join(p, 'Documentation')):
return p

> When I install Frescobaldi it does show doc for 2.22 online but
> nowhere do I see this URL in the preferences, so how does it even get
> there? Hardwired? Does not seem right.

and later:

urls = []
urls.extend(map(QUrl.fromLocalFile, local))
urls.extend(map(QUrl, remote))
if not urls:
urls.append(QUrl("http://lilypond.org/doc/stable;))
return urls

so it appears to have a fairly thorough hunt for the docs.
(I assume urls.extend is reading some Configuration data.)

¹ F~ 3.1.3 from Debian buster. I don't remember whether I ever ran it;
  perhaps I replicated someone's post. I haven't downloaded F~ on bullseye.

Cheers,
David.


Re: irrational meters

2023-01-18 Thread David Wright
On Wed 18 Jan 2023 at 08:22:19 (+), Mark Knoop wrote:
> At 16:46 on 17 Jan 2023, "H. S. Teoh" via LilyPond user discussion wrote:
> > On Tue, Jan 17, 2023 at 07:08:41PM -0500, David Zelinsky wrote:
> >> Kieren MacMillan  writes:
> >>>
>  I wonder about the term “irrational” meter. Should not we say
>  “irregular” ??  as in mathematics, an irrational number is a number
>  which cannot be represented as a fraction...
> >>>
> >>> As both a published composer *and* a published number theorist, I
> >>> wholeheartedly concur with your intuition — I’ve been pushing for
> >>> decades against “irrational” as a descriptor for time signatures
> >>> [except where it actually applies, of course, as in π/4].
> >>>
> >>> “Irregular” is better… but ultimately I prefer “non-dyadic” to
> >>> describe any time signature where the bottom number (a.k.a.
> >>> “denominator”, a label I also avoid) is not an integer power of 2.
> > [...]
> >> As another professional number theorist and musician (though not a
> >> composer), I also find this use of "irrational" to mean "non-dyadic"
> >> very grating.  But I once said as much on the Music Engraving Tips
> >> facebook group, and got summarily shot down as ignorant and elitist.
> >> The argument, such as it was, held that this is about *music*, not
> >> *mathematics*, so there's no reason to adopt mathematicians' quirky
> >> terminology.  This left me rather speechless, so I gave up.  However,
> >> if I ever have reason to discuss this type of meter, will always call
> >> it "non-dyadic".
> > [...]
> 
> > This is off-topic, but it would be interesting if somebody composed a
> > piece with an actually irrational meter, like π/4 or 3/π.  Only thing
> > is, it would be impossible for human performers to play correctly, since
> > there isn't any way to count the beats correctly (counting beats implies
> > a rational fraction, since by definition it's impossible to count up to
> > an irrational ratio by counting finite parts).
> 
> Perhaps one should define "correctly" before assuming impossibility. By
> any definition of correctly which makes sense in this context (i.e.
> precise rhythmic execution), it is arguably equally impossible to play
> music in a *dyadic* meter correctly.

I understood TSH's "correctly" to mean "precisely", and I would say
that by convention, one is not expected to play music in a dyadic
meter with precision. For example, most people are familiar with the
Viennese Waltz and its anticipated second beat, or the ebb and flow of
most solo piano music, and so on.

OTOH specifying a (mathematically) irrational meter implies a
precision that I would agree is virtually impossible to perform
without artificial aids like computer synthesis.

Cheers,
David.


Re: Unicode accidentals vs. Markup accidentals

2023-01-16 Thread David Wright
On Sun 15 Jan 2023 at 22:52:50 (-0800), Saul Tobin wrote:
> Lilypond ships with a text font as well as a music font. I agree that I
> suspect that currently Lilypond's text font does not actually define these
> Unicode music characters, so it falls back on the OS to find them. Why not
> just add copies of Emmentaler glyphs to the Lilypond text fonts for
> characters within the Unicode spec? That seems like a pretty reasonable
> suggestion to me...

It might be worth thinking about where you would draw the line between
glyphs you would replace and those you wouldn't. After all, your
original post, and the Subject line, only dealt with accidentals, but
should you replace the entire Music Symbols Unicode Block, including
the combining forms, and fine tune them all so that the Emmentaler
would match LP's text font? (Some glyphs in the Block are also accidentals.)

Cheers,
David.



Re: Key Signature Bug in 2.24.0,Re: Key Signature Bug in 2.24.0

2023-01-13 Thread David Wright
On Fri 13 Jan 2023 at 19:30:29 (+), nitra...@posteo.net wrote:
> I was talking about the first note of each measures after the Key Signature.
> But you were right, it is the default spacing.
> 
> About the distance between different accidentals, consider the example
> bellow. You can see a difference between the "Reference staff" and number
> "C" in the "Corrected Output". It looks like an extra space has been added
> between the key cancellation and the new one.
[ … ]
> grob
> (+ (- (interval-end (ly:grob-extent can parent X))
>   (ly:grob-relative-coordinate grob parent X))
>0.7)
> X
>   \music
> }

Change 0.7 to 0.1 and you can make the cancellation almost touch the
new key signature, so pick your value to taste, I guess.

You might need to check how a particular value behaves when staves
are stretched or compressed while breaking the music into lines.
(Your Reference staff has slightly different measure lengths from
the Corrected output.)

Cheers,
David.


Re: Key Signature Bug in 2.24.0,Re: Key Signature Bug in 2.24.0

2023-01-13 Thread David Wright
On Fri 13 Jan 2023 at 11:58:42 (+), nitra...@posteo.net wrote:
> Yes it is better, thank you for your fast reply. But several problems are
> still there in my opinion:
> 
> - The first note of the measure doesn't align with the last accidental and
>   is still too far.

None of the first notes in any measure has an accidental, so I'm
not sure what you mean.

If, by the last accidental, you mean the last symbol in the key
signature, then you certainly shouldn't place the first note in the
measure too close to the key signature.

> - I don't understand why the distance between different accidentals is
>   wider (for instance between a natural and a sharp, or between a natural
>   and a flat).

Can you be specific about which symbols you're referring to: can you
give the staff and measure number for the ones you're comparing.

> Le vendredi 13 janvier 2023 à 12:02, Jean Abou Samra a écrit :
> > Le 13/01/2023 à 10:16, Werner LEMBERG a écrit :
> > > > > I just discovered this huge bug in the recent release of 2.24.0
> > > > > which wasn't in the previous version.
> > > > What previous version did you test this with? For me, the output is
> > > > the same in 2.22 and in 2.18.2.
> > > Regardless of that, it is indeed a severe bug: No need to ever align
> > > key signatures vertically, AFAIK.  Simply left-align them.
> > 
> > 
> > Do you mean like this, or something else?
> > 
> > (NB this is unreliable code, I was surprised that it even works)
> > 
> > \version "2.24.0"
> > 
> > music = \relative c' {
> >   \override Staff.KeyCancellation.break-align-symbol = #'key-signature
> >   \override Staff.KeySignature.X-offset =
> >     #(lambda (grob)
> >    (let* ((parent (ly:grob-parent grob X))
> >   (elts (ly:grob-object parent 'elements))
> >   (can (find (lambda (g)
> >    (and (grob::has-interface g
> > 'key-cancellation-interface)
> >     (eq? (ly:grob-object g 'staff-symbol)
> >  (ly:grob-object grob 'staff-symbol
> >  (ly:grob-array->list elts
> >  (when can
> >    (ly:grob-translate-axis!
> >     grob
> >     (+ (- (interval-end (ly:grob-extent can parent X))
> >   (ly:grob-relative-coordinate grob parent X))
> >    0.7)
> >     X
> >   \key es\major
> >   c d e f
> >   \key c\major
> >   c d e f
> >   \key as\major
> >   c d e f
> >   \key bes\major
> >   c d e f
> > }
> > 
> > \new StaffGroup <<
> >   \transpose c a {
> >     \music
> >   }
> >   \new Staff
> >   \transpose c g {
> >     \music
> >   }
> >   \new Staff
> >     \music
> > >>

Cheers,
David.


Re: Getting readline to work in scheme-sandbox

2023-01-10 Thread David Wright
On Tue 10 Jan 2023 at 10:34:19 (-0500), Kevin Cole wrote:
> An old thread at
> https://mail.gnu.org/archive/html/lilypond-user/2020-01/msg00350.html
> finished up with:
> 
> > From:Michael Käppler
> > Subject:Re: Getting readline to work in scheme-sandbox
> > Date:Fri, 17 Jan 2020 23:22:38 +0100
> >
> > Am 17.01.2020 um 00:32 schrieb Knute Snortum:
> >
> >> That did it!  Thanks!
> >
> > Nice to hear, a very ugly 'fix', though. I will continue investigating.
> 
> Is there a more beautiful fix three years later?

The last thing I remember reading about this here was:

https://lists.gnu.org/archive/html/lilypond-user/2022-05/msg00185.html

Cheers,
David.


Re: Breath marks

2022-12-07 Thread David Wright
On Thu 08 Dec 2022 at 14:22:31 (+1100), Andrew Bernard wrote:
> On 8/12/2022 1:29 pm, Jean Abou Samra wrote:
> > Actually, in version 2.23, the default breathing sign was changed
> > to a shape similar to your picture. See
> > https://lilypond.org/doc/v2.23/Documentation/changes/index.html
> > 
> So again, why not just use \breathe? Is there something else you need?

Bold and/or large, I thought (attached).

  bigcomma = {
\mark \markup { \override #'(font-size . 5) \musicglyph "scripts.rcomma" }
\breathe
  }

Cheers,
David.


Re: Double lyrics in part of composition

2022-11-18 Thread David Wright
On Fri 18 Nov 2022 at 16:52:41 (+0100), Jogchum Reitsma wrote:
> 
> With the help of Frescobaldi, I try to set du Prez' El Grillo.
> 
> It has a two-verse piece in the middle, which I can't get right.
> 
> Iǘe added the jpeg of the piece to be set in lilypond, and the
> .ly-file create so far.
> 
> Anyoane an idea how this might be coded in lilypond? Preferable
> without disrupting the structure created b frescobaldi too much, but
> I'm not sure that is possible.

Perhaps just set a second verse as normal, but with circa four
dozen skips at the start of the second verse lyrics. (The number
will likely need adjusting individually for each part.) The
\repeat unfold 48 _ construction saves typing.

Cheers,
David.


Re: 2.23.81 new D.S. code

2022-11-16 Thread David Wright
On Wed 16 Nov 2022 at 06:21:41 (-0500), Kieren MacMillan wrote:
> 
> >> What about creating all the parts for a score? I certainly
> >> don't want to type all the common structure in each part.
> > If you type the structure first, then as you use emacs, it's easy to
> > copy and paste sufficient copies of it before you enter the notes.
> 
> Okay… but yet another reason composing directly into Lilypond is suboptimal 
> and potentially frustrating.  =\

Well, the OP did write "I'm a copyist not a composer", and my
suggestion was merely to avoid them some typing (although
anybody who's used an editor for years is unlikely to need it).

> I often typeset scores with 40 or more staves; having to make changes in that 
> many places is time-consuming and error-prone.

And Jean responds with a fix in short order—just like you with your scores!

Cheers,
David.


Re: 2.23.81 new D.S. code

2022-11-15 Thread David Wright
On Tue 15 Nov 2022 at 14:41:28 (-0700), Paul Scott wrote:
> On 11/15/22 1:57 PM, Jean Abou Samra wrote:
> > Le 15/11/2022 à 21:50, Paul Scott a écrit :
> > > What about creating all the parts for a score? I certainly
> > > don't want to type all the common structure in each part.

If you type the structure first, then as you use emacs, it's easy to
copy and paste sufficient copies of it before you enter the notes.

> > It is really that troublesome? It's the way it's intended to be used.
> Can you show me where the documentation says that?
> > 
> > You will find that \section and \fine only affect their staff,
> I have already NOT found that.
> > so you're already forced to duplicate those.
> 
> No.
> 
> 
> > Also, \unfoldRepeats
> > will not work correctly if you don't use \repeat segno everywhere.
> 
> I've never needed to use unfoldrepeats.  I'm a copyist not a composer.

I produce copies for people who appreciate MIDI versions of the score
± their parts. You need \unfoldRepeats to generate the MIDI correctly.

Cheers,
David.


Re: Unexpected file name in EPS output

2022-11-07 Thread David Wright
On Sun 06 Nov 2022 at 23:01:44 (+0100), Carlo Stemberger wrote:
> Il giorno dom 6 nov 2022 alle ore 22:17 Knute Snortum 
> ha scritto:
> 
> > On Sun, Nov 6, 2022 at 12:21 PM Federico Bruni  wrote:
> > >
> > > Il giorno dom 6 nov 2022 alle 18:54:00 +0100, Carlo Stemberger
> >
> > Where did you see "lilypond -dbackend=eps myfile.ly"?
> 
> Here:
> 
> http://lilypond.org/doc/v2.22/Documentation/usage/other-programs.it.html

As I pointed out earlier,

https://lists.gnu.org/archive/html/lilypond-user/2022-07/msg00131.html

the backends documentation is inconsistent, and unfortunately
even more so in 2.23.x, including RC 2.23.80.

Cheers,
David.



Re: Question about paths in point-and-click

2022-10-31 Thread David Wright
On Tue 01 Nov 2022 at 02:23:23 (+0100), Paolo Prete wrote:
> I need to change them.
> More specifically, each:
> 
> xlink:href="textedit:///some/personal/path/file.ly:x:y:z"
> 
> should be changed into
> 
> xlink:href="textedit:///dummy/path/file.ly:x:y:z"
> 
> For all the grobs with such metadata (SVG)
> 
> Anyway, with 4 lines of python postprocess code I did the operation, so,
> never mind: all solved.
> 
> Neverthless, IMHO this feature should be exposed in the API, because the
> lack of control of personal data should not be a trade-off for using an
> appealing feature such as the point-and-click one

I'd agree with that. I run by default with p turned off, to avoid
accidents when distributing scores. But with p on, I just compiled
a score from ~/scores/fragments/random-score.ly, copied the source
and PDF output into /tmp, and then ran:

$ sed -i -e 's+textedit:///home/auser/scores/fragments+textedit://.+' 
/tmp/random-score.pdf 

after which, clicking in random-score.pdf points to the correct
position in random-score.ly as long as both source and PDF are in the
same, arbitrary current working directory. Only the last component
of the path is exposed, ie   textedit://.random-score.ly:99:7:8
(I hadn't tried using a relative path before.)

Cheers,
David.



Re: Legacy scripted installation, was Re: LilyPond 2.23.14

2022-10-19 Thread David Wright
On Wed 19 Oct 2022 at 06:46:22 (-0700), Knute Snortum wrote:
> On Tue, Oct 18, 2022 at 11:21 AM David Wright wrote:
> > On Tue 18 Oct 2022 at 05:15:31 (-0400), Craig Bakalian wrote:
> > >
> > > And could we please release the latest greatest lilypond as a shell
> > > script like it used to be released.
> >
> > You seemed to be happy enough when you wrote
> > https://lists.gnu.org/archive/html/lilypond-user/2022-09/msg00071.html
> >
> > Can you tell us what has changed. Is it the shell script itself that
> > you miss, or the attempt to download the documentation, or the
> > uninstall script? Unless you tell us what you miss, there's not much
> > more that can be done except to say "Ain't gonna happen", aka WONTFIX.
> 
> I'll jump in here if it's all right.  Craig, did you notice that
> there's an installation[1] page that you can get to from the download
> page?  I missed that at first.  The command-line installation
> instructions are rather terse, but I guess the assumption is that if
> you're using the command-line, you know how to run tar, mv directories
> around, add things to the PATH, etc.  But is that a good assumption?

(Disclaimer: I'm speaking only to the linux version.)

The stable version seems to get this right:
  http://lilypond.org/
  http://lilypond.org/download.html
  http://lilypond.org/unix.html
and here we get instructions for using the old script
method to install a downloaded version of LilyPond.

The unstable version seems in need of some tweaking:
  http://lilypond.org/
  http://lilypond.org/development.html
and here we see:

  Instructions for git and compiling are in the Contributor’s Guide.
lilypond git repository
  Documentation writers and testers will generally want to download the latest 
binary:
GNU/Linux x86_64: LilyPond 2.23.14
[ … ]
  If you are unsure about how to install these binaries,
  please read the start of the Learning manual.

Conventional wisdom is that development versions are for more than
just documentation writers and testers. But even sophisticated LP
users might be unsure about how to deal with a .tar.gz file. So
I would at least move the last paragraph to before the download
links, though an alternative would be to copy stable's approach
and make the "GNU/Linux x86_64: LilyPond 2.23.14" link open its
own unix-only page.

I would collect the git, compiling and Source information together,
and place it at the end of the Download panel, out of the way for
the great majority of users. (Accidentally unpacking the source
could be very confusing, as its top-level directory has the same
name as the binary's.)

Moving on to:
  http://lilypond.org/doc/v2.23/Documentation/learning/index.html
itself. For a graphical setup:
  
http://lilypond.org/doc/v2.23/Documentation/learning/graphical-setup-under-gnu_002flinux
the instructions are interesting as they rely on a distribution's
versions of LP and Fresco in the first place, before tackling
the addition of a development version. But not running a DE, I'm
not really qualified to comment further.

For running LP from the command-line:
  http://lilypond.org/doc/v2.23/Documentation/learning/command-line-setup
you get the following:

  1.4 Command line setup

  On many GNU/Linux distributions, LilyPond can be installed from
  the package manager. This is also the case on macOS using either
  MacPorts or Homebrew.

  In any case, you can install LilyPond by downloading the archive
  from Download and unpacking it. The binaries are usable
  immediately after unpacking. You can run

/.../lilypond-x.y.z/bin/lilypond file.ly

  (on Windows, replace the slashes ‘/’ with backslashes ‘\’).

The first sentence seems odd: I presume that package managers can only
install distributions' versions (eg Debian can install .debs, or rpms
etc converted by alien), and they're unlikely to comprise the latest
development version. And "In any case" seems an odd way to introduce
the reason that most people will visit the page in the first place;
kind of "well, you're here now, so you might as well know that …).

Wouldn't it be better to write first about what to do with a .tar.gz
binary. For a typical single user, suggest they unpack it in their
home directory, with   tar xf …/lilypond-N.N.N-linux-x86_64.tar.gz
(or tar xvf to see the filenames as they're unpacked).¹ The top-level
directory can then be moved/renamed as desired, without the
side-effects that might have happened in the past with the old
script method.

Perhaps also suggest that someone installing LP for all the users on
a system should unpack it as root in a directory like /usr/local/bin/
or /opt/, or as recommended by their distribution or tradition.

It might also be fair to refer to the https://frescobaldi.org/download
page for those who want to run LP from Fresco but still by way of a
terminal's command line.

I don't kno

Legacy scripted installation, was Re: LilyPond 2.23.14

2022-10-18 Thread David Wright
On Tue 18 Oct 2022 at 05:15:31 (-0400), Craig Bakalian wrote:
> 
> And could we please release the latest greatest lilypond as a shell
> script like it used to be released.

You seemed to be happy enough when you wrote
https://lists.gnu.org/archive/html/lilypond-user/2022-09/msg00071.html

Can you tell us what has changed. Is it the shell script itself that
you miss, or the attempt to download the documentation, or the
uninstall script? Unless you tell us what you miss, there's not much
more that can be done except to say "Ain't gonna happen", aka WONTFIX.

Cheers,
David.



Re: LilyPond-2.22.2 does not work on Windows XP

2022-10-14 Thread David Wright
On Fri 14 Oct 2022 at 10:24:37 (+0100), J Martin Rushton wrote:
> On Fri, 2022-10-14 at 01:51 -0700, Aaron Hill wrote:
> > On 2022-10-14 12:18 am, J Martin Rushton wrote:
> > > For some reason best known to Microsoft Windows held
> > > systems down in 32-bit node for years after they were internally
> > > 64-
> > > bit.
> > 
> > Microsoft did not "hold systems down".  In the era of XP, Windows
> > came 
> > in a 64-bit version, colloquially known as XP64.  The main issue was 
> > that most consumers at that time only had access to 32-bit hardware,
> > so 
> > it was not a priority to market 64-bit support.
> > 
> > Over time, computer manufacturers have made 64-bit hardware the
> > norm; 
> > but as anyone with IT experience knows: clients are rarely eager to 
> > spend money upgrading when things are not completely broken.  (And
> > even 
> > then when the office is on fire, some are still stingy.)  So 
> > notwithstanding the average home user facing rising costs of new 
> > computers, Microsoft has many business, educational, and government 
> > customers that would all have to get aboard the 64-bit train.
> > 
> Perhaps then trying to source XP64 would be a solution for the OP?

Paul's experience might suggest that this could be a case of
out of the frying pan into the fire, and it also doesn't help
with connectivity.

> Maybe it was the supply chain that shipped 32-bit XP on 64-bit machines
> or maybe MS didn't want to push it for some reason?  The fact remains
> that in the XP era there were plenty of 64-bit machines hamstrung by a
> 32-bit OS.

Wasn't this about the time that Microsoft lost focus on their
development of Vista? They seemed to be more intent on tinkering
about with adding morsels of Vista into XP. Eventually they had
to start over with Vista again.

But the main thing was that the money kept pouring in, regardless
of whether they were buying 32-bit or 64, so why bother. Meanwhile
(say, 2005), Linux (Debian/sarge) supported i386, m68k, alpha,
sparc, powerpc, arm, mips (both little- and big-end), ia64, hppa,
and s390, in their first release not to support the 386 processor
(that is as opposed to 486 on up).

Cheers,
David.



Re: LilyPond-2.22.2 does not work on Windows XP

2022-10-14 Thread David Wright
On Fri 14 Oct 2022 at 09:48:41 (+), Dag Bergman wrote:
> Thanks David for your comments.
> 
> As I said to Werner, I will probably have to do Lilypond work on the Windows 
> 10 machine, albeit inconvenient.

On Fri 14 Oct 2022 at 00:16:39 (+), Dag Bergman wrote:
> Hi David,
> 
> Thanks for your reply.
> 
> I run Windows 10 on a rather powerful Dell-Precision with an i7-7700HQ CPU 
> and 32.0 GB RAM.

You could take the opportunity to install a VM running linux,
and leave the problems of LilyPond on windows/macs behind.
You never know—you might find other XP programs that you can
wean off XP onto open-source software. I'm sure there are
smart people who run linux at Oxford who could help. Many of
the IT people where I used to work were running linux systems
at home or work, and that's 20 years ago.¹

And I would assume that these people's day jobs involves helping
students and staff with their accessibility battles against the
grey on grey themes of so much current software.

¹ Personally, I avoided the university's macs and windows machines,
preferring instead to acquire any number of their 3-yr old cast-off
PCs (from administrators and secretaries) for running linux on my
desk, in the lab, and at home.

Cheers,
David.



Re: LilyPond-2.22.2 does not work on Windows XP

2022-10-13 Thread David Wright
On Fri 14 Oct 2022 at 00:16:39 (+), Dag Bergman wrote:
> > On Wed 12 Oct 2022 at 23:51:22 (+), Dag Bergman wrote:
> > > I have a Windows XP computer with Lilypond 2.10.25.  It works fine with 
> > > simple program codes and advanced code developed with earlier versions of 
> > > Lilypond.  It does not work so well when I try to use a newer program 
> > > developed with a later version of Lilypond, as I get many error messages. 
> > >  I therefore tried to install LilyPond-2.22.2, which is newer than the 
> > > versions of Lilypond the program were developed with.  It does not work 
> > > at all, however, and I get the error message: "The system cannot execute 
> > > the specified program."  It does not matter what code I try to run.

If "by code" you mean LilyPond source code, then no, it doesn't
matter, because the program doesn't start running, so it doesn't
even open the input file.

> > > What is the latest version of Lilypond that actually works on Windows XP?

That's probably something you will have to determine for yourself.
The way in which the mingw binaries are built appears to have changed
over the years, so I'd be wary of jumping straight from 2.10.25
to 2.22.2.

At the very least, I'd try installing 2.10.33, which appears to be
the final version of 2.10. That will test whether your error message
is merely caused by trying to run a downloaded file without performing
some essential step first (perhaps concerning Virus protection,
unblocking downloads, etc). After all, you might have forgotten what
you had to do, long ago when you installed 2.10.25. Googling "the
system cannot execute the specified program" yields various problems
and solutions that just might be relevant.

If you can run 2.10.33, then I'd try 2.18.2, which was the stable
version of LP for a long time, and is therefore well tested. It's
a version you could probably live with for a while.

If that runs, then try 2.22.2 again, particularly if you've discovered
any step that was necessary to get the previous versions to run. The
goal at this stage is to get "GNU LilyPond 2.22.2 Processing …"
emitted, regardless of what follows, error messages or otherwise.

> > > What is the reason for this?

My reasoning for using the versions mentioned is merely that I've
observed differing structures between these binaries. I know
nothing about mingw, and my observations could be no more relevant
than a suggestion to try tasting red, yellow or green tomatoes just
on the basis of their colour.

> > > What to do about it?

That depends on whether you get different behaviours of the system
using these versions of LilyPond. Step one is checking whether you
can run /any/ downloaded lilypond file at all, regardless of version.

All the above assumes that you're sticking with your old XP machine
(I don't know how important LP is among its mix of tasks).

Cheers,
David.



Re: LilyPond-2.22.2 does not work on Windows XP

2022-10-13 Thread David Wright
On Wed 12 Oct 2022 at 23:51:22 (+), Dag Bergman wrote:
> 
> I have a Windows XP computer with Lilypond 2.10.25.  It works fine with 
> simple program codes and advanced code developed with earlier versions of 
> Lilypond.  It does not work so well when I try to use a newer program 
> developed with a later version of Lilypond, as I get many error messages.  I 
> therefore tried to install LilyPond-2.22.2, which is newer than the versions 
> of Lilypond the program were developed with.  It does not work at all, 
> however, and I get the error message: "The system cannot execute the 
> specified program."  It does not matter what code I try to run.
> 
> What is the reason for this?

Can I take a step back and turn your question around—why are you
running XP at all? Presumably there's some important reason, but
surely it can't mean that this is the only machine available to you
(which would imply that you connect it to the internet).

> What to do about it?

It may depend on your answer to the previous question, and what the
machine is—you haven't said.

> What is the latest version of Lilypond that actually works on Windows XP?

Whether that matters depends on your answers to the previous two …

Cheers,
David.



Re: another 'wrong type argument' error

2022-10-13 Thread David Wright
On Mon 10 Oct 2022 at 12:06:11 (+0100), Wols Lists wrote:
> On 10/10/2022 06:43, Jean Abou Samra wrote:
> > The problem isn’t LilyPond’s or its dependencies’ support for older macOS, 
> > which is better than even the system support. The real problem is Apple 
> > preventing you from upgrading your computer past a certain macOS version.
> 
> Which is probably down to newer versions of MacOS taking advantage of
> new chip features.
> 
> Linux drops support for older chips over time - it's almost impossible
> to get a distro that supports plain x86 any more ...

Hmm. My 2004 Acer Travelmate is currently running Debian/stable with
Linux acer 5.10.0-18-686 #1 SMP Debian 5.10.140-1 (2022-09-02) i686 GNU/Linux
and it can run FireFox, but slowly. Linux 5.10 is a longterm release;
kernel.org currently shows support until December 2026. The Debian/testing
installation manual still shows i386 support for their ~2023 release.

With the Travelmate, I just ran the source for K310 supplied in
https://lists.gnu.org/archive/html/lilypond-user/2020-10/msg00344.html
on Debian/stable's 2.22 i386 version, and the PDF output is visually
indistinguishable from that produced by 2.23.10 on current hardware.
Here's the log:

09:47:37 /tmp$ lily -d K-310 # -d selects the Debian-installed version of LP
/usr/bin/lilypond -dno-point-and-click K-310.ly
GNU LilyPond 2.22.0
Processing `K-310.ly'
Parsing...
Interpreting 
music...[8][16][24][32][40][48][56][64][72][80][88][96][104][112][120][128]
Preprocessing graphical objects...
Interpreting music...[8][16][24][32][40][48][56][64][72][80][88]
Preprocessing graphical objects...
Interpreting music...
warning: type check for `beatStructure' failed; value `1' must be of type `list'
[8][16][24][32][40][48][56][64][72][80][88][96][104][112][120][128][136][144][152][160][168][176][184][192][200][208][216][224][232][240][248]
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 19 or 20 pages...
Drawing systems...
Converting to `K-310.pdf'...
Success: compilation successfully completed
09:48:31 /tmp$ 

No problem for a 1.5GHz 32-bit processor with 512MB memory.
BTW the term "plain x86" is almost meaningless. For a start,
are you talking about the processor, or the architecture?
Debian's "amd64" architecture is still an x86, just 64-bit.

> Because Apple has
> far tighter integration between computer and OS, they can more easily
> upgrade in lock-step.

Cheers,
David.



Re: error: Unbound variable: \version

2022-09-20 Thread David Wright
On Tue 20 Sep 2022 at 05:49:24 (-0400), ming tsang wrote:
> On Tue, Sep 20, 2022 at 4:56 AM Jean Abou Samra  wrote:
> > Le 20/09/2022 à 10:18, ming tsang a écrit :
> > > dear lilyponders,
> > > i have the following lilypond code:
> > > \version "2.18.2"
> > > \markup "Test"
> > >
> > > That produce the following error in log file:
> > >
> > > Starting lilypond-windows.exe 2.18.2 [Untitled (9)]...
> > >
> > > C:/LilyPond_2-18-2/usr/share/lilypond/current/scm/lily.scm:462:5 <0>:
> > > In procedure primitive-load-path in expression (primitive-load-path
> > > file-name):
> > >
> > > C:/LilyPond_2-18-2/usr/share/lilypond/current/scm/lily.scm:462:5 <1>:
> > > Unbound variable: \version
> > >
> > > Exited with return code 1.
> > >
> > >
> > > QUESTION:
> > > I have version in my computer. I have window 10, lilypond v2.18.2 and
> > > v2.23.10, frecoaldi v3.2
> >
> > Does the error reproduce in 2.23.10, and if so, can you paste the exact
> > error message (with the line numbers)?
> >
> > What is the name of the file? This sounds like LilyPond is mistaking it
> > for one of its internal files.

> The following code is in v2.23.11 and it run OK.
> \version "2.23.11"
> \markup "test"
> 
> And the log file is :
> Starting lilypond.exe 2.23.11 [Untitled (11)]...

Why is this 11, not 9?

> Processing
> `C:/Users/YMINGT~1/AppData/Local/Temp/frescobaldi-7krgt6o3/tmprbzc8juy/
> document.ly'

You didn't post this line in the OP. It's helpful to see the whole log
pasted, rather than snippets.

So can we assume that you're running this code from Frescobaldi?

In which case, can you test whether the cade runs correctly in
LilyPond; that's native LilyPond, executed directly from Windows.

Otherwise, you haven't eliminated the possibility that new
Frescobaldis have "forgotten" how to call ancient versions
of LilyPond successfully.

I also wonder whether the old "unsaved file" has anything to
do with the problem (which would make the problem go away with
direct LilyPond, as you can't run LP on an unsaved file).

Cheers,
David.



Re: Raise the "Fine" and "D.C. Fine" above the repeat volta alternative brackets, how?

2022-09-19 Thread David Wright
On Mon 19 Sep 2022 at 17:45:24 (-0700), Kenneth Wolcott wrote:

>   What is "\rightjust"? Is it a variable (macro) that you have
> defined?  I can't find that command in the NR.  How does that differ
> from right-align, which I tried and it didn't work for me.

Oops, I'm sorry. I forgot that I'm relying on my main library for
its definition:

rightjust = {
  \override Score.RehearsalMark.self-alignment-X = #right
  \override Score.RehearsalMark.break-visibility = #begin-of-line-invisible
}

Of course, now I shall read Jean's contribution to see whether
I'm up-to-date. My libraries can otherwise fall behind the latest
ways of doing things.

Cheers,
David.



Re: Raise the "Fine" and "D.C. Fine" above the repeat volta alternative brackets, how?

2022-09-19 Thread David Wright
On Mon 19 Sep 2022 at 16:28:35 (-0700), Kenneth Wolcott wrote:

>   I have implemented the "Fine" and "D.C. al Fine" as rehearsal mark markups.
> 
>   Now I have a problem where the "D.C. al Fine" consumes much more
> space than the bar containing the dotted-half note, it even falls off
> the right side of the page.
> 
>   How does one expand the bar enough to contain the markup instead of
> modifying the markup to fit the bar?

Right justification is usual:

global = {
  \key c \major
  \time 4/4
  s1 * 4
  \rightjust \mark \markup{ \smallCaps "Fine"}
  \bar "|."
  s1 * 10
  \bar "||"
  s1 * 10
  \bar "||"
  s1 * 9
  \bar "||"
  \rightjust \mark \markup{ "D.C. al Fine"}
}

Cheers,
David.


Re: How to enlarge the entire Lilypond output (pdf)

2022-09-16 Thread David Wright
On Fri 16 Sep 2022 at 08:02:35 (-0700), Knute Snortum wrote:
> On Thu, Sep 15, 2022 at 11:29 PM Eef Weenink  wrote:
> >
> > I use the crop function to minimize the white around the music.
> 
> If you want, you can do this inside LilyPond in a paper block:
> 
>   top-margin = 5\mm
>   bottom-margin = 6\mm
>   left-margin = 10\mm
>   right-margin = 10\mm

Like altering set-global-staff-size, moving the margins can change
the layout of the music, in ways that may or may not be satisfactory.
At the very least, you have to check with each alteration made.

If you're preparing scores for two modes of display, like Eff,
it may be worth considering an external program to crop the
pages of the score, like pdfcrop. The margins for a printed copy
are often constrained by the physically printable area of an
individual printer, whereas screens can display to the very edge.

But generating both from the same LP output ensures that all the
musicians will see exactly the same layout, page turns, etc.

Cheers,
David.



Re: is this a slashed grace?

2022-09-15 Thread David Wright
Kenneth Wolcott wrote:
> >   I asked this question regarding a different piece that I was engraving.  
> > It looks like the slashed grace as shown in the Lilypond documentation is 
> > not the same as what I have engraved (there is no slash).
> >   Now another piece has come up with the same question.
> >   Maybe these aren't slashed grace notes?  Maybe (as usual) I'm doing 
> > something wrong?
> >   My input, my engraving and the origin I'm reading from are attached.

Mark Stephen Mrotek wrote:
> > Are you referring to the ornaments is measures 3, 11, and 25?

Kenneth Wolcott wrote:
> That's correct.

https://lilypond.org/doc/v2.22/Documentation/notation/special-rhythmic-concerns

Scroll down to:

  Known issues and warnings

  A multi-note beamed acciaccatura is printed without a slash,
  and looks exactly the same as a multi-note beamed appoggiatura.

Cheers,
David.



Re: How to enlarge the entire Lilypond output (pdf)

2022-09-15 Thread David Wright
On Thu 15 Sep 2022 at 16:50:30 (-0700), Kenneth Wolcott wrote:
> 
>   Perhaps I'm not searching the Lilypond documentation wisely, but I do not
> see a way to enlarge the entire Lilypond output in scale (staff, notes,
> text, everything).

Everything? including the paper?

>   Perhaps I have to modify the pdf itself?  If so, does that decrease the
> clarity/precision of the presentation?

Yes, if you want to make the music larger on each page, with
fewer measures/line and lines/page, and using more pages.

#(set-global-staff-size 20.0)   is the default. Increase or
decrease accordingly.

>   I'd like to control this globally, and, preferably, externally.

Oh, scratch the previous paragraph. Just find a viewer that's
able to increase and decrease the magnification. (Don't they all?)

>   My wife is trying to use the Lilypond pdf that I generate on her iPad and
> sometimes she tries to resize (enlarge) it and that fails.

That suggests that it's not obvious how you should be controlling
your viewer. Tyically, you'd put your fingers on the screen and
slide them apart to expand the display, or you'd select
magnification factors from a menu (or, as I do, have predefined
keystrokes, 0–9, z, h, w, that set preferred magnifications,
100–2000%, fit to page, height, or width).

So it depends on which you and your wife want.

Cheers,
David.



Re: Moving fingering, spacing between staves

2022-09-09 Thread David Wright
On Fri 09 Sep 2022 at 10:38:24 (+0200), Jean Abou Samra wrote:
> Le 07/09/2022 à 01:00, Knute Snortum a écrit :
> > In order to avoid the AB problem,
> 
> What do you call by "AB problem"?

https://en.wikipedia.org/wiki/XY_problem

> > what I'm trying to do is move some
> > fingering down in the system, but the problem I run into is I get too
> > much space between staves.

A tyro would have asked how to close up the staves
and cause a timewasting discussion, before eventually
revealing the real cause of the problem: that they'd
moved the fingering in an inappropriate manner.

Cheers,
David.



Re: Lilypond-book problem

2022-09-06 Thread David Wright
On Tue 06 Sep 2022 at 11:19:28 (+0200), Rip _Mus wrote:
> Il giorno lun 5 set 2022 alle ore 19:06 Knute Snortum ha scritto:
> > On Sun, Sep 4, 2022 at 10:26 PM Rip _Mus wrote:
> > >> On Sun, Sep 4, 2022 at 9:06 AM Rip _Mus wrote:

> > >> > I have installed the version 2.22.1, wich I used for a lot of big
> > project.
> > >> > A lot of times I tried to open terminal and run "lilypond-book" but
> > without success. I already add the folder "...\usr\bin" to the
> > environmental variabile path, in fact the command "lilypond" runs.
> > >> > Someone could help me?

> > > thanks for the reply!  You're right, I could have added a few more
> > details.
> > > The operating system is Windows 10. For using Lilypond on command line,
> > I followed the instructions on the site.
> > > I added the folder "C:Program Files (x86)\LilyPond\usr\bin" to the
> > environmental variable “Path”.
> > >  I think I followed them well, as the "ilypond" command works.  The
> > other commands "lilypond-book" and "convert-ly" instead give me the
> > following message:
> > >
> > > 'lilypond-book' is not recognized as an internal or external command
> > >
> > > What I notice is that in the folder in question there are lilypond-book
> > and convert-ly scripts, but they are without extension (for example * .py)
> > >
> > > What do you think about?

> > Well, I had the same experience as you.  One solution is to type:
> >
> > python3 "C:Program Files (x86)\LilyPond\usr\bin\lilypond-book"
> >
> > You could put that in a batch file somewhere in your PATH.  There may
> > be other solutions too.

> Ok!
> I tried and it works very well!
> Another solution is to add the extension ".ly" to the file name and then
> the command runs.

More likely you added .py ?

> I don't understand why it is not the way described in Lilypond manuals.
> Anyway, thank you so much for your help!

The archetypal system for Lilypond is un*x/linux, so the documentation
reflects that. Where Windows differs, that's often pointed out. See,
for example, Usage §2.2 Invoking convert-ly.

Unfortunately, the principal reference for Windows on the Command Line
doesn't mention this difference or give an example (lilypond itself is
a real EXE file, whereas all the support programs are Python scripts):

https://lilypond.org/windows.html

web.pdf page number 44, physical page 46.

Perhaps the reason is that the documentation writer(s) had set their
environment variable PATHEXT to include .py (or should it be .PY ?)
long ago, and have forgotten about it:

https://www.nextofwindows.com/what-is-pathext-environment-variable-in-windows

But sometimes that appears not to be the answer either:

https://superuser.com/questions/1619580/pathext-environment-variable-not-working

--

In researching this, I noticed that, on the web, the target of
https://lilypond.org/doc/v2.23/Documentation/web-big-page.html#windows
appears to be Nicolas Sceaux's use of LP, whereas the 2.23.12 version
on my system points to the correct place in the page, corresponding to:

https://lilypond.org/windows.html

Disclaimer: I don't use Windows, so all is hypothetical.

Cheers,
David.



Re: Latest Version sh file?

2022-09-05 Thread David Wright
On Mon 05 Sep 2022 at 13:19:44 (-0400), Craig Bakalian wrote:
> Hi David,
> 
> Thanks, got it.  I used to be a C programmer, lol.  You think I would
> know.  I must say that I did like the sh file better than sudo mv.  
> One more question though, I can't move it to usr/share because that is
> where the usr/share/lilypond folder is that holds 2.22.1, right?

Yes, I wouldn't commingle versions, particularly downloaded ones
with distribution ones.

> I am
> thinking a good place for it is usr/local/share/.

Because of the lilypond binary itself, I would prefer a bin/, like
/usr/local/bin/lilypond-2.23.12/{bin,etc,lib,libexec,licenses,share}/
but as I'm the only one using it here, I just use ~/lilypond-2.23.12/…
along with several other versions. I don't modify my $PATH.

I run LP with a bash function having the following options:

  -p restore Point-and-click (increases size, reveals paths),
  -x run eXperimental cairo backend (for 2.23.12 on, PDF-1.5, doubles size),
  -l retain the Log output rather than moving it to trash,
  -v run a specific Version of LilyPond from $HOME,
  -s run the Stable version rather than the newest,
  -o run the Oldest version from $HOME,
  -d run the installed Debian version,
  -c Crop PDF file with pdfcrop for inclusion within LaTeX files.

Cheers,
David.



Re: Getting point and click going with gvim on Alma Linux

2022-09-05 Thread David Wright
On Tue 06 Sep 2022 at 03:27:46 (+1000), Andrew Bernard wrote:
> 
> I'll incorporate your suggestions. Note that this was specifically
> about gvim not vim, but I can add in vim as well, since it is so
> closely related. There's still stuff here that is not covered in the
> NR,. such as window focus with the mouse that I think is useful.
> However, looking more closely now at the NR it looks like this file
> was a waste of time, as it is all covered the now. [I wonder if some
> bits came from my original screed? :-)] I'm guilty of not reading the
> current NR closely. Incidentally I use EDITOR for everything, not a
> different editor for lilypond, but that's a valid point re LYEDITOR.
> My notes reflect my bias.

I added the note about vim partly because J Martin Rushton
mentioned running it as part of a non-Frescobaldi workflow.

BTW I was interpreting your NR to refer, sensu stricto, to
notation.pdf, and Usage to refer to usage.pdf. It strikes me
that the distinction might not be obvious in the web docs.

I omitted to add that the lilypond-invoke-editor.desktop that
one creates is a scratch file, which can be deleted once the
xdg-* commands have been run. The official LP docs suggest
creating it in /tmp but without mentioning that that usually
results in it being cleaned out at the next boot.

> The gvim annoying error message and press ENTER to continue is still
> not resolved even in version 9 but I am determined to find an answer
> even it it means patching the source code. Currently it really makes
> gvim much less felicitous than it ought to be for this application.
> 
> I don't know if it is worth mentioning but emacs on Alma Linux at
> least totally carks it when used in this manner with emacs as as
> server. But emacs has the courtesy to print out that this is a known
> bug, then promptly dies!

I have in my notes (written when Debian was two versions back):

  $ emacs
  ESC-x server-start

  (Don't run emacs --daemon as this seems to provoke an error
  (or unusual effect) at the present time which is stretch.)

As is well-known, without setting emacs to server-mode, every
point-and-click will open a new instance. However, you can type
ESC-x server-start   at any time in any one emacs instance
(ie only one server in operation at a time).

> But my notes are really redundant since the NR does cover pretty much
> all, so I guess the recommendation can be changed to RTNR. :-)

The boxed note in Usage (§4.1.1 page 43) should carry a warning
that every time, apart from the first, that you try to start a
new instance of emacs (eg to reply to an email, edit a file,
point-and-click, etc), you'll end up with a split screen and
a 4-line warning message—very tedious.

ISTR that we had fun with apparmor last time around. I'll have
to check whether bullseye has been configured such that you don't
notice it, or whether I just haven't set it up to enforce it.
There are always wrinkles.

Cheers,
David.



Re: Getting point and click going with gvim on Alma Linux

2022-09-05 Thread David Wright
Just some jottings for your consideration.

On Mon 05 Sep 2022 at 09:46:44 (+1000), Andrew Bernard wrote:
> In response to the recent thread on alternatives to Frescobaldi on
> Alma Linux I have prepared this set of instructions. I have tested
> this and there are two points in addition to the notes below.
> 
> One, I am unable to get rid of the last line of the extensive status
> message gvim shows at the bottom when invoked with a remote call. This
> is puzzling - I am working on it.

Yes, I usually see one line of that message. It seems to be less
frequent if the first click takes you a reasonable distance down
the source file, and virtually always seen if the top of the
source is showing. Not being a vi-person, I have no idea how to
eliminated it. (I do have your .vimrc fragment below included.)

> Second, in 2.23.12 at least, there is an error, strangely only for
> gvim, in libexec/lilypond-invoke editor. Line 130 is missing a comma,
> and must be updated to:
> 
>     "gvim": [("gvim", "--remote", "+:%(line)s:norm%(column)s",
> "%(file)s")],
> 
> I have submitted a bug report request about this.

It looks as if this has always been in the new Python version,
so perhaps we can surmise that the developer wasn't a vim-person.

[ … ]

> The Guide to getting Point and Click going with Gvim under Alma Linux 9
> ---
> 
> The NR has no detailed information about Lilypond point and click with
> gvim for
> Alma Linux. This note attempts to remedy that. Some information from
> the NR is
> copied here for ease of reference.

I think point-and-click was covered in Usage since 2.14.

[ … ]

> Setting the EDITOR variable
> ---
> 
> Lilypond uses the environment variable EDITOR to select which editor
> to use to
> display point and click links. For gvim, simply use the value 'gvim':
> 
> export EDITOR=gvim
> 
> Setting LYEDITOR is not required.

For the new, Python, version of lilypond-invoke editor,
the preferred choice of variable is, in order of preference,
LYEDITOR, XEDITOR and EDITOR. Using LYEDITOR is specific to
point-and-click, and so you don't interfere with the usual
system-wide effects of EDITOR (eg with crontab, mutt, less,
more, midnight commander, etc. to name but a few).

> Running Gvim and Evince
> ---
> 
> Run gvim in server mode by doing - exactly nothing! Simply running gvim will
> start the process in a new window. From the terminal this suffixes:
> 
> $ gvim
> 
> By default gvim will respond to remote requests such as from
> lilypond-invoke-editor. There is no need to use the --servername
> option as the
> name defaults to GVIM (and you can see this in the title bar). By default
> lilypond sends point and click requests to the gvim server named GVIM.

If you prefer running a text version of vim (eg, in xterm/terminal/…),
you still need to add   --servername gvim   when you start vi/vim,
so that it captures the point-and-clicks.

This is because the servername "gvim" is hard-coded into
lilypond-invoke-editor as server to seek, but the server's name
defaults to the name by which it was invoked: ie, vi or vim.

Cheers,
David.



Re: Latest Version sh file?

2022-09-05 Thread David Wright
On Mon 05 Sep 2022 at 10:39:23 (-0400), Craig Bakalian wrote:
> I do appreciate using the latest version of lilypond.  I went to
> download the latest version, because I did a complete update to my
> computer with mint 21, and the linux latest version to download
> appears to be source files.  Didn't it used to be a sh file?  I would
> just sudo sh the latest version and typeset with glee.  What is up?

Just unpack the archive, when the top-level directory will be
lilypond-2.23.12. Move this to any permanent location you like.

Run lilypond and the other binaries either by giving their full path,
or by adding lilypond-2.23.12/bin to your $PATH (under the name you chose).

Uninstall, if required, by removing the top-level directory.

Cheers,
David.



Re: Alternative to Frescobaldi

2022-09-04 Thread David Wright
TL;DR

You need to follow Usage, §4.1.1 for evince to call
lilypond-invoke-editor successfully.

On Sat 03 Sep 2022 at 08:49:11 (+0100), J Martin Rushton wrote:
> On Fri, 2022-09-02 at 19:53 -0500, David Wright wrote:
> > On Fri 02 Sep 2022 at 22:46:01 (+0100), J Martin Rushton wrote:
> > > On Fri, 2022-09-02 at 16:17 -0500, David Wright wrote:
> > > > On Fri 02 Sep 2022 at 21:43:25 (+0100), J Martin Rushton wrote:
> > > > > I've just spent another couple of hours clearing out previous
> > > > > attempts
> > > > > to get Frescobaldi running and attempting to sort out its
> > > > > dependency
> > > > > hell.
> > > > > 
> > > > > Is there any alternative to Frescobaldi?
> > > > 
> > > > An editor (emacs) + LilyPond + PDF viewer (xpdf).
> > > > (My choices in parentheses.)
> > > > 
> > > > > I'm running AlmaLinux 8.6 if that helps.
> > > > 
> > > > Not a great deal; does it mean that F~ isn't part of the
> > > > distribution?
> > > > 
> > > My preference is for vi, but yes, that's what I've been using for
> > > the
> > > last couple of years since F~ stopped working.  What I miss though
> > > is
> > > the back link from the score to the source, and the MIDI playback.
> > 
> > 0. Which PDF viewer, and which version of LP?
> 
> Evince
> $ lilypond -v
> GNU LilyPond 2.22.1
> ...
> 
> > 
> > 1. Does the PDF have the textedit URLs?
> >$ grep -a textedit foo.pdf
> >/URI(textedit:///tmp/restpos.ly:4:16:17)>>
> >  ………
> 
> Yes
> 
> > 2. Does the PDF viewer see them? Look for cursor to change as you
> >move over a notehead.
> 
> Yes
> 
> > 3. Run the PDF viewer from the commandline. Click on an active
> >notehead. What appears on the console? Anything like:
> >  lilypond-invoke-editor (GNU LilyPond) 2.22.0
> 
> "textedit:///BlowAwayTheMorningDew.ly:35:16:17"

Is than on the console, or in the evince window itself?

Because I don't use evince, and haven't set it up, I get
"Unable to open external link". But your message starts with
"textedit" rather than "lilypond-invoke-editor", which might
be a similar problem.

I think you need to set up the GNOME section in Usage §4.1.1.
Whether you also need the following section, "Extra
configuration for Evince", depends on whether Alma has
configured apparmor or not. Repost if you get permission errors.

> > 4. Is lilypond-invoke-editor defined?
> >$ which lilypond-invoke-editor
> >/usr/bin/lilypond-invoke-editor
> 
> $ command -v lilypond
> /opt/bin/lilypond
> $ ls -l /opt/bin/lilypond
> -rwxr-xr-x 1 root root 112 Feb 13  2022 /opt/bin/lilypond
> $ ls -l /opt/bin/lilypond-invoke-editor
> lrwxrwxrwx 1 root root 31 Feb 13  2022 /opt/bin/lilypond-invoke-editor
> -> /opt/bin/lilypond-wrapper.guile
> 
> 
> > 5. Can lilypond-invoke-editor open a file in an editor,
> >preferably the one you want?
> >$ lilypond-invoke-editor textedit:///tmp/foo.txt:2:4:6
> >/tmp/foo.txt is the full path to any old text file with
> >more than a couple of lines in it. The cursor should land
> >on the second line, four chars along.
> 
> $ lilypond-invoke-editor
> textedit:BlowAwayTheMorningDew.ly:2:4:6
> lilypond-invoke-editor (GNU LilyPond) 2.22.1
> sh: emacsclient: command not found
> sh: emacs: command not found

5a. Try:

$ LYEDITOR=gvim lilypond-invoke-editor 
textedit:BlowAwayTheMorningDew.ly:2:4:6

If that works, you need to set LYEDITOR in your startup file.
That might be as above or, in view of your answer below, to:

  LYEDITOR="vi --servername gvim"

Or start editing with:

$ vi --servername gvim BlowAwayTheMorningDew.ly

If vi isn't running when you point and click, you should just get an
extra message, like 'E247: no registered server named "GVIM":
Send failed. Trying to execute locally', which should be harmless.

(The benefit of starting vi yourself is that you get to control where
it runs, rather than it just popping up when you click the first time.)

If 5a doesn't work, substitute EDITOR for LYEDITOR. (The benefit of
LYEDITOR is that EDITOR usually has a meaning across the entire OS,
rather than just this application.)

> > How many of those steps work?
> > 
> > And at the other end of the process, are you starting vi as
> > a server, with something like:
> > 
> > $ gvim
> > $ vim --servername GVIM
> > $ vi --servername gvim
> > 
> > (letter-case unimportant), else you might see:
> > E247: no registered server named "GVIM": Send failed.
> 
> $ vi BlowAwayTheMorningDew.ly
> 
> FYI
> $ command -v vi
> /usr/bin/vi
> bash-4.4$ ls -l /usr/bin/vi
> -rwxr-xr-x 1 root root 1180368 Aug  2 17:57 /usr/bin/vi

Cheers,
David.



Re: Alternative to Frescobaldi

2022-09-02 Thread David Wright
On Fri 02 Sep 2022 at 22:46:01 (+0100), J Martin Rushton wrote:
> On Fri, 2022-09-02 at 16:17 -0500, David Wright wrote:
> > On Fri 02 Sep 2022 at 21:43:25 (+0100), J Martin Rushton wrote:
> > > I've just spent another couple of hours clearing out previous
> > > attempts
> > > to get Frescobaldi running and attempting to sort out its
> > > dependency
> > > hell.
> > > 
> > > Is there any alternative to Frescobaldi?
> > 
> > An editor (emacs) + LilyPond + PDF viewer (xpdf).
> > (My choices in parentheses.)
> > 
> > > I'm running AlmaLinux 8.6 if that helps.
> > 
> > Not a great deal; does it mean that F~ isn't part of the
> > distribution?
> > 
> My preference is for vi, but yes, that's what I've been using for the
> last couple of years since F~ stopped working.  What I miss though is
> the back link from the score to the source, and the MIDI playback.

0. Which PDF viewer, and which version of LP?

1. Does the PDF have the textedit URLs?
   $ grep -a textedit foo.pdf
   /URI(textedit:///tmp/restpos.ly:4:16:17)>>
 ………

2. Does the PDF viewer see them? Look for cursor to change as you
   move over a notehead.

3. Run the PDF viewer from the commandline. Click on an active
   notehead. What appears on the console? Anything like:
 lilypond-invoke-editor (GNU LilyPond) 2.22.0

4. Is lilypond-invoke-editor defined?
   $ which lilypond-invoke-editor
   /usr/bin/lilypond-invoke-editor

5. Can lilypond-invoke-editor open a file in an editor,
   preferably the one you want?
   $ lilypond-invoke-editor textedit:///tmp/foo.txt:2:4:6
   /tmp/foo.txt is the full path to any old text file with
   more than a couple of lines in it. The cursor should land
   on the second line, four chars along.

How many of those steps work?

And at the other end of the process, are you starting vi as
a server, with something like:

$ gvim
$ vim --servername GVIM
$ vi --servername gvim

(letter-case unimportant), else you might see:
E247: no registered server named "GVIM": Send failed.

Cheers,
David.



Re: Alternative to Frescobaldi

2022-09-02 Thread David Wright
On Fri 02 Sep 2022 at 21:43:25 (+0100), J Martin Rushton wrote:
> I've just spent another couple of hours clearing out previous attempts
> to get Frescobaldi running and attempting to sort out its dependency
> hell.
> 
> Is there any alternative to Frescobaldi?

An editor (emacs) + LilyPond + PDF viewer (xpdf).
(My choices in parentheses.)

> I'm running AlmaLinux 8.6 if that helps.

Not a great deal; does it mean that F~ isn't part of the distribution?

Cheers,
David.



Re: Configuration problems following new installation of Frescobaldi

2022-08-30 Thread David Wright
On Tue 30 Aug 2022 at 09:27:03 (+0200), Jean Abou Samra wrote:
> 
>   
> 
>   
>   
> Le 30/08/2022 à 08:56, Michael Hendry a
>   écrit :
> 
>cite="mid:f07d2e1c-86fb-4b51-8cb9-dff22577c...@gmail.com">
>   I stopped using Frescobaldi and 
> Lilypond at the beginning of the Covid pandemic and since then I have bought 
> a new iMac with Monterey and transferred files across,
> 

[ … etc … ]

Just a note, if you're unaware, that your valuable contributions
to lilypond-user are no longer available to people who rely on
the text digest emails, now that you post HTML only (this morning,
your time). They will receive, eg:

--

  Message: 7
  Date: Tue, 30 Aug 2022 09:27:03 +0200
  From: Jean Abou Samra 
  To: Michael Hendry , LilyPond User
  
  Subject: Re: Configuration problems following new installation of
  Frescobaldi
  Message-ID: <3da23e00-7994-691a-0b35-2b0c624f2...@abou-samra.fr>
  Content-Type: text/plain; charset="utf-8"

  An HTML attachment was scrubbed...
  URL: 


--

They do get to see the sections that other people quote.

Cheers,
David.



Re: Displaying bar numbers for repeats

2022-08-28 Thread David Wright
On Sun 28 Aug 2022 at 10:25:28 (+0100), Wols Lists wrote:
> On 28/08/2022 04:46, David Wright wrote:
> > On Sun 28 Aug 2022 at 10:33:30 (+1000), Andrew Bernard wrote:
> > > I suppose there is a way to do this but the concept is strange. I have
> > > never seen any edition do this. Why? Speaking as an organist if I came
> > > across this I would have to spend time working out what in earth the
> > > bracketed number means. What does it add to the score in any practical
> > > sense?
> > 
> > If I'm playing/singing from a copy with unfolded repeats, and we
> > want to start at measure 42, somewhere in the middle of your 2nd-time
> > repeat, you wouldn't find any number close to 42 in your copy without
> > this or a similar notation.
> > 
> > I'd consider it mainstream. Turn to the opening of Sussex Carol in
> > 100 Carols for Choirs (OUP) for an example that countless people will
> > have on their shelves.
> > 
> Hmm...
> 
> Sounds like something lilypond should have, BUT. Like so many things,
> it may be mainstream for you, I think I've encountered it once.

I used that word not because I think you should be familiar with it,
but because a notation used by Oxford University Press, a mainstream
publishing house, was described as a strange concept.

We all move in our different spheres: I have some student feedback
from an eminent British choral arranger who was mystified as to
why the bar number skipped forward on the line after a 2nd-time bar;
the audacity of counting the measures in the music itself, rather than
as they happen to be printed in the folded score.

> We
> need an OPTIONAL unfold bar numbers setting :-) (I regularly complain
> about Gould - a lot of music I typeset was printed before she was
> born.)
> 
> Even worse, we might need to make it optional per repeat!
> 
> I think the worst I've come across in this regard is we had two
> different typesettings of the same piece - some copies had unfolded
> repeats, some copies had bar numbers, some copies had rehearsal marks
> ... practice was a complete mess until we worked out what on earth was
> going on :-)

I suppose even adding bar numbers to scores was a strange concept for
some, back whenever copyists/publishers first obliged us.

Cheers,
David.



Re: Displaying bar numbers for repeats

2022-08-27 Thread David Wright
On Sun 28 Aug 2022 at 10:33:30 (+1000), Andrew Bernard wrote:
> I suppose there is a way to do this but the concept is strange. I have
> never seen any edition do this. Why? Speaking as an organist if I came
> across this I would have to spend time working out what in earth the
> bracketed number means. What does it add to the score in any practical
> sense?

If I'm playing/singing from a copy with unfolded repeats, and we
want to start at measure 42, somewhere in the middle of your 2nd-time
repeat, you wouldn't find any number close to 42 in your copy without
this or a similar notation.

I'd consider it mainstream. Turn to the opening of Sussex Carol in
100 Carols for Choirs (OUP) for an example that countless people will
have on their shelves.

Cheers,
David.



Re: completely filling a page, but not too compact, how?

2022-08-19 Thread David Wright
On Fri 19 Aug 2022 at 09:32:45 (+0200), Lukas-Fabian Moser wrote:
> What I didn't change: Classical convention would probably give the
> final bar a length of only 4 (with fermata), not 1. But I wouldn't put
> too much stock in this, I know that a crotchet final chord would
> probably look strange, and there are plenty of counterexamples to that
> convention.

I'm used to seeing this air written in 8/4, which looks like this
(the last note sung would be 1~4).

Cheers,
David.
\version "2.22.2"

% Danny Boy (Londonderry Air)

global = {
  \language "english"
  \numericTimeSignature
  \time 8/4
  \key c \major
  \tempo "Smoothly, with expression"
  \partial 2.
}

\header {
  title = "Danny Boy"
  subtitle = "(Londonderry Air)"
}

\paper {
  ragged-last-bottom = ##f
  markup-system-spacing.padding = 3
}

\layout {
  system-count = 7
  \accidentalStyle modern
}

rh = {
  \global
  \clef treble
  b'4^2 c''^1 d''  | % m01
  e''4 a'' g'' e'' | % m02
  d''4^1 c''^3 a' c''  | % m03
  g'2  | % m04
%\break
  4\fermata b^2 c'^1 d'  | % m05
  \repeat volta 2 {
e'2. d'4| % m06
%\break
e'4 a' g' e'| % m07
%\break
d'4^1(c')^2 a2^1 ~  | % m08
a4 c' e' f' | % m09
g'2. a'4| % m10
%\break
g'4 e' c' e'^3   | % m11
%\break
d'1 ~| % m12
d'4 b^2 c'^1 d'  | % m13
%\break
e'2. d'4| % m14
%\break
e'4 a' g' e'| % m15
d'4^1(c'^2) a2^1 ~  | % m16
%\break
a4 b^2 c'^1 d'  | % m17
2. f'4   | % m18
e'4 d' c' d'| % m19
%\break
c'1 ~   | % m20
c'4 g'^2 a' b'  | % m21
2. b'4  | % m22
b'4 a' g' a'| % m23
%\break
g'4(e') c'2 ~   | % m24
c'4 g'^2 a' b'  | % m25
2. b'4  | % m26
%\break
b'4 a' g' e'| % m27
d'1 ~   | % m28
d'4 g'^2  q  | % m29
%\break
2. d''4   | % m30
4 c'' a' c''  | % m31
g'4(e') c'2   | % m32
%\break
r4 b^2 c'^1 d'  | % m33
e'4 a' g' e'^2  | % m34
d'4^1 c'^2 a b  | % m35
  }
%\break
  \alternative {
{
  c'2 | % m36
  4\fermata b^2 c' d'  | % m37
}
{
  c'1 | % m38
  4\fermata  | % m39
  \bar "|."
}
  }
}

piano_dynamics = {
  \global
  s8\mp s2 s8  | % m01
  s1   | % m02
  s1   | % m03
  s1   | % m04
%\break
  s1| % m05
  \repeat volta 2 {
s1  | % m06
%\break
s1  | % m07
%\break
s1  | % m08
s1  | % m09
s1  | % m10
%\break
s1  | % m11
%\break
s1  | % m12
s1  | % m13
%\break
s1  | % m14
%\break
s1  | % m15
s1  | % m16
%\break
s1  | % m17
s1  | % m18
s1  | % m19
%\break
s1  | % m20
s1  | % m21
s1  | % m22
s1  | % m23
%\break
s1  | % m24
s1  | % m25
s1  | % m26
%\break
s1  | % m27
s1  | % m28
s1  | % m29
%\break
c4 g c'2  | % m30
f2 c' | % m31
e2 a  | % m32
%\break
s1  | % m33
s1  | % m34
s1  | % m35
  }
%\break
  \alternative {
{
  s1  | % m36
  s1  | % m37
}
{
  s1  | % m38
  s4  | % m39
}
  }
}

lh = {
  \global
  \clef bass
  r4 r2| % m01
  c'2_1 bf | % m02
  2   | % m03
  2 fs   | % m04
%\break
  f4\fermata r r2  | % m05
  \repeat volta 2 {
c4_5 g c'2 | % m06
%\break
b2 bf  | % m07
%\break
a2 f4 e   | % m08
d2   | % m09
c2 b! | % m10
%\break
a2_1 fs_2| % m11
%\break
f4_3 d c' a  | % m12
g1   | % m13
%\break
c4 g b2  | % m14
%\break
bf1  | % m15
a2 f4 e  | % m16
%\break
d2   | % m17
g2 g,  | % m18
1 | % m19
%\break
g2 e| % m20
c2 | % m21
c4 g c'2| % m22
2   | % m23
%\break
2 b  | % m24
a2| % m25
c4 g c'2   | % m26
%\break
2   | % m27
fs4_3 d c' a| % m28
2 g,   | % m29
%\break
c4 g c'2  | % m30
f2 c' | % m31
e2 a  | % m32
%\break
1| % m33
g2 a   | % m34
2   | % m35
  }
%\break
  \alternative {
{
  2 fs| % m36
  f4\fermata r r2  | % m37
}
{
  2 g | % m38
  c4\fermata   | % m39
}
  }
}

\score {
  \new PianoStaff \with { instrumentName = "Piano" }
  <<
\new Staff \rh
\new Dynamics \piano_dynamics
\new Staff \lh
  >>
  \layout {}
}

\score {
  \unfoldRepeats {
<<
  \new Staff {
\set Staff.midiInstrument = "acoustic grand"
\rh
  }
  \new Dynamics \piano_dynamics
  \new Staff {
\set Staff.midiInstrument = "acoustic grand"
\lh
  }
>>
  }
  \midi {
\tempo 4=108
  }
}


derry.pdf
Description: Adobe PDF document


Re: very simple off-topic question regarding command line viewing of postscript files on macOS

2022-08-03 Thread David Wright
On Wed 03 Aug 2022 at 09:22:53 (+0200), Jean Abou Samra wrote:
> > Le 3 août 2022 à 01:24, Kenneth Wolcott  a écrit :
> >  I'm trying to simplify my workflow. I think I want to generate
> > postscript files instead of pdf files when using Lilypond.  I already
> > know how to do that.  But what I need to know is, on a Mac, how to
> > display the postscript file from the command line.  I used to do this
> > all the time a long time ago when I used UNIX and Linux, but homebrew
> > gs doesn't display the postscript.  I do not want to use preview.
> > 
> >  This used to be a TRIVIAL thing to do when I was younger, but now I
> > am old and my brain just isn't what it used to be.
> > 
> >  I've looked at several man pages and/or info and/or help (lastly
> > /opt/homebrew/Cellar/ghostscript/9.56.1_1/share/doc/ghostscript/9.56.1/Use.htm)
> > 
> > Current attempt:
> > 
> > /opt/homebrew/Cellar/ghostscript/9.56.1_1/bin/gs -sDEVICE=display
> > ../target/The_Swan.ps
> > GPL Ghostscript 9.56.1 (2022-04-04)
> > Copyright (C) 2022 Artifex Software, Inc.  All rights reserved.
> > This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
> > see the file COPYING for details.
> > zsh: segmentation fault
> > /opt/homebrew/Cellar/ghostscript/9.56.1_1/bin/gs -sDEVICE=display
> > 
> > So, what flags should I be using just to display the postscript?
> 
> Personally, I’d just have done
> 
> ps2pdf file.ps
> open file.pdf

I'd be tempted to do the same. Having put up with gv's interface for
years, it was a relief when a pdflatex workflow supplanted dvips's.

But another suggestion would be to run LP with -ddelete-intermediate-files='#f'
in which case you get both a PS and PDF. View one, and rename and
process the other. The wrinkle is, of course, that Usage states:

  delete-intermediate-files bool
  If bool is #t, delete the unusable, intermediate .ps files
  created during compilation
  Default: #t.

However, I can't see any visual difference between LP's PDF and the
PDF converted by ps2pdf from the intermediate file. Should I?
What is meant to make the PS unusable?

> I believe this is actually what some of the modern document viewers do if you 
> ask them to open a PS file.
> 
> Bottom line: this may be an XY question. Why do you want to generate 
> PostScript in the first place?

My first thought, too, especially as the OP writes "I /think/ I want
to generate postscript files …". But I hope my suggestions above are
suitably actionable, though not in the sense that word is usually used
over here. :)

Cheers,
David.



Re: Last note of a first alternative is a tie to the first note in the repeat; how to engrave this?

2022-07-27 Thread David Wright
On Wed 27 Jul 2022 at 21:27:53 (-0700), Kenneth Wolcott wrote:
> 
>   I must be missing something obvious here.
> 
>   The last note of a first alternative is a tie to the first note in the 
> repeat.
> 
>   Lilypond 2.22.2 complains:
> 
> La_Bamba.ly:67:40: warning: unterminated tie
>   r8 f'' f'' f'' f''4^. f''8^. e''
>~  | % m26
> 
> Thanks in advance for pointing out what I missed in the documentation...

Replace that tie with \laissezVibrer. It's on the second page of
Ties in NR, around p59 (I'm using 2.23 docs). It's the complement
of \repeatTie, and the difficulty with looking up these terms has
been commented on here quite recently.

> My engraving, my Lilypond source and the 8notes.com's Brass Quartet
> arrangement of "La Bamba" are attached.
> 
>   The problem occurs at bar 26 in the first trumpet part.

The 8notes's tie is far too long.

Cheers,
David.



Re: Undertie in lyrics to show no breath

2022-07-22 Thread David Wright
On Fri 22 Jul 2022 at 12:52:17 (+0200), mancunius wrote:
> On 22 Jul 2022, at 10:41, Jean Abou Samra  wrote:
> > Le 22/07/2022 à 10:27, Simon Albrecht a écrit :
> >> On 20/07/2022 12:34, mancunius wrote:
> >>> Hello. In the following example I want the undertie to be placed between 
> >>> the 2 “O sacrum convivium” lines of lyrics, to indicate that no breath 
> >>> should be taken by the singers - as per the normal choral convention. 
> >>> (cf. the commented-out \breathe command in the music itself.) As it 
> >>> currently compiles, the undertie is placed beneath the word “O” of the 
> >>> second phrase.
> >> 
> >> This is because the markup command \undertie requires an argument and so 
> >> it is applied to the following syllable.
> >> 
> >> What I would suggest is a dotted or dashed slur between the notes like 
> >> this:
> >> 
> >> { \once\dashedSlur cs( d) }

> > Well, as David W. mentioned, there is predefined syntax with "~" to create 
> > a tie. Its length is fixed, however.
> > 
> > { c'1 1 }
> > \addlyrics { aah~ aah }
> > 
> > Do you think it's conventional to make the tie extend to the next syllable?
> 
> Thank you for the replies. The lyric tie doesn’t need to extend to the next 
> syllable, but it looks odd when appended to the left syllable at the same 
> time as displacing it; it looks like an error, 

Sure, I pointed that out; and as I implied, for precision you need to
make adjustments in X position. It just depends on who's the target
of your engraving.

> especially if the left syllable were to stretch across more than one note as 
> in the revised example below.

Well that actually solves the alignment problem, because it forces
left-alignment of the lyric.

> The purpose of a dotted slur between the notes is ambiguous, so I’d rather 
> not take that route.

… and when the piece is strophic, it doesn't actually specify which
verses carry over, particularly if the engraver wishes to preserve,
but contradict, the text's punctuation (as here).

> My preference is to have a lyric tie equally spaced between the two 
> syllables: it looks elegant and its purpose is clear.

I suppose a scheme expert might be able to hack that out of a fake
lyric hyphen rendered as a slur.

(Technically, these are lyric slurs, of course.)

But my preference is attached, because that's the syllable affected.
That said, if there's a new line involved, I prefix the second
syllable with a slur too, as a reminder when the eye has moved ahead.
Again, adjustments ….

Anyway, when following a tied note, perhaps pick a method that suits.
There's a snippet attached (the ! example is just to document that the
padding argument is optional).

Cheers,
David.
\language "english"
\include "extender.ily"
extendSlur =  #(extend "‿" 0.2)
extendBang =  #(extend "!")

global = { \key d \major }

soprano=\relative c'{
r4 cs cs a 
d e cs fs ~
fs %\breathe 
b, fs' fs8 fs
a4. a8 g4 fs
}

sopranotext=\lyricmode{
O sa -- crum con -- ví -- vi -- um, \extendSlur
O sa -- crum con -- ví -- vi -- um, con
}

\score {
\new Staff <<
\global
\new Voice="v1"
{
\clef "treble"
\soprano
}
\new Lyrics \lyricsto "v1" {\sopranotext}
>>
}

sopranotext=\lyricmode{
O sa -- crum con -- ví -- vi -- "um,__‿"
O sa -- crum con -- ví -- vi -- um, con
}

\score {
\new Staff <<
\global
\new Voice="v1"
{
\clef "treble"
\soprano
}
\new Lyrics \lyricsto "v1" {\sopranotext}
>>
}

sopranotext=\lyricmode{
O sa -- crum con -- ví -- vi -- "um,__ ~"
O sa -- crum con -- ví -- vi -- um, con
}

\score {
\new Staff <<
\global
\new Voice="v1"
{
\clef "treble"
\soprano
}
\new Lyrics \lyricsto "v1" {\sopranotext}
>>
}

sopranotext=\lyricmode{
O sa -- crum con -- ví -- vi -- "um, ~"
O sa -- crum con -- ví -- vi -- um, con
}

\score {
\new Staff <<
\global
\new Voice="v1"
{
\clef "treble"
\soprano
}
\new Lyrics \lyricsto "v1" {\sopranotext}
>>
}

sopranotext=\lyricmode{
O sa -- crum con -- ví -- vi -- um, \extendBang
O sa -- crum con -- ví -- vi -- um, con
}

\score {
\new Staff <<
\global
\new Voice="v1"
{
\clef "treble"
\soprano
}
\new Lyrics \lyricsto "v1" {\sopranotext}
>>
}

sopranotext=\lyricmode{
O sa -- crum con -- ví -- vi -- um,~ __
O sa -- crum con -- ví -- vi -- um, con
}

\score {
\new Staff <<
\global
\new Voice="v1"
{
\clef "treble"
\soprano
}
\new Lyrics \lyricsto "v1" {\sopranotext}
>>
}
\version "2.22.1" % 

Re: Undertie in lyrics to show no breath

2022-07-20 Thread David Wright
On Wed 20 Jul 2022 at 11:34:58 (+0100), mancunius wrote:
> Hello. In the following example I want the undertie to be placed between the 
> 2 “O sacrum convivium” lines of lyrics, to indicate that no breath should be 
> taken by the singers - as per the normal choral convention. (cf. the 
> commented-out \breathe command in the music itself.) As it currently 
> compiles, the undertie is placed beneath the word “O” of the second phrase. 
> How do I adjust it so that it becomes a link between the 2 phrases, not part 
> of one of them? (I’ve attached a screenshot of what I would like to achieve)

You might try:

O sa -- crum con -- ví -- vi -- um_~
O __ sa -- _ crum con -- ví -- vi -- um

± the comma.

Note that the alignment of the um is slightly affected,
if you're after precision.

Cheers,
David.



Re: Piping contents of SVG directly to stdout

2022-07-19 Thread David Wright
On Mon 18 Jul 2022 at 21:35:11 (+0200), Silvain Dupertuis wrote:
> Le 18.07.22 à 20:33, David Wright a écrit :
> > On Mon 18 Jul 2022 at 11:28:26 (-0500), DoubleFelix wrote:

> > > Actually this is exactly what I'm trying to do. My current setup uses a
> > > python library called svgpathtools to get the bounding box, then I do some
> > > basic manipulation of the width, height, and viewbox parameters to trim 
> > > all
> > > of the excess whitespace out. Although I am very interested in  can
> > > do this without any additional utilities.

> It'll be interesting to be able to ouput SVG directly to get snippet
> which can be integrated into other documents.

[Note to Jean Abou Samra: sorry, yes, I overlooked including the
command line, which was only given in the web page referred to.]

> Actually, one can get SVG files using Inkscape : import the PDF file
> (using PopplerCairo orption),  edit at will, select parts, crop, etc.
> and save as SVG.
> 
> This is what I did for this experimental page 
> <https://math.silvain-dupertuis.org/musique/Test-audition-fr%C3%A9quences.html>.
> I used one LilyPond file, produced one PDF page output, which I edited
> with Inkscpae to cut it into 3 SVG files to include in my HTML page.

Being document- rather than web-oriented, and having been using …TeX
for over 35 years, my workflow was [Encapsulated]PostScript- and is
now PDF-based. As for the cropping LilyPond output, pdfcrop has been
around for 20 years, longer than I've been using LP.

Trying to typeset anything more than plain vanilla scores, just using
LilyPond itself, has never been my priority. I generate any
surrounding textual matter in …TeX, and then insert the cropped
LilyPond PDFs into that, using either bash or Python scripts,
depending on the complexity (eg, automatic transposition of
Anglican chants).

But I can understand that others are more web-oriented, and I've
read that browsers can handle SVGs better than PDFs. I don't know
what the OP's workflow/platforms/desired outcomes are.

Cheers,
David.



Re: Piping contents of SVG directly to stdout

2022-07-18 Thread David Wright
On Mon 18 Jul 2022 at 11:28:26 (-0500), DoubleFelix wrote:
> 
> > Felix, I’m curious what you mean by cropping the file. Sounds to me like
> > you are trying to just write a small snippet of music, maybe a few
> > measures, and not have the output flooded by whitespace all around the size
> > of an A4 paper? This is also similar to what I was using lilypond for and
> > there are ways to do this without any external apps.
> >
> 
> Actually this is exactly what I'm trying to do. My current setup uses a
> python library called svgpathtools to get the bounding box, then I do some
> basic manipulation of the width, height, and viewbox parameters to trim all
> of the excess whitespace out. Although I am very interested in how you can
> do this without any additional utilities.

I thought this ought to be very simple.

The attached are shamelessly plundered from
https://lists.gnu.org/archive/html/lilypond-user/2021-01/msg00075.html

(There will be files generated, with names not including ".cropped.",
that need to be thrown away.)

Cheers,
David.
\new Score {
c'1
d'1
e'1
}
\new Score {
c'1
\break
c'1
\break
c'1
}

\new Score {
d'1
\break
d'1
\break
d'1
}

\new Score {
c'1
\break
c'1
\break
c'1
}

\new Score {
d'1
\break
d'1
\break
d'1
}

\new Score {
c'1
\break
c'1
\break
c'1
}

\new Score {
d'1
\break
d'1
\break
d'1
}

\new Score {
c'1
\break
c'1
\break
c'1
}

\new Score {
d'1
\break
d'1
\break
d'1
}

\new Score {
c'1
\break
c'1
\break
c'1
}

\new Score {
d'1
\break
d'1
\break
d'1
}


Re: Installing Lilypond 2.23.10

2022-07-14 Thread David Wright
On Thu 14 Jul 2022 at 17:33:01 (+0100), David Sumbler wrote:
> On Wed, 2022-07-13 at 23:00 +0200, Jean Abou Samra wrote:
> > Le 13/07/2022 à 20:26, David Sumbler a écrit :
> > > Thank you for that.  Yes, I should have noticed that the contents
> > > of 
> > > the tar file were not source code.  As it is, though, I'm not
> > > entirely 
> > > sure what to do with it - I guess that I put it all in a folder 
> > > somewhere and then make a link to bin/lilypond.
> > 
> > 
> > You just extract it somewhere and it becomes usable as
> > 
> > /.../lilypond-2.23.10/bin/lilypond file.ly
> > 
> > If you want to invoke it as "lilypond file.ly" without typing
> > the full path, you have to add the /.../lilypond-2.23.10/bin
> > directory to your PATH. One way to do so is to add this line
> > to your shell startup file (probably ~/.bashrc):
> > 
> > export PATH=/.../lilypond-2.23.10/bin:$PATH

Alternatively, you could just set up an alias, like:

$ alias lilypond='/…/lilypond-2.23.10/bin/lilypond'

in ~/.bashrc (or use whatever command name you wish).

> I don't use Frescobaldi; I normally edit Lilypond files in Emacs.
> 
> I moved the 2.23.10 folder to my home folder.  I tried making soft and
> hard links in my $HOME/bin folder to
>  $HOME/lilypond-2.23.10/bin/lilypond, but for some reason I couldn't
> get it to run, even though $HOME/bin is the first item in my PATH.  I
> haven't yet fathomed out why this was, but I worked around it by adding
> a direct reference to the folder as you suggested.
> 
> A more serious problem (for me) is that Emacs could no longer find
> Lilypond mode.  So I moved the new Lilypond to
> /usr/local/lilypond/usr/.  Emacs can now uses Lilypond mode, but can't
> compile a file - it produces reams of messages (after much processing
> time), mostly of the
> 
> ;;; note: source file
> /usr/local/lilypond/usr/share/lilypond/2.23.10/scm/lily/display-
> lily.scm
> ;;; newer than compiled
> /usr/local/lilypond/usr/lib/lilypond/2.23.10/ccache/lily/display-
> lily.go

Those paths look odd. /usr/local should only contain the directories
bin  etc  games  include  lib  man  sbin  share  src
and /usr/local/bin/ is typically placed at the start of your $PATH
for you by your distribution. I don't know where /usr/local/lilypond/usr/
came from, but the rest of the path, share/lilypond/2.23.10/…, does
look like something unpacked from the .tar.gz file.

> kind, and then exits with
> 
> ERROR: In procedure apply-smob/1:
> Wrong number of arguments to #
> 
> Compilation exited abnormally with code 1 at Thu Jul 14 17:21:52
> 
> I have spent some hours experimenting, but so far I haven't managed to
> get things working.

You haven't diagnosed why the dates have become screwed up,
so I would assume that your tree of files is now damaged.

Rather than mess with touch, I would remove the whole tree, clean up
all the various links you made, and then unpack the .tar.gz file
again, as suggested above. Unpacking it in ~/lilypond-2.23.10/
would be fine, and an alias will save some typing.

As for lilypond-mode in emacs, I would imagine that you haven't
yet carried out the instructions in §4.2 Text editor support
in the Usage manual, so emacs can't find the mode.

If your response is that it used to work, then I would wonder
whether you used to have a distribution-supplied version of
lilypond installed, and emacs was relying on that. In other
words, it was relying on lilypond*.el files in locations like
/etc/emacs/site-start.d/ and /usr/share/emacs/site-lisp/
(or similar names), instead of those from any of the downloaded
versions you've installed/unpacked in the past.

Cheers,
David.



Re: Error with -dbackend=null (Lilypond 2.23.10)

2022-07-10 Thread David Wright
On Sun 10 Jul 2022 at 23:08:19 (+0200), David Kastrup wrote:
> Paolo Prete  writes:
> >> On Sunday, July 10, 2022, David Kastrup  wrote:
> >>> Jean Abou Samra  writes:
> >>> > Le 10/07/2022 à 17:38, Paolo Prete a écrit :
> >>> >> I just used -dno-print-pages as an alternative, and it works.
> >>> >> Will it be removed too in the future?
> >>> >
> >>> > I can't speak for future developers of LilyPond. On
> >>> > the other hand, unlike -dbackend=null, -dno-print-pages
> >>> > is documented with an explanation of its use case (not
> >>> > outputting the "main" PDF when using -dcrop or -dpreview),
> >>> > so it certainly won't be removed as a mere cleanup.
> >>>
> >>> Cough cough.
> >>>
> >>> git show release/2.21.0-1:Documentation/usage/running.itely
> >>>
> >>> [...]
> >>>
> >>> @item null
> >>> Do not output a printed score.  This has the same effect as
> >>> @code{-dno-print-pages}.
> >>>
> >
> > ?
> 
> I was just showing that -dbackend=null had been documented in the
> "Running Lilypond" guide.

Indeed. And the stable Usage (2.22.1-1) mentions five backends:
ps, eps, null, scm and svg, whereas the preview section mentions
six, not including null: pdf, png, ps, eps, svg and scm.

Unstable's (2.23.10) backends are reduced to ps and svg, but the
preview section remains unchanged in Usage.

Cheers,
David.



Re: grace note (first note) in a measure that follows an end of a repeat volta displays weirdly

2022-07-06 Thread David Wright
On Tue 05 Jul 2022 at 23:56:36 (-0700), Kenneth Wolcott wrote:
> On Tue, Jul 5, 2022 at 11:43 PM Hans Aikema  wrote:
> > On 6 Jul 2022, at 07:25, Kenneth Wolcott  wrote:
> > >  However, the first measure that follows a repeat section (without
> > > alternatives) there is a slashed grace note that Lilypond displays in
> > > a measure all by itself, despite my attempts to place a grace note
> > > with a skip at the same location in a different (unspecified) voice.
> > >
> > > Is this problem resolved by specifying voices?
> > >
> > > What am I doing wrong here?
> >
> > See
> > https://lilypond.org/doc/v2.22/Documentation/notation/special-rhythmic-concerns
> >
> > section 'known issues and warnings'. It deals with exactly your issue. You 
> > need to have a grace skip in the other stave.

The example has only one voice in each staff, and it probably ought
to mention that the same method should be applied to all voices.

So the answer is that every Voice must have its own grace note or skip.

>   Thank you.  I thought I had done that :-(  I had placed the grace
> note with the skip in lh_two, but apparently it had no effect

Any voice that doesn't contain the grace duration will draw another
barline in the wrong place. In your case, lh_one still lacked it.

>   I placed a << {} \\ {} >> construct in the lh_one bar 10 containing
> the grace note with the skip and it works.

Adding more structure overcomplicates it. All you need in lh_one is:

  \grace s8 a4\rest 2 q4  | % m10

similar to rh_two.

>   Wow, intricate little bug, eh?  Guess it might have worked if I had
> used specified voices AND the grace skip(s).

Completeness and consistency.

Cheers,
David.



  1   2   3   4   5   6   7   8   9   10   >