Re: LilyPond 2.25.14

2024-03-23 Thread Aaron Hill
On 2024-03-23 6:25 am, Jonas Hahnfeld via Discussions on LilyPond 
development wrote:

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




/opt/lilypond/2.25.14/bin/lilypond: /lib/x86_64-linux-gnu/libc.so.6: 
version `GLIBC_2.28' not found (required by 
/opt/lilypond/2.25.14/bin/lilypond)



Something changed from .13 to .14?  I'm presuming my system is just 
out-of-date, and this might be expected.



-- Aaron Hill



Re: LilyPond 2.25.14

2024-03-23 Thread Hans Aikema
On 23 Mar 2024, at 17:55, Karlin High  wrote:On 3/23/2024 11:39 AM, Robin Bannister wrote:I have nothing large.The attached zip folder is what I used in the previous post. It was derived from a post by Vaughan McAlley in 2016, updated via convert-ly to the version in question here.It looks like back in 2016, on the same computer I now have, LilyPond 2.19.46 was taking 1 min 4 seconds for it.Congrats on the speed-up, developers!-- Karlin HighMissouri, USA<>
Jonas,I ran this same file my Apple M1 MacBook Pro 2021 againstMacPorts lilypond-devel (which is still at 2.25.13) aarch64 buildaikebah@rajah MSDM % time (lilypond MSDM.ly 2> /dev/null )
( lilypond MSDM.ly 2> /dev/null; )  15.78s user 2.27s system 100% cpu 17.994 total
aikebah@rajah MSDM % time (lilypond MSDM.ly 2> /dev/null )
( lilypond MSDM.ly 2> /dev/null; )  15.80s user 2.27s system 100% cpu 18.012 total
aikebah@rajah MSDM % time (lilypond MSDM.ly 2> /dev/null )
( lilypond MSDM.ly 2> /dev/null; )  15.80s user 2.29s system 100% cpu 18.017 total
aikebah@rajah MSDM % lilypond -v
GNU LilyPond 2.25.13 (running Guile 2.2)Your aarch64 build of 2.25.14aikebah@rajah MSDM % time (../lilypond-2.25.14/bin/lilypond MSDM.ly 2> /dev/null )
( ../lilypond-2.25.14/bin/lilypond MSDM.ly 2> /dev/null; )  17.07s user 2.20s system 99% cpu 19.340 total
aikebah@rajah MSDM % time (../lilypond-2.25.14/bin/lilypond MSDM.ly 2> /dev/null )
( ../lilypond-2.25.14/bin/lilypond MSDM.ly 2> /dev/null; )  17.06s user 2.18s system 99% cpu 19.307 total
aikebah@rajah MSDM % time (../lilypond-2.25.14/bin/lilypond MSDM.ly 2> /dev/null )
( ../lilypond-2.25.14/bin/lilypond MSDM.ly 2> /dev/null; )  17.19s user 2.19s system 99% cpu 19.478 totalaikebah@rajah MSDM % ../lilypond-2.25.14/bin/lilypond -v
GNU LilyPond 2.25.14 (running Guile 3.0)Standard published x64 MacOS Build for 2.25.14aikebah@rajah MSDM % time ( ../lilypond-2.25.14x64/bin/lilypond MSDM.ly 2>/dev/null )( ../lilypond-2.25.14x64/bin/lilypond MSDM.ly 2> /dev/null; )  27.69s user 2.48s system 99% cpu 30.456 totalaikebah@rajah MSDM % time ( ../lilypond-2.25.14x64/bin/lilypond MSDM.ly 2>/dev/null )( ../lilypond-2.25.14x64/bin/lilypond MSDM.ly 2> /dev/null; )  27.60s user 2.42s system 99% cpu 30.280 totalaikebah@rajah MSDM % time ( ../lilypond-2.25.14x64/bin/lilypond MSDM.ly 2>/dev/null )( ../lilypond-2.25.14x64/bin/lilypond MSDM.ly 2> /dev/null; )  27.94s user 2.43s system 99% cpu 30.661 totalaikebah@rajah MSDM % ../lilypond-2.25.14x64/bin/lilypond -v                   GNU LilyPond 2.25.14 (running Guile 3.0)A clear improvement over running the x64 build using Rosetta and slightly slower than the 2.25.13 Guild 2.2 build of MacPorts

Re: LilyPond 2.25.14

2024-03-23 Thread Michael Käppler

Hi Jonas,
thanks for working on this!


Windows build with Guile JIT: https://cloud.hahnjo.de/s/Ek5x9rybpiPNtoj
This turns on just-in-time compilation that was added in Guile 3.0, but
we had to keep disabled on Windows until now. Please test, especially
on larger scores where this should provide a performance advantage.

I gave it a try with a medium-sized score (appr. 60 pages A4),
10 times in a row:

with JIT:
real    4m42.513s
user    0m0.090s
sys 0m0.185s

without JIT:
real    4m45.295s
user    0m0.046s
sys 0m0.277s

Just out of interest, do we tweak the JIT_THRESHOLD somewhere or do we
use the default value?

Michael



Re: LilyPond 2.25.14

2024-03-23 Thread Kenneth Wolcott
Hi Jonas;

  I hope that the following information is useful:

Lilypond performance stats for the engraving of one very small and one
medium sized pieces

native = Apple Silicon build
foreign = x86_64
other = MacPorts LP 2.24.3

~/Downloads/native_lilypond-2.25.14/bin/lilypond
./Danny_Boy_updated.ly  0.53s user 0.06s system 87% cpu 0.683 total
~/Downloads/foreign_lilypond-2.25.14/bin/lilypond
./Danny_Boy_updated.ly  0.93s user 0.09s system 101% cpu 1.010 total
/opt/local/bin/lilypond ./Danny_Boy.ly  0.48s user 0.06s system 104%
cpu 0.515 total

~/Downloads/native_lilypond-2.25.14/bin/lilypond
./Waltz_Nr2_updated.ly  1.07s user 0.10s system 102% cpu 1.145 total
~/Downloads/foreign_lilypond-2.25.14/bin/lilypond
./Waltz_Nr2_updated.ly  1.76s user 0.15s system 100% cpu 1.907 total
/opt/local/bin/lilypond ./Waltz_Nr2.ly  1.06s user 0.12s system 103%
cpu 1.140 total

for i in ./Danny_Boy.ly ./Danny_Boy_updated.ly ./Waltz_Nr2.ly
./Waltz_Nr2_updated.ly
for> do
for> wc $i
for> done
 232 8144641 ./Danny_Boy.ly
 232 8144642 ./Danny_Boy_updated.ly
 9393892   19981 ./Waltz_Nr2.ly
 9393892   19982 ./Waltz_Nr2_updated.ly

Ken Wolcott

On Sat, Mar 23, 2024 at 12:09 PM Jonas Hahnfeld  wrote:
>
> On Sat, 2024-03-23 at 11:39 -0700, Kenneth Wolcott wrote:
> > Hi Jonas;
> >
> >   I've tried engraving a couple of randomly chosen previous engravings
> > (using LP 2.24.x) using the new LP 2.25.14 version on my Mac (Apple
> > Silicon).
> >
> >   Since none of my engravings are large, most of them are one to two
> > pages in length, I thought there would be no noticable decrease in
> > engraving time, but I was wrong!  It IS noticably faster for even
> > small files :-)
> >
> >   One thing I noticed is what one of my engravings had significant
> > change in apperance in the second and third page, as if I had inserted
> > a forced page break in two or three places.  There were no conversion
> > errors or warnings in any of my engravings.
> >
> >   I don't know what was the cause of the speedup, but it is
> > appreciated! I have been using the MacPorts version of Lilypond 2.24.3
> > compared to this recent test release.
>
> Thanks for testing! The performance advantage probably comes from Guile
> 3.0 in our binaries of 2.25.14 versus Guile 2.2 with the MacPorts
> version, having a faster startup time which matters especially for
> smaller files. If you have some time, I would be really interested in
> seeing a comparison with LilyPond 2.25.14 from
> https://gitlab.com/lilypond/lilypond/-/packages/23923980 when the
> x86_64 executable is run through Rosetta on Apple Silicon...
>
> Jonas



Re: LilyPond 2.25.14

2024-03-23 Thread Karlin High

On 3/23/2024 2:00 PM, Jonas Hahnfeld wrote:

Would be interesting to see how this compares to the "vanilla" package


I tried it, 3 runs. First one maybe unfair because font cache 
initialization or something.


real0m48.643s
user0m0.000s
sys 0m0.031s

real0m31.457s
user0m0.015s
sys 0m0.000s

real0m31.591s
user0m0.000s
sys 0m0.031s

The another with the JIT version:

real0m32.319s
user0m0.000s
sys 0m0.030s

But I expect I should get the computer otherwise idle as far as possible 
for this. I had other software running, but nothing with heavy loads.

--
Karlin High
Missouri, USA




Re: LilyPond 2.25.14

2024-03-23 Thread Jonas Hahnfeld via LilyPond user discussion
On Sat, 2024-03-23 at 11:39 -0700, Kenneth Wolcott wrote:
> Hi Jonas;
> 
>   I've tried engraving a couple of randomly chosen previous engravings
> (using LP 2.24.x) using the new LP 2.25.14 version on my Mac (Apple
> Silicon).
> 
>   Since none of my engravings are large, most of them are one to two
> pages in length, I thought there would be no noticable decrease in
> engraving time, but I was wrong!  It IS noticably faster for even
> small files :-)
> 
>   One thing I noticed is what one of my engravings had significant
> change in apperance in the second and third page, as if I had inserted
> a forced page break in two or three places.  There were no conversion
> errors or warnings in any of my engravings.
> 
>   I don't know what was the cause of the speedup, but it is
> appreciated! I have been using the MacPorts version of Lilypond 2.24.3
> compared to this recent test release.

Thanks for testing! The performance advantage probably comes from Guile
3.0 in our binaries of 2.25.14 versus Guile 2.2 with the MacPorts
version, having a faster startup time which matters especially for
smaller files. If you have some time, I would be really interested in
seeing a comparison with LilyPond 2.25.14 from
https://gitlab.com/lilypond/lilypond/-/packages/23923980 when the
x86_64 executable is run through Rosetta on Apple Silicon...

Jonas


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


Re: LilyPond 2.25.14

2024-03-23 Thread Jonas Hahnfeld via LilyPond user discussion
On Sat, 2024-03-23 at 11:41 -0500, Karlin High wrote:
> On 3/23/2024 10:02 AM, Jonas Hahnfeld via LilyPond user discussion wrote:
> > Windows build with Guile JIT: https://cloud.hahnjo.de/s/Ek5x9rybpiPNtoj 
> > This turns on just-in-time compilation that was added in Guile 3.0, but 
> > we had to keep disabled on Windows until now. Please test, especially on 
> > larger scores where this should provide a performance advantage.
> 
> Carver MSDM.ly, subject of many past performance-test posts.
> 
> Inte Core i5-3450
> 24 GB RAM
> Windows 10 22H2
> 
> real 0m32.109s
> user 0m0.000s
> sys 0m0.015s

Would be interesting to see how this compares to the "vanilla" package
here: https://gitlab.com/lilypond/lilypond/-/packages/23923980 ... But
I guess I can also do this test on my end since the score is public.


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


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

2024-03-23 Thread Eby Mani
 Thanks, i haven't been using lilypond for a while, and forgot even the basic 
things like these.
 On Saturday, 23 March, 2024 at 07:48:32 pm IST, David Wright 
 wrote:  
 
 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: LilyPond 2.25.14

2024-03-23 Thread Kenneth Wolcott
Hi Jonas;

  I've tried engraving a couple of randomly chosen previous engravings
(using LP 2.24.x) using the new LP 2.25.14 version on my Mac (Apple
Silicon).

  Since none of my engravings are large, most of them are one to two
pages in length, I thought there would be no noticable decrease in
engraving time, but I was wrong!  It IS noticably faster for even
small files :-)

  One thing I noticed is what one of my engravings had significant
change in apperance in the second and third page, as if I had inserted
a forced page break in two or three places.  There were no conversion
errors or warnings in any of my engravings.

  I don't know what was the cause of the speedup, but it is
appreciated! I have been using the MacPorts version of Lilypond 2.24.3
compared to this recent test release.

Thanks to all who have made this an awesome product!

Ken Wolcott

On Sat, Mar 23, 2024 at 10:20 AM Kenneth Wolcott
 wrote:
>
> WOW!!! Apple Silicon support!!!
>
> On Sat, Mar 23, 2024 at 8:03 AM Jonas Hahnfeld via LilyPond user
> discussion  wrote:
> >
> > On Sat, 2024-03-23 at 14:25 +0100, Jonas Hahnfeld wrote:
> > > We are happy to announce the release of LilyPond 2.25.14. This is
> > > termed a development release, but these are usually reliable for
> > > testing new features and recent bug fixes.
> >
> > Following this release, I made two special builds with the changes
> > proposed in https://gitlab.com/lilypond/lilypond/-/merge_requests/2283
> > that would be great to get more widespread testing:
> >
> > Native Apple Silicon build: https://cloud.hahnjo.de/s/x9D62eASSn6Ng7D
> > This is a native arm64 version for macOS 12+; if you have a Mac, please
> > test and (hopefully) confirm the performance advantage over running the
> > x86_64 build via Rosetta 2 
> >
> > Windows build with Guile JIT: https://cloud.hahnjo.de/s/Ek5x9rybpiPNtoj
> > This turns on just-in-time compilation that was added in Guile 3.0, but
> > we had to keep disabled on Windows until now. Please test, especially
> > on larger scores where this should provide a performance advantage.
> >
> > Cheers
> > Jonas
>



Re: Compress Long Rest in Jianpu.

2024-03-23 Thread Werner LEMBERG


> I want to display both staff and jianpu, but if I enable
> \compressMMRests function, the long rests are not compressed when
> engraving with jianpu.
> 
> Jianpu support for Lilypond is from file jiapu10a.ly on
> https://github.com/nybbs2003/lilypond-Jianpu . Is there any way to
> patch the file or something to make it support \compressMMRests?
> 
> MWE is in the attachment.

Do you have a real-world example how compressed rests look like in
Jianpu notation?  I guess the author hasn't thought of that...


Werner



Re: LilyPond 2.25.14

2024-03-23 Thread Karlin High

On 3/23/2024 11:39 AM, Robin Bannister wrote:

I have nothing large.


The attached zip folder is what I used in the previous post. It was 
derived from a post by Vaughan McAlley in 2016, updated via convert-ly 
to the version in question here.


It looks like back in 2016, on the same computer I now have, LilyPond 
2.19.46 was taking 1 min 4 seconds for it.


Congrats on the speed-up, developers!
--
Karlin High
Missouri, USA
<>


Re: LilyPond 2.25.14

2024-03-23 Thread Robin Bannister

Jonas Hahnfeld via LilyPond user discussion wrote:


Windows build with Guile JIT: https://cloud.hahnjo.de/s/Ek5x9rybpiPNtoj
This turns on just-in-time compilation that was added in Guile 3.0, but
we had to keep disabled on Windows until now. Please test, especially
on larger scores where this should provide a performance advantage.




GNU LilyPond 2.25.14 (running Guile 3.0)
Processing `3.ly'
Parsing...
Interpreting music...
Interpreting music...[8][16][24][32][40][48][56][64][72][80][88][96][104]
Preprocessing graphical objects...
MIDI output to `3.mid'...
Finding the ideal number of pages...
Fitting music on 3 or 4 pages...
Drawing systems...
Converting to `3.pdf'...
Success: compilation successfully completed


