Re: snippet fails with 2.23.

2022-05-17 Thread Thomas Morley
Am Di., 17. Mai 2022 um 20:39 Uhr schrieb Jean Abou Samra :
>
> Le 16/05/2022 à 23:07, Thomas Morley a écrit :Well, I _am_ a LSR-editor.
> > Though, sometimes it feels I am the only one (not really true, Werner
> > does a lot but his focus is more on lsr-software and
> > snippets-descriptions).
> > We really need more active LSR-editors.
>
>
>
> This sounds like an advocacy problem, really. To give an outsider's
> point of view, until this message I had no idea who was behind
> the LSR approval process apart from you, and I wasn't aware that
> you wished help. I still only have a vague idea of what kind of
> work this entails. And I am following this list and the user list
> closely for two years or so. If more volunteers are needed, I recommend
> (1) documenting what work they should do and how, and (2) asking
> for volunteers on the user list.
>
> (Please note that I am not proposing myself, I'm already busy
> enough contributing to LilyPond.)
>
> Jean
>

Well, in the last about two (or three?) years, bugs in the
lsr-software accumulated and Sebastiano was not really reponsive.
Thus, there was not much what anyone could have done...

Otoh, I once started lsr-update to 2.20. and did what I could to
support both versions (2.18./2.20.). I was not able to finish it
because of said bugs, though it was a very good base to start the
2.22. update. At least so far as lsr-snippets are concerned.
Iirc, I did already the lsr-2.14-update. That lasted much longer ...
Anyway, this is _not_ the duty of an lsr-editor, but the lsr-updater.
But ofcourse an experienced lsr-editor has a better impression what
needs to be done on questionable snippets, thus the lsr-editor may
become the lsr-updater...

That said, the main duties of an lsr-editor are described in CG 7.3
Approving snippets
In the past we never had many lsr-editors, I could drop some names,
but they are mostly retired or hardly active nowadays.
Thus, yes we should ask on -user for volunteers, every experienced
user would be welcome.


Best,
  Harm



Re: snippet fails with 2.23.

2022-05-17 Thread Jean Abou Samra

Le 16/05/2022 à 23:07, Thomas Morley a écrit :Well, I _am_ a LSR-editor.

Though, sometimes it feels I am the only one (not really true, Werner
does a lot but his focus is more on lsr-software and
snippets-descriptions).
We really need more active LSR-editors.




This sounds like an advocacy problem, really. To give an outsider's
point of view, until this message I had no idea who was behind
the LSR approval process apart from you, and I wasn't aware that
you wished help. I still only have a vague idea of what kind of
work this entails. And I am following this list and the user list
closely for two years or so. If more volunteers are needed, I recommend
(1) documenting what work they should do and how, and (2) asking
for volunteers on the user list.

(Please note that I am not proposing myself, I'm already busy
enough contributing to LilyPond.)

Jean




Re: snippet fails with 2.23.

2022-05-16 Thread Thomas Morley
Am Mo., 16. Mai 2022 um 09:52 Uhr schrieb Mats Bengtsson :

>
>Thanks for your work with this. I happened to stumble upon
>[1]https://lsr.di.unimi.it/LSR/Item?id=1113, "Watermark" that most
>likely does not do exactly what was intended.

It belongs _not_ to the duties of the lsr-updater to check whether
snippets print as supposed.
A snippet should _compile_, that's enough.

Otoh, it is no surprise that several snippets will need further
adjustment/fixing.
Ideally those flaws are reported (as you did) and get fixed by a LSR-editor.

Well, I _am_ a LSR-editor.
Though, sometimes it feels I am the only one (not really true, Werner
does a lot but his focus is more on lsr-software and
snippets-descriptions).
We really need more active LSR-editors.

That said, I followed your suggestion below.
Not the time to dive into it more deeply...


>  The watermark is only
>visible in the upper right corner of the page, but was probably meant
>to appear over the full page. A quick fix is to replace
>
>  \translate #'(-50 . 70)
>by
>  \translate #'(-70 . -120)
>
>in the third line of the snippet, but hopefully there's a better
>solution that doesn't require any magic numbers.
>
>   /Mats
>
> References
>
>1. https://lsr.di.unimi.it/LSR/Item?id=1113

