Re: LilyPond 2.25.10

2023-11-18 Thread Michael Gerdau

The problem is said LSR-snippet. The LSR runs 2.24., though with 2.25.10
(ly:grob-property-data lyric-text-grob 'self-alignment-X)
may return a procedure. The snippet needs to learn how to deal with it.
Fixed in LSR.
https://lsr.di.unimi.it/LSR/Item?id=888


I can confirm that.

Thanks alot,
Michael
--
 Michael Gerdau   email: m...@qata.de
 GPG-keys available on request or at public keyserver



Re: LilyPond 2.25.10

2023-11-18 Thread Thomas Morley
Am Fr., 17. Nov. 2023 um 21:33 Uhr schrieb Michael Gerdau :
>
> >>> I will try to create a MWE if that is required to track down the
> >>> problem.
> >>
> >>
> >> A *minimal* example is not strictly required (though helpful), but
> >> *some* example is — otherwise, there is nothing we can do, sorry.
> >
> > Attached is a fairly short example that shows the described behaviour
> > with 2.25.10
> >
> > The problem seems to be created by the code copied from LSR snippet 888.
> > When the \layout{} section is commented out, everything compiles fine.
> > So maybe it's not a lilypond problem but one of LSR snippet 888.
>
> The attached example from the previous email did have a function
> \paradyn not removed. The attached version does have it removed. Sorry
> for sending the wrong file.
>
> As an additional finding:
> Not only removing the \layout{} does make the error go away, removing
> the  '\new ChoirStaff <<' with the corresponding '>>' makes the error go
> away as well.
>
> Not sure what the problem could be.
>
> Kind regards,
> Michael
> --
>   Michael Gerdau   email: m...@qata.de
>   GPG-keys available on request or at public keyserver

The problem is said LSR-snippet. The LSR runs 2.24., though with 2.25.10
(ly:grob-property-data lyric-text-grob 'self-alignment-X)
may return a procedure. The snippet needs to learn how to deal with it.
Fixed in LSR.
https://lsr.di.unimi.it/LSR/Item?id=888

Cheers,
  Harm



Re: LilyPond 2.25.10

2023-11-17 Thread Michael Gerdau
I will try to create a MWE if that is required to track down the 
problem.



A *minimal* example is not strictly required (though helpful), but
*some* example is — otherwise, there is nothing we can do, sorry.


Attached is a fairly short example that shows the described behaviour 
with 2.25.10


The problem seems to be created by the code copied from LSR snippet 888. 
When the \layout{} section is commented out, everything compiles fine. 
So maybe it's not a lilypond problem but one of LSR snippet 888.


The attached example from the previous email did have a function 
\paradyn not removed. The attached version does have it removed. Sorry 
for sending the wrong file.


As an additional finding:
Not only removing the \layout{} does make the error go away, removing 
the  '\new ChoirStaff <<' with the corresponding '>>' makes the error go 
away as well.


Not sure what the problem could be.

Kind regards,
Michael
--
 Michael Gerdau   email: m...@qata.de
 GPG-keys available on request or at public keyserver\version "2.25.9"

%% Start LSR snippet 888

%% http://lsr.di.unimi.it/LSR/Item?id=888

%LSR by Wolf Alight
%=>http://lists.gnu.org/archive/html/lilypond-user/2010-02/msg00444.html
%=>http://lists.gnu.org/archive/html/lilypond-user/2013-05/msg00800.html

%LSR modified by Alexander Kobel
%=>http://permalink.gmane.org/gmane.comp.gnu.lilypond.general/89675

%LSR modified by Thomas Morley
%=>http://lilypond.1069038.n5.nabble.com/LyricText-center-on-word-breaks-lyricMelismaAlignment-tt183456.html

%% Note: Only characters of the string used to define space-set
%% are recognized by 'center-on-word'
#(define space-set
  (list->char-set
(string->list ".?-;,:„“”‘’–— */()[]{}|<>!`~&…‥")))

#(define (width grob text)
  (let* ((X-extent
   (ly:stencil-extent (grob-interpret-markup grob text) X)))
   (if (interval-empty? X-extent)
   0
   (cdr X-extent

#(define (center-on-word grob)
  (let* ((text (ly:grob-property-data grob 'text))
 (syllable (markup->string text))
 (word-position
   (if (string-skip syllable space-set)
   (string-skip syllable space-set)
   0))
 (word-end
   (if (string-skip-right syllable space-set)
   (+ (string-skip-right syllable space-set) 1)
   (string-length syllable)))
 (preword (substring syllable 0 word-position))
 (word (substring syllable word-position word-end))
 (preword-width (width grob preword))
 (word-width (width grob (if (string-null? syllable) text word)))
 (note-column (ly:grob-parent grob X))
 (note-column-extent (ly:grob-extent note-column note-column X))
 (note-column-width (interval-length note-column-extent)))

  (-
(*
  (/ (- note-column-width word-width) 2)
  (1+ (ly:grob-property-data grob 'self-alignment-X)))
preword-width)))

%% For general use this take this layout-setting
%% In the example below the override is applied to selected Lyrics only
%%
\layout {
  \context {
\Lyrics
\override LyricText.X-offset = #center-on-word
  }
}

%% End LSR snippet 888



sopranoOne = \relative bes' {
  \time 3/2
  R1*3/2*2 | bes2.\f c4 d2 | f2. es4 d2 \bar "||"
  \time 2/2 \tempo \markup { "[" \smaller \note {1} #UP = \smaller \note {1.} 
#UP "]" } 1=62
  es1~\mp | es1 | d1 | r2 bes8[ c d es] f4. es8 d4 d |
  \bar "|."
}

sopranoOneVerse = \lyricmode {
  Ho -- di -- e, ho -- di -- e, Chri -- stus, na -- _ _ _ tus est,
  No -- e, __ No -- e, No -- e, No -- e, No -- e, No -- e.
}

\score {
  %\new ChoirStaff <<
\new Staff \with {
  midiInstrument = "acoustic grand"
  instrumentName = "Soprano I"
}
\new Voice = "soprano1" \sopranoOne
\new Lyrics \lyricsto "soprano1" { \sopranoOneVerse }
  %>>
}


Re: LilyPond 2.25.10

2023-11-16 Thread Michael Gerdau

I will try to create a MWE if that is required to track down the problem.



A *minimal* example is not strictly required (though helpful), but
*some* example is — otherwise, there is nothing we can do, sorry.


Attached is a fairly short example that shows the described behaviour 
with 2.25.10


The problem seems to be created by the code copied from LSR snippet 888. 
When the \layout{} section is commented out, everything compiles fine. 
So maybe it's not a lilypond problem but one of LSR snippet 888.


Kind regards,
Michael
--
 Michael Gerdau   email: m...@qata.de
 GPG-keys available on request or at public keyserver\version "2.25.9"

%% Start LSR snippet 888

%% http://lsr.di.unimi.it/LSR/Item?id=888

%LSR by Wolf Alight
%=>http://lists.gnu.org/archive/html/lilypond-user/2010-02/msg00444.html
%=>http://lists.gnu.org/archive/html/lilypond-user/2013-05/msg00800.html

%LSR modified by Alexander Kobel
%=>http://permalink.gmane.org/gmane.comp.gnu.lilypond.general/89675

%LSR modified by Thomas Morley
%=>http://lilypond.1069038.n5.nabble.com/LyricText-center-on-word-breaks-lyricMelismaAlignment-tt183456.html

%% Note: Only characters of the string used to define space-set
%% are recognized by 'center-on-word'
#(define space-set
  (list->char-set
(string->list ".?-;,:„“”‘’–— */()[]{}|<>!`~&…‥")))

#(define (width grob text)
  (let* ((X-extent
   (ly:stencil-extent (grob-interpret-markup grob text) X)))
   (if (interval-empty? X-extent)
   0
   (cdr X-extent

#(define (center-on-word grob)
  (let* ((text (ly:grob-property-data grob 'text))
 (syllable (markup->string text))
 (word-position
   (if (string-skip syllable space-set)
   (string-skip syllable space-set)
   0))
 (word-end
   (if (string-skip-right syllable space-set)
   (+ (string-skip-right syllable space-set) 1)
   (string-length syllable)))
 (preword (substring syllable 0 word-position))
 (word (substring syllable word-position word-end))
 (preword-width (width grob preword))
 (word-width (width grob (if (string-null? syllable) text word)))
 (note-column (ly:grob-parent grob X))
 (note-column-extent (ly:grob-extent note-column note-column X))
 (note-column-width (interval-length note-column-extent)))

  (-
(*
  (/ (- note-column-width word-width) 2)
  (1+ (ly:grob-property-data grob 'self-alignment-X)))
preword-width)))

%% For general use this take this layout-setting
%% In the example below the override is applied to selected Lyrics only
%%
%{
\layout {
  \context {
\Lyrics
\override LyricText.X-offset = #center-on-word
  }
}
%}

%% End LSR snippet 888



sopranoOne = \relative bes' {
  \time 3/2
  R1*3/2*2 | bes2.^\parendyn\f c4 d2 | f2. es4 d2 \bar "||"
  \time 2/2 \tempo \markup { "[" \smaller \note {1} #UP = \smaller \note {1.} 
#UP "]" } 1=62
  es1~^\parendyn\mp | es1 | d1 | r2 bes8[ c d es] f4. es8 d4 d |
  \bar "|."
}

sopranoOneVerse = \lyricmode {
  Ho -- di -- e, ho -- di -- e, Chri -- stus, na -- _ _ _ tus est,
  No -- e, __ No -- e, No -- e, No -- e, No -- e, No -- e.
}

\score {
  \new ChoirStaff <<
\new Staff \with {
  midiInstrument = "acoustic grand"
  instrumentName = "Soprano I"
}
\new Voice = "soprano1" \sopranoOne
\new Lyrics \lyricsto "soprano1" { \sopranoOneVerse }
  >>
}


Re: LilyPond 2.25.10

2023-11-16 Thread Jean Abou Samra
Le jeudi 16 novembre 2023 à 20:58 +0100, Michael Gerdau a écrit :
> I will try to create a MWE if that is required to track down the problem.


A *minimal* example is not strictly required (though helpful), but
*some* example is — otherwise, there is nothing we can do, sorry.


signature.asc
Description: This is a digitally signed message part


Re: LilyPond 2.25.10 with Guile 3.0

2023-11-16 Thread Jonas Hahnfeld via LilyPond user discussion
On Thu, 2023-11-16 at 11:11 -0600, Karlin High wrote:
> On Sun, Nov 12, 2023 at 6:26 AM Jonas Hahnfeld via LilyPond user
> discussion  wrote:
> > If you have some time, please test them in your setups and report back in 
> > case of problems!
> 
> Seems OK so far. Windows 11 21H2, Intel Core i5-1135G7.
> 
> "
> > lilypond.exe scheme-sandbox
> GNU LilyPond 2.25.10 (running Guile 3.0)
> Processing 
> `C:/Users/owner/AppData/Local/frescobaldi/frescobaldi/lilypond-binaries/lilypond-2.25.10/share/lilypond/2.25.10/ly/scheme-sandbox.ly'
> Parsing...
> GNU Guile 3.0.9
> "

Great, thanks for testing!

> When I run convert-ly, it makes version statements "2.25.9". I can't
> remember if that is expected or not for the 2.25.10 binaries. No
> warnings of outdated versions are given when compiling the results.

Yes, that's expected because there were no conversion rules for 2.25.10
and convert-ly doesn't force-update the version number (unless --
current-version is passed).

Jonas


signature.asc
Description: This is a digitally signed message part


Re: LilyPond 2.25.10

2023-11-16 Thread Michael Gerdau

[release of Lilypond 2.25.10 msg snipped]

I have a score which compiles on 2.25.9 with a couple of warnings and 
crashes hard with 2.25.10.


Msgs for 2.25.10 (ignore the dublicate tempo-change-event - they are 
identical in the 5 voices; the real problem is teh Guile error in 
init.ly at the end):


Starte lilypond.exe 2.25.10 
[Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck.ly]...
Processing 
`C:/Users/mgd/Documents/lilypond-Noten/Weihnachten/Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck.ly'

Parsing...
Interpreting music...
MIDI output to 
`Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck-soprano1.midi'...

Interpreting music...
MIDI output to 
`Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck-soprano2.midi'...

Interpreting music...
MIDI output to 
`Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck-alto.midi'...

Interpreting music...
MIDI output to 
`Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck-tenor.midi'...

Interpreting music...
MIDI output to 
`Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck-bass.midi'...

Interpreting music...
C:/Users/mgd/Documents/lilypond-Noten/Weihnachten/Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck.ly:47:13: 
warning: conflict with event: `tempo-change-event'

  \time 2/2
\tempo \markup { "[" \smaller \note {1} #UP = \smaller 
\note {1.} #UP "]" } 1=62


C:/Users/mgd/Documents/lilypond-Noten/Weihnachten/Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck.ly:75:13: 
warning: discarding event: `tempo-change-event'

  \time 2/2
\tempo \markup { "[" \smaller \note {1} #UP = \smaller 
\note {1.} #UP "]" }


C:/Users/mgd/Documents/lilypond-Noten/Weihnachten/Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck.ly:47:13: 
warning: conflict with event: `tempo-change-event'

  \time 2/2
\tempo \markup { "[" \smaller \note {1} #UP = \smaller 
\note {1.} #UP "]" } 1=62


C:/Users/mgd/Documents/lilypond-Noten/Weihnachten/Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck.ly:103:13: 
warning: discarding event: `tempo-change-event'

  \time 2/2
\tempo \markup { "[" \smaller \note {1} #UP = \smaller 
\note {1.} #UP "]" }


C:/Users/mgd/Documents/lilypond-Noten/Weihnachten/Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck.ly:47:13: 
warning: conflict with event: `tempo-change-event'

  \time 2/2
\tempo \markup { "[" \smaller \note {1} #UP = \smaller 
\note {1.} #UP "]" } 1=62


C:/Users/mgd/Documents/lilypond-Noten/Weihnachten/Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck.ly:131:13: 
warning: discarding event: `tempo-change-event'

  \time 2/2
\tempo \markup { "[" \smaller \note {1} #UP = \smaller 
\note {1.} #UP "]" }


C:/Users/mgd/Documents/lilypond-Noten/Weihnachten/Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck.ly:47:13: 
warning: conflict with event: `tempo-change-event'

  \time 2/2
\tempo \markup { "[" \smaller \note {1} #UP = \smaller 
\note {1.} #UP "]" } 1=62


C:/Users/mgd/Documents/lilypond-Noten/Weihnachten/Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck.ly:159:13: 
warning: discarding event: `tempo-change-event'

  \time 2/2
\tempo \markup { "[" \smaller \note {1} #UP = \smaller 
\note {1.} #UP "]" }


[8][16][24][32][40][48][56][64][72][80][88][96][104][112][120]
Preprocessing graphical objects...
C:/Program 
Files/lilypond-2.25.10/share/lilypond/2.25.10/ly/init.ly:66:2: error: 
Guile signaled an error for the expression beginning here

#
 (let ((book-handler (if (defined? 'default-toplevel-book-handler)
No applicable method for #< + (2)> in call (+ #left-align-at-split-notes (grob)> 1)





The same file creates these msgs with 2.25.9 (despite the warnings 
regarding the programming error the resulting PDF looks just fine):


Starte lilypond.exe 2.25.9 
[Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck.ly]...
Processing 
`C:/Users/mgd/Documents/lilypond-Noten/Weihnachten/Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck.ly'

Parsing...
Interpreting music...
MIDI output to 
`Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck-soprano1.midi'...

Interpreting music...
MIDI output to 
`Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck-soprano2.midi'...

Interpreting music...
MIDI output to 
`Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck-alto.midi'...

Interpreting music...
MIDI output to 
`Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck-tenor.midi'...

Interpreting music...
MIDI output to 
`Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck-bass.midi'...

Interpreting music...
C:/Users/mgd/Documents/lilypond-Noten/Weihnachten/Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck.ly:47:13: 
warning: conflict with event: `tempo-change-event'

  \time 2/2
\tempo \markup { "[" \smaller \note {1} #UP = \smaller 
\note {1.} #UP "]" } 1=62


C:/Users/mgd/Documents/lilypond-Noten/Weihnachten/Hodie-Christus-natus-est-Jan-Pieterszoon-Sweelinck.ly:75:13: 
warning: discarding event: `tempo-change-event'

  \time 2/2
\tempo \

Re: LilyPond 2.25.10 with Guile 3.0

2023-11-16 Thread Karlin High
On Sun, Nov 12, 2023 at 6:26 AM Jonas Hahnfeld via LilyPond user
discussion  wrote:
> If you have some time, please test them in your setups and report back in 
> case of problems!

Seems OK so far. Windows 11 21H2, Intel Core i5-1135G7.

"
>lilypond.exe scheme-sandbox
GNU LilyPond 2.25.10 (running Guile 3.0)
Processing 
`C:/Users/owner/AppData/Local/frescobaldi/frescobaldi/lilypond-binaries/lilypond-2.25.10/share/lilypond/2.25.10/ly/scheme-sandbox.ly'
Parsing...
GNU Guile 3.0.9
"

When I run convert-ly, it makes version statements "2.25.9". I can't
remember if that is expected or not for the 2.25.10 binaries. No
warnings of outdated versions are given when compiling the results.
-- 
Karlin High
Missouri, USA



Re: LilyPond 2.25.10

2023-11-12 Thread Peter Crighton
On Sun, 12 Nov 2023 at 22:08, Jean Abou Samra  wrote:

> Is there a way to quickly see at a glance the changes in a new version? I
> know there is https://lilypond.org/doc/v2.25/Documentation/changes/index and
> although the listing in categories surely has its upsides, I preferred the
> old method of just listing it all in reverse chronological order, which
> made it very easy to just see what changed compared to the prior version
> (if you took a look at it with every release).
>
>
>
> If you're not afraid of the ugly guts of how software is made, you can
> look at
>
>
> https://gitlab.com/lilypond/lilypond/-/commits/master/Documentation/en/changes.tely?ref_type=heads
>
> which is the chronological list of changes affecting the source code of
> the Changes document.
>

Thanks for the link, that suits me quite well! I didn’t know that there was
a repository on GitLab. https://lilypond.org/development.html links to
https://git.savannah.gnu.org/gitweb/?p=lilypond.git … which is neither
really nice to look at nor easy to use (at least for me), but I’m familiar
with GitLab.

Thanks,
Peter

--
Peter Crighton | Musician & Music Engraver based in Mainz, Germany
https://www.petercrighton.de

>


Re: LilyPond 2.25.10 with Guile 3.0

2023-11-12 Thread Jean Abou Samra
> “_” needs to be replaced with “G_”. Already in Guile 2, but Guile 3 checks for
> it more eagerly.


Fixed in LSR.



signature.asc
Description: This is a digitally signed message part


Re: LilyPond 2.25.10

2023-11-12 Thread Jean Abou Samra
> Is there a way to quickly see at a glance the changes in a new version? I know
> there is https://lilypond.org/doc/v2.25/Documentation/changes/index and
> although the listing in categories surely has its upsides, I preferred the old
> method of just listing it all in reverse chronological order, which made it
> very easy to just see what changed compared to the prior version (if you took
> a look at it with every release).


If you're not afraid of the ugly guts of how software is made, you can look at

https://gitlab.com/lilypond/lilypond/-/commits/master/Documentation/en/changes.tely?ref_type=heads

which is the chronological list of changes affecting the source code of the
Changes document.

Best,
Jean




signature.asc
Description: This is a digitally signed message part


Re: LilyPond 2.25.10

2023-11-12 Thread Peter Crighton
On Sat, 11 Nov 2023 at 19:38, Jonas Hahnfeld via LilyPond user discussion <
lilypond-user@gnu.org> wrote:

> We are happy to announce the release of LilyPond 2.25.10. 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.2, 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


Is there a way to quickly see at a glance the changes in a new version? I
know there is https://lilypond.org/doc/v2.25/Documentation/changes/index
and although the listing in categories surely has its upsides, I preferred
the old method of just listing it all in reverse chronological order, which
made it very easy to just see what changed compared to the prior version
(if you took a look at it with every release).

Cheers,
Peter

--
Peter Crighton | Musician & Music Engraver based in Mainz, Germany
https://www.petercrighton.de


Re: LilyPond 2.25.10 with Guile 3.0

2023-11-12 Thread Jean Abou Samra



> Le 12 nov. 2023 à 19:14, Robin Bannister  a écrit :
> 
> If I take the code of LSR1098 [1] , without the demo part,
> Guile3 errors the input-warning call:
> 
> GNU LilyPond 2.25.10 (running Guile 3.0)
> Processing `1.ly'
> Parsing...
> 1.ly:38:2: error: Guile signaled an error for the expression beginning here
> #
> (define-music-function (name-tweaks left-indent right-indent)
> 
> Syntax error:
> 1.ly:40:64: _: bad use of '_' syntactic keyword in subform (_ " pseudoIndents 
> ~s ~s is stretching staff; expect distorted layout") of (_ " pseudoIndents ~s 
> ~s is stretching staff; expect distorted layout")


“_” needs to be replaced with “G_”. Already in Guile 2, but Guile 3 checks for 
it more eagerly.





Re: LilyPond 2.25.10 with Guile 3.0

2023-11-12 Thread Robin Bannister

Jonas Hahnfeld wrote:

On Sat, 2023-11-11 at 19:37 +0100, Jonas Hahnfeld wrote:

We are happy to announce the release of LilyPond 2.25.10.


And here are the binaries with Guile 3.0, built using
https://gitlab.com/lilypond/lilypond/-/merge_requests/2163 and
https://gitlab.com/lilypond/lilypond/-/merge_requests/2170 :
https://gitlab.com/lilypond/lilypond/-/packages/20197593

If you have some time, please test them in your setups and report back
in case of problems!



If I take the code of LSR1098 [1] , without the demo part,
Guile3 errors the input-warning call:

GNU LilyPond 2.25.10 (running Guile 3.0)
Processing `1.ly'
Parsing...
1.ly:38:2: error: Guile signaled an error for the expression beginning here
#
 (define-music-function (name-tweaks left-indent right-indent)

Syntax error:
1.ly:40:64: _: bad use of '_' syntactic keyword in subform (_ " 
pseudoIndents ~s ~s is stretching staff; expect distorted layout") of (_ 
" pseudoIndents ~s ~s is stretching staff; expect distorted layout")

1.ly:1: warning: no \version statement found, please add

\version "2.25.10"

for future compatibility
fatal error: failed files: "1.ly"


If I include the rest of the file, I get a lot more errors.


[1] https://lsr.di.unimi.it/LSR/Item?id=1098


Cheers,
Robin