No problem here on Win7, but I have nothing large.
  N.B. the log doesn't mention JIT mode.


Cheers,
Robin



Re: LilyPond 2.25.14

2024-03-23 Thread Karlin High

On 3/23/2024 10:02 AM, Jonas Hahnfeld via LilyPond user discussion wrote:
Windows build with Guile JIT: https://cloud.hahnjo.de/s/Ek5x9rybpiPNtoj 
This turns on just-in-time compilation that was added in Guile 3.0, but 
we had to keep disabled on Windows until now. Please test, especially on 
larger scores where this should provide a performance advantage.


Carver MSDM.ly, subject of many past performance-test posts.

Inte Core i5-3450
24 GB RAM
Windows 10 22H2

real 0m32.109s
user 0m0.000s
sys 0m0.015s

--
Karlin High
Missouri, USA




Re: LilyPond 2.25.14

2024-03-23 Thread Kenneth Wolcott
WOW!!! Apple Silicon support!!!

On Sat, Mar 23, 2024 at 8:03 AM Jonas Hahnfeld via LilyPond user
discussion  wrote:
>
> On Sat, 2024-03-23 at 14:25 +0100, Jonas Hahnfeld wrote:
> > We are happy to announce the release of LilyPond 2.25.14. This is
> > termed a development release, but these are usually reliable for
> > testing new features and recent bug fixes.
>
> Following this release, I made two special builds with the changes
> proposed in https://gitlab.com/lilypond/lilypond/-/merge_requests/2283
> that would be great to get more widespread testing:
>
> Native Apple Silicon build: https://cloud.hahnjo.de/s/x9D62eASSn6Ng7D
> This is a native arm64 version for macOS 12+; if you have a Mac, please
> test and (hopefully) confirm the performance advantage over running the
> x86_64 build via Rosetta 2 
>
> Windows build with Guile JIT: https://cloud.hahnjo.de/s/Ek5x9rybpiPNtoj
> This turns on just-in-time compilation that was added in Guile 3.0, but
> we had to keep disabled on Windows until now. Please test, especially
> on larger scores where this should provide a performance advantage.
>
> Cheers
> Jonas