Best,
  Harm



Re: snippet fails with 2.23.

2022-05-16 Thread Mats Bengtsson
   On 2022-05-15 22:48, Thomas Morley wrote:

 ...

 Btw, I found some other snippets worth fixing, currently returning
programming errors or warnings:

incipit.ly  "programming error: Loose column does not have right side
to attach to."
using-marklines-in-a-frenched-score.ly a plethora of "programming
error: cyclic dependency:..."
using-tags-to-produce-mensural-and-modern-music-from-the-same-source.ly
"Loose column ..."

how-to-print-two-rehearsal-marks-above-and-below-the-same-barline-method-2.ly
and
vertical-aligned-staffgroups-without-connecting-systemstartbar.ly
return warnings for conficting rehearsal marks.

Worth fixing ofcourse, though I decided not to postpone finishing
lsr-update see !1360

And there's clip-systems.ly ...
It fails always with:
GNU LilyPond 2.23.9 (running Guile 2.2)
Processing `clip-systems.ly'
Parsing...
Interpreting music...
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Converting to `clip-systems-1.pdf'...
Layout output to `clip-systems-1-from-2.0.1-to-4.0.1-clip.eps'...
Converting to `clip-systems-1-from-2.0.1-to-4.0.1-clip.pdf'...
Layout output to `clip-systems-1-from-0.0.1-to-4.0.1-clip.eps'...
Converting to `clip-systems-1-from-0.0.1-to-4.0.1-clip.pdf'...
Layout output to `clip-systems-1-from-0.0.1-to-6.0.1-clip.eps'...
Converting to `clip-systems-1-from-0.0.1-to-6.0.1-clip.pdf'...
Layout output to `clip-systems-1-from-0.0.1-to-6.0.1-clip-1.eps'...
Converting to `clip-systems-1-from-0.0.1-to-6.0.1-clip-1.pdf'...
Interpreting music...
Preprocessing graphical objects...
Interpreting music...
Preprocessing graphical objects...
fatal error: cannot find file: `clip-systems-1-from-2.0.1-to-4.0.1-clip.eps'
[...]

But it survives 'make doc'
I don't understand ...

Cheers,
  Harm


   Thanks for your work with this. I happened to stumble upon
   [1]https://lsr.di.unimi.it/LSR/Item?id=1113, "Watermark" that most
   likely does not do exactly what was intended. The watermark is only
   visible in the upper right corner of the page, but was probably meant
   to appear over the full page. A quick fix is to replace

 \translate #'(-50 . 70)
   by
 \translate #'(-70 . -120)

   in the third line of the snippet, but hopefully there's a better
   solution that doesn't require any magic numbers.

  /Mats

References

   1. https://lsr.di.unimi.it/LSR/Item?id=1113


Re: snippet fails with 2.23.

2022-05-15 Thread David Kastrup
Thomas Morley  writes:

> Am So., 15. Mai 2022 um 21:44 Uhr schrieb Thomas Morley
> :
> fatal error: cannot find file: `clip-systems-1-from-2.0.1-to-4.0.1-clip.eps'
> [...]
>
> But it survives 'make doc'
> I don't understand ...

I remember a recent report that fatal errors don't let LilyPond exit
with nonzero status anymore.  That may be the reason and in want of
fixing.

-- 
David Kastrup



Re: snippet fails with 2.23.