Re: LilyPond 2.25.14

2024-03-23 Thread Jonas Hahnfeld via LilyPond user discussion
On Sat, 2024-03-23 at 14:25 +0100, Jonas Hahnfeld wrote:
> We are happy to announce the release of LilyPond 2.25.14. This is
> termed a development release, but these are usually reliable for
> testing new features and recent bug fixes.

Following this release, I made two special builds with the changes
proposed in https://gitlab.com/lilypond/lilypond/-/merge_requests/2283
that would be great to get more widespread testing:

Native Apple Silicon build: https://cloud.hahnjo.de/s/x9D62eASSn6Ng7D
This is a native arm64 version for macOS 12+; if you have a Mac, please
test and (hopefully) confirm the performance advantage over running the
x86_64 build via Rosetta 2 

Windows build with Guile JIT: https://cloud.hahnjo.de/s/Ek5x9rybpiPNtoj
This turns on just-in-time compilation that was added in Guile 3.0, but
we had to keep disabled on Windows until now. Please test, especially
on larger scores where this should provide a performance advantage.

Cheers
Jonas


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


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.



LilyPond 2.25.14

2024-03-23 Thread Jonas Hahnfeld via LilyPond user discussion
We are happy to announce the release of LilyPond 2.25.14. 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.3, 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


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


Compress Long Rest in Jianpu.

2024-03-23 Thread Windy Deng
Greetings Lilypond users:

I want to display both staff and jianpu, but if I enable
\compressMMRests function,
the long rests are not compressed when engraving with jianpu.

Jianpu support for Lilypond is from file jiapu10a.ly on
https://github.com/nybbs2003/lilypond-Jianpu . Is there any way to patch
the file or something to make it support \compressMMRests?

MWE is in the attachment.

Sincerely,
Windy


test.ly
Description: Binary data


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

2024-03-23 Thread Eby Mani
 Many thanks, Aaron, exactly what i was looking for. Is this on LSR ?.

 On Saturday, 23 March, 2024 at 03:17:06 pm IST, Aaron Hill 
 wrote:  
 
 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.


This is not the complete scenario with all voices and lyrics, but it 
should give you the general idea:

1. Use the ChoirStaff which already omits the SpanBar.
2. Change the delimiter to the brace, like the GrandStaff (or 
PianoStaff).
3. Apply an instrument name to the group of related voices to get its 
label shown between the individual voices.



  \version "2.25.13"

  startBrace = \with { systemStartDelimiter = #'SystemStartBrace }

  notes = { \repeat unfold 5 { b'4 8 8 2 | 4. 8 2 } | 1 \fine }

  \new ChoirStaff <<
    \new ChoirStaff \with { \startBrace instrumentName = "Soprano" 
shortInstrumentName = "S." } <<
      \new Staff = sopranoI \with { instrumentName = "I" 
shortInstrumentName = "I" } \notes
      \new Staff = sopranoII \with { instrumentName = "II" 
shortInstrumentName = "II" } \notes
    >>
    \new ChoirStaff \with { \startBrace instrumentName = "Alto" 
shortInstrumentName = "A." } <<
      \new Staff = altoI \with { instrumentName = "I" 
shortInstrumentName = "I" } \notes
      \new Staff = altoII \with { instrumentName = "II" 
shortInstrumentName = "II" } \notes
    >>
  >>



NOTE: If you do need to use a GrandStaff (or PianoStaff), you can remove 
the Span_bar_engraver similar to what the ChoirStaff already does:


    \new PianoStaff \with { \remove Span_bar_engraver } { . . . }



-- Aaron Hill  

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

2024-03-23 Thread Aaron Hill

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.



This is not the complete scenario with all voices and lyrics, but it 
should give you the general idea:


1. Use the ChoirStaff which already omits the SpanBar.
2. Change the delimiter to the brace, like the GrandStaff (or 
PianoStaff).
3. Apply an instrument name to the group of related voices to get its 
label shown between the individual voices.




  \version "2.25.13"

  startBrace = \with { systemStartDelimiter = #'SystemStartBrace }

  notes = { \repeat unfold 5 { b'4 8 8 2 | 4. 8 2 } | 1 \fine }

  \new ChoirStaff <<
\new ChoirStaff \with { \startBrace instrumentName = "Soprano" 
shortInstrumentName = "S." } <<
  \new Staff = sopranoI \with { instrumentName = "I" 
shortInstrumentName = "I" } \notes
  \new Staff = sopranoII \with { instrumentName = "II" 
shortInstrumentName = "II" } \notes

>>
\new ChoirStaff \with { \startBrace instrumentName = "Alto" 
shortInstrumentName = "A." } <<
  \new Staff = altoI \with { instrumentName = "I" 
shortInstrumentName = "I" } \notes
  \new Staff = altoII \with { instrumentName = "II" 
shortInstrumentName = "II" } \notes

>>
  >>



NOTE: If you do need to use a GrandStaff (or PianoStaff), you can remove 
the Span_bar_engraver similar to what the ChoirStaff already does:



\new PianoStaff \with { \remove Span_bar_engraver } { . . . }



-- Aaron Hill