2022-05-15 Thread Thomas Morley
Am So., 15. Mai 2022 um 21:44 Uhr schrieb Thomas Morley
:
>
> Am So., 15. Mai 2022 um 14:11 Uhr schrieb Jean Abou Samra 
> :
> >
> >
> >
> > Le 15/05/2022 à 14:01, Thomas Morley a écrit :
> > > Hi,
> > >
> > > the new doc-tagged LSR-snippet 'tambourine-example.ly'
> > > https://lsr.di.unimi.it/LSR/Item?id=1070
> > >
> > > %%
> > > \paper { tagline = ##f }
> > >
> > > #(define mydrums '((tambourine default #t 0)))
> > >
> > > \new DrumStaff \with { instrumentName = #"Tambourine" }
> > >
> > > \drummode {
> > >\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
> > >\override Staff.StaffSymbol.line-positions = #'( 0 )
> > >\override Staff.BarLine.bar-extent = #'(-1.5 . 1.5)
> > >
> > >\time 6/8
> > >tamb8. 16 8 8 8 8 |
> > >tamb4. 8 8 8 |
> > >% the trick with the scaled duration and the shorter rest
> > >% is neccessary for the correct ending of the trill-span!
> > >tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan |
> > > }
> > > 
> > >
> > > works fine with 2.22. but fails with master even after a run of
> > > convert-ly, returning:
> > >
> > > fatal error: unrecognised percussion sign: "#t"
> > >
> > >tamb8. 16 8 8 8 8 |
> > >
> > > I don't get what's wrong.
> > > Hints?
> > >
> > > Thanks,
> > >Harm
> >
> >
> > It works if you replace '((tambourine default #t 0)) with
> > '((tambourine default #f 0)). That's in line with the documentation:
> >
> > """
> > Existing notations may be redefined as an association list
> > where each entry has to be comprised of four items:
> > a name, the note head style (or @code{default}), an
> > articulation sign if needed (or @code{#f} if not), and
> > the note head's position on the staff.  That list must then
> > be converted into a Scheme hash table, using the
> > @code{alist->hash-table} function.
> > """
> >
> > This apparently changed with
> >
> > commit 61cd3bc1f3254b430bf04acd587c4082253602d4
> > Author: Lukas-Fabian Moser 
> > Date:   Mon Dec 27 01:25:43 2021 +0100
> >
> >  Make articulation-type a symbol? instead of a string?
> >
> > which contains
> >
> > diff --git a/lily/drum-note-engraver.cc b/lily/drum-note-engraver.cc
> > index 7e6e3cef7a..d4078a2e3b 100644
> > --- a/lily/drum-note-engraver.cc
> > +++ b/lily/drum-note-engraver.cc
> > @@ -93,12 +93,12 @@ Drum_notes_engraver::process_music ()
> > if (scm_is_symbol (style))
> >   set_property (note, "style", style);
> >
> > -  if (scm_is_string (script))
> > +  if (scm_is_true (script))
> >   {
> > // Error out if script doesn't exist
> > if (scm_is_false (ly_assoc (script, get_property
> > (context (), "scriptDefinitions"
> >   ev->origin ()->error (_f ("unrecognised percussion
> > sign: \"%s\"",
> > -  ly_scm2string (script)));
> > +  ly_scm_write_string (script)));
> >
> > Item *p = make_item ("Script", ev->self_scm ());
> > make_script_from_event (p, context (), script,
> >
> >
> >
> > Namely, instead of checking (string? the-second-element),
> > it just checks the-second-element, i.e. it searches the
> > script definition if the script is anything but #f.
> >
> > Jean
> >
>
> Hi Jean,
>
> thanks for the background.
> There were some other lsr-snippets with a #t-setting there, which had
> escaped my attention, bombing out 'make doc' after lsr-import.
>
> Next attempt now...
>
> Thanks,
>   Harm

Btw, I found some other snippets worth fixing, currently returning
programming errors or warnings:

incipit.ly  "programming error: Loose column does not have right side
to attach to."
using-marklines-in-a-frenched-score.ly a plethora of "programming
error: cyclic dependency:..."
using-tags-to-produce-mensural-and-modern-music-from-the-same-source.ly
"Loose column ..."

how-to-print-two-rehearsal-marks-above-and-below-the-same-barline-method-2.ly
and
vertical-aligned-staffgroups-without-connecting-systemstartbar.ly
return warnings for conficting rehearsal marks.

Worth fixing ofcourse, though I decided not to postpone finishing
lsr-update see !1360

And there's clip-systems.ly ...
It fails always with:
GNU LilyPond 2.23.9 (running Guile 2.2)
Processing `clip-systems.ly'
Parsing...
Interpreting music...
Preprocessing graphical objects...
Finding the ideal number of pages...
Fitting music on 1 page...
Drawing systems...
Converting to `clip-systems-1.pdf'...
Layout output to `clip-systems-1-from-2.0.1-to-4.0.1-clip.eps'...
Converting to `clip-systems-1-from-2.0.1-to-4.0.1-clip.pdf'...
Layout output to `clip-systems-1-from-0.0.1-to-4.0.1-clip.eps'...
Converting to `clip-systems-1-from-0.0.1-to-4.0.1-clip.pdf'...
Layout output to `clip-systems-1-from-0.0.1-to-6.0.1-clip.eps'...
Converting to `clip-systems-1-from-0.0.1-to-6.0.1-clip.pdf'...
Layout output to `clip-systems-1-from-0.0.1-to-6.0.1-clip-1.eps'...
Converting to 

Re: snippet fails with 2.23.

2022-05-15 Thread Thomas Morley
Am So., 15. Mai 2022 um 14:11 Uhr schrieb Jean Abou Samra :
>
>
>
> Le 15/05/2022 à 14:01, Thomas Morley a écrit :
> > Hi,
> >
> > the new doc-tagged LSR-snippet 'tambourine-example.ly'
> > https://lsr.di.unimi.it/LSR/Item?id=1070
> >
> > %%
> > \paper { tagline = ##f }
> >
> > #(define mydrums '((tambourine default #t 0)))
> >
> > \new DrumStaff \with { instrumentName = #"Tambourine" }
> >
> > \drummode {
> >\set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
> >\override Staff.StaffSymbol.line-positions = #'( 0 )
> >\override Staff.BarLine.bar-extent = #'(-1.5 . 1.5)
> >
> >\time 6/8
> >tamb8. 16 8 8 8 8 |
> >tamb4. 8 8 8 |
> >% the trick with the scaled duration and the shorter rest
> >% is neccessary for the correct ending of the trill-span!
> >tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan |
> > }
> > 
> >
> > works fine with 2.22. but fails with master even after a run of
> > convert-ly, returning:
> >
> > fatal error: unrecognised percussion sign: "#t"
> >
> >tamb8. 16 8 8 8 8 |
> >
> > I don't get what's wrong.
> > Hints?
> >
> > Thanks,
> >Harm
>
>
> It works if you replace '((tambourine default #t 0)) with
> '((tambourine default #f 0)). That's in line with the documentation:
>
> """
> Existing notations may be redefined as an association list
> where each entry has to be comprised of four items:
> a name, the note head style (or @code{default}), an
> articulation sign if needed (or @code{#f} if not), and
> the note head's position on the staff.  That list must then
> be converted into a Scheme hash table, using the
> @code{alist->hash-table} function.
> """
>
> This apparently changed with
>
> commit 61cd3bc1f3254b430bf04acd587c4082253602d4
> Author: Lukas-Fabian Moser 
> Date:   Mon Dec 27 01:25:43 2021 +0100
>
>  Make articulation-type a symbol? instead of a string?
>
> which contains
>
> diff --git a/lily/drum-note-engraver.cc b/lily/drum-note-engraver.cc
> index 7e6e3cef7a..d4078a2e3b 100644
> --- a/lily/drum-note-engraver.cc
> +++ b/lily/drum-note-engraver.cc
> @@ -93,12 +93,12 @@ Drum_notes_engraver::process_music ()
> if (scm_is_symbol (style))
>   set_property (note, "style", style);
>
> -  if (scm_is_string (script))
> +  if (scm_is_true (script))
>   {
> // Error out if script doesn't exist
> if (scm_is_false (ly_assoc (script, get_property
> (context (), "scriptDefinitions"
>   ev->origin ()->error (_f ("unrecognised percussion
> sign: \"%s\"",
> -  ly_scm2string (script)));
> +  ly_scm_write_string (script)));
>
> Item *p = make_item ("Script", ev->self_scm ());
> make_script_from_event (p, context (), script,
>
>
>
> Namely, instead of checking (string? the-second-element),
> it just checks the-second-element, i.e. it searches the
> script definition if the script is anything but #f.
>
> Jean
>

Hi Jean,

thanks for the background.
There were some other lsr-snippets with a #t-setting there, which had
escaped my attention, bombing out 'make doc' after lsr-import.

Next attempt now...

Thanks,
  Harm



Re: snippet fails with 2.23.

2022-05-15 Thread Jean Abou Samra




Le 15/05/2022 à 14:01, Thomas Morley a écrit :

Hi,

the new doc-tagged LSR-snippet 'tambourine-example.ly'
https://lsr.di.unimi.it/LSR/Item?id=1070

%%
\paper { tagline = ##f }

#(define mydrums '((tambourine default #t 0)))

\new DrumStaff \with { instrumentName = #"Tambourine" }

\drummode {
   \set DrumStaff.drumStyleTable = #(alist->hash-table mydrums)
   \override Staff.StaffSymbol.line-positions = #'( 0 )
   \override Staff.BarLine.bar-extent = #'(-1.5 . 1.5)

   \time 6/8
   tamb8. 16 8 8 8 8 |
   tamb4. 8 8 8 |
   % the trick with the scaled duration and the shorter rest
   % is neccessary for the correct ending of the trill-span!
   tamb2.*5/6 \startTrillSpan s8 \stopTrillSpan |
}


works fine with 2.22. but fails with master even after a run of
convert-ly, returning:

fatal error: unrecognised percussion sign: "#t"

   tamb8. 16 8 8 8 8 |

I don't get what's wrong.
Hints?

Thanks,
   Harm



It works if you replace '((tambourine default #t 0)) with
'((tambourine default #f 0)). That's in line with the documentation:

"""
Existing notations may be redefined as an association list
where each entry has to be comprised of four items:
a name, the note head style (or @code{default}), an
articulation sign if needed (or @code{#f} if not), and
the note head's position on the staff.  That list must then
be converted into a Scheme hash table, using the
@code{alist->hash-table} function.
"""

This apparently changed with

commit 61cd3bc1f3254b430bf04acd587c4082253602d4
Author: Lukas-Fabian Moser 
Date:   Mon Dec 27 01:25:43 2021 +0100

    Make articulation-type a symbol? instead of a string?

which contains

diff --git a/lily/drum-note-engraver.cc b/lily/drum-note-engraver.cc
index 7e6e3cef7a..d4078a2e3b 100644
--- a/lily/drum-note-engraver.cc
+++ b/lily/drum-note-engraver.cc
@@ -93,12 +93,12 @@ Drum_notes_engraver::process_music ()
   if (scm_is_symbol (style))
 set_property (note, "style", style);

-  if (scm_is_string (script))
+  if (scm_is_true (script))
 {
   // Error out if script doesn't exist
   if (scm_is_false (ly_assoc (script, get_property 
(context (), "scriptDefinitions"
 ev->origin ()->error (_f ("unrecognised percussion 
sign: \"%s\"",

-  ly_scm2string (script)));
+  ly_scm_write_string (script)));

   Item *p = make_item ("Script", ev->self_scm ());
   make_script_from_event (p, context (), script,



Namely, instead of checking (string? the-second-element),
it just checks the-second-element, i.e. it searches the
script definition if the script is anything but #f.

Jean




Re: snippet fails with 2.23.

2022-05-15 Thread Thomas Morley
Am So., 15. Mai 2022 um 14:08 Uhr schrieb David Kastrup :
>
> Thomas Morley  writes:
>
> > Hi,
> >
> > the new doc-tagged LSR-snippet 'tambourine-example.ly'
> > https://lsr.di.unimi.it/LSR/Item?id=1070
> >
> > %%
> > \paper { tagline = ##f }
> >
> > #(define mydrums '((tambourine default #t 0)))
>
> What's the #t supposed to mean here?  Should be a symbol or #f I think.
>
> --
> David Kastrup

Aargh, of course!

Thanks,
  Harm



Re: snippet fails with 2.23.

2022-05-15 Thread David Kastrup
Thomas Morley  writes:

> Hi,
>
> the new doc-tagged LSR-snippet 'tambourine-example.ly'
> https://lsr.di.unimi.it/LSR/Item?id=1070
>
> %%
> \paper { tagline = ##f }
>
> #(define mydrums '((tambourine default #t 0)))

What's the #t supposed to mean here?  Should be a symbol or #f I think.

-- 
David Kastrup