Re: Clef, key, and time-signature changes

2023-06-03 Thread Kevin Barry
On Sat, 3 Jun 2023 at 06:06, Carl Sorensen  wrote:

> > I vote for adjusting the code so that it follows the documentation,
> > probably by adding `forceTimeSignature` and `forceKeySignature`
> > properties, both for orthogonality and a way to retain backward
> > compatibility.
> >
>
>  I vote for initially just fixing the code --  use scm_equal_p instead of
> scm_is_eq
>
> At that point, we'd be consistent with the documentation.
>
> If there is a use case for 'forceTimeSignature' then I suppose we could
> create it, but it seems to me like YAGNI.

My preference would be to leave things as they are (and update the
documentation), or, if not that, then follow Werner's suggestion. I
have sometimes needed to reprint a time signature even if it wasn't
different.

Kevin



Re: On the ly: prefix...

2023-04-02 Thread Kevin Barry
On Sun, 2 Apr 2023 at 19:31, Jean Abou Samra  wrote:
> I can do
>
> (define-public grob-interpret-markup ly:grob-interpret-markup)
>
> like we already have for assoc-get aka ly:assoc-get, but it seems
> clumsy.

That is what I would do.

Kevin



Re: MacPorts builds for 'Yosemite' and 'El Capitan' fail

2023-02-05 Thread Kevin Barry
On Sun, 5 Feb 2023 at 13:09, Jonas Hahnfeld via Discussions on
LilyPond development  wrote:
>
> Any workaround we introduce will have to be removed at some point.
> When? 5 years after the last system goes EOL sounds like a reasonable
> time, don't you think? So yes, in my opinion "must not".

Workarounds don't have to be removed just because the software has
reached a certain magic age.

>
> > The problem could also be in the used clang versions, which are
> > probably used on non-macOS platforms, too.
>
> ... which is also 5 years old, so the same rationale applies.

I think it's premature to preemptively object to all potential
solutions. Maybe let's see if Dan has a suggestion.

Kevin



Re: RFC: require librsvg to implement SVG image support

2023-01-15 Thread Kevin Barry
> My conclusion is that PDF is the more "logical"
> successor to the inclusion of EPS.)

I'm not on the user list anymore so I didn't see the poll. Personally
I mostly work with EPS (for at least one publisher that I worked with
it was the only acceptable vector format), but I'm glad that we polled
users and I think it was the right thing to do. It's better to work
backwards from the user experience to the technical decisions than the
other way around. If you decide that svg is too much burden/debt/work
then that is fine and we should communicate it like that, and not
choose PDF because it's easier for us and then tell users it's what
they *should* want anyway.

> And this is exactly what scares me: I don't think we should go to all
> lengths here in order to fulfill a user poll.

I agree. But it's still good to know. The more demand there is for
something, the more it will be worth a little effort.

Re the RFC: my opinion on the inclusion of librsvg is that it's a good
idea if users want it. I haven't done cross compilation with rust, but
I have had some interaction with the tooling and I found it
convenient/easy to use. I don't think it will add a significant
burden. I'm not particularly knowledgeable about rust, but I'm happy
to help with it.

Kevin



Re: Testing binaries for 2.24.0 and release announcement

2022-12-14 Thread Kevin Barry
On Tue, Dec 13, 2022 at 10:44:26PM +0100, Jonas Hahnfeld via Discussions on 
LilyPond development wrote:
> I also realized that I forgot to send a draft release announcement
> text, which I originally wanted to share during the weekend. I went
> with the standard text, copying from the previous stable release:

SGTM; thank you for doing it.

Kevin



Re: Guile potentially changing its GC a second time

2022-11-24 Thread Kevin Barry
On Thu, Nov 24, 2022 at 02:58:16PM +0100, Jean Abou Samra wrote:
> What would be the difference with 'make doc'?

I was referring to the kind of scores used to test/reproduce the
heisenbug we had on Windows, i.e. designed to trigger GC-related
problems. Would it be worth saving some scores like that in the codebase
somewhere in case we want to stress test a new Guile release?

> 
> In any case, a new Guile release series doesn't happen every
> second day, and if we want to switch to a new one, there
> should definitely be a mailing list thread where all details
> of the transition are discussed, including how sure we are
> that it works. For example, to switch to Guile 2.2, there was
> a dual release and we removed Guile 1.8 support once it had
> seen some use without major problems.

Yes I suppose you're right. We can always save this conversation for
when it happens.

Kevin



Re: Guile potentially changing its GC a second time

2022-11-24 Thread Kevin Barry
On Thu, Nov 24, 2022 at 12:26:57PM +0100, Jean Abou Samra wrote:
> Le 24/11/2022 à 12:12, Kevin Barry a écrit :
> 
> GC is definitely not the kind of thing where "passes the
> regtests" means there is no problem. As we have seen in the
> past, the most infuriating and mysterious GC problems reproduce
> 1 time in 20 doc builds ...

This is not ideal, but would some kind of manually run test that does
things like that (build a bunch of pathological-case scores 100 times)
be a bad idea? There would be a maintenance burden, but it might mean we
catch problems before breaking users' scores. The test could be run (by
a human) when there's a new Guile release, or before we do a stable
release, or some such.

Kevin



Re: Guile potentially changing its GC a second time

2022-11-24 Thread Kevin Barry
On Thu, Nov 24, 2022 at 03:37:43AM +0100, Jean Abou Samra wrote:
> Had anyone seen this??

No, but it's not surprising: Guile sometimes seems to be a one-person
hobby project. It's not a project that cares much about breaking things
for its users.

> https://github.com/wingo/whippet-gc
> 
> This looks like something we will need to watch. If Guile
> switches from BDWGC to whippet-gc, I really hope LilyPond
> won't need too much adapting and crazy debugging, but only
> God knows. If even...

One of the great things about Linux - and a major contributor to its
success - is its golden rule of never knowingly breaking anything (in
userspace).  If it works today it has to work tomorrow. You aren't
allowed to break it, *even* if you're fixing something more important.
I wish more projects were like it (especially where I work).

To practically answer your question: I don't think there's much we can
do: we are more or less at the mercy of the Guile project. I'm tempted
to suggest we add some tests that might catch breaking changes to
Guile's GC, but of course our most recent issues were on Windows only,
so our automated testing wouldn't have caught them anyway.

Perhaps we could describe some manual tests that get run on new releases
of Guile? (It's probably less work than rewriting LilyPond from scratch
with a different embedded language :D.)

Kevin

> 
> There is quite a bit of chat about it on
> 
> https://wingolog.org/
> 
> Jean
> 






Re: Prefer luatex for documentation, Re: Prefer luatex for documentation

2022-11-21 Thread Kevin Barry
On Mon, Nov 21, 2022 at 12:03:34PM +0100, Luca Fascione wrote:
> I must say I don't understand this discussion.

I agree with most of what Luca said.

I'm sure whatever the maintenance burden is, Werner is likely to bear it
himself. Supporting newer versions of tools may even help (cf. texi2html
and texi2any). Either way, since he principally takes care of this part
of the codebase I don't think we should use maintainability as an
objection.  This is not a drive-by patch.

And we should care about improvements in typography.

Kevin



Re: BDWGC fix in 2.24?

2022-11-18 Thread Kevin Barry
On Fri, Nov 18, 2022 at 11:06:45AM +0100, Jean Abou Samra wrote:
> Hi,
> 
> What should we do? Do we accept releasing 2.24 from
> the release-8_2 branch in BDWGC even though it is not
> released? Do we keep the current workaround, which still
> gives some crashes? Do we replace our workaround
> with Ivan Maidanski's patch, which seems to apply cleanly
> on the v.8.2.2 tag?

How sure are we that this patch fixes the issue?

Assuming that it does fix it, then I think our options are:
- release what we have anyway, and follow up with a patch release
  removing our workaround when it's no longer needed
- wait for the patch to be released

My personal preference is for the latter option, but I think either
option is OK. I don't like the idea of a stable release built from an
unreleased version of BDWGC.

Kevin



Re: markup->string

2022-11-15 Thread Kevin Barry
On Tue, Nov 15, 2022 at 02:49:55PM +0100, Jean Abou Samra wrote:
> Le 15/11/2022 à 14:43, David Kastrup a écrit :
> > If it's "mundane", why would the conversion result in a complex
> > replacement?
> 
> Have you looked at the replacement?
> 
> It is
> 
> (lambda* (m #:optional headers)
>   (if headers
>   (markup->string m #:props (headers-property-alist-chain headers))
>       (markup->string m))

I agree with others' assessment that this doesn't "look" good: it's
taking logic that, in a perfect world, would be internal to convert-ly,
and inserting it into users' documents. We wouldn't advise users to
write this logical check in a new score. We would tell them only to use
whichever of the two options applies to their use.

> The "complexity" we are talking about is the length of the output
> of convert-ly relative to the input. There is no complex logic
> at all.

Well yes, but for many users it would be replacing something short or
simple with something they are not familiar with.

The merge request you raised to address it looks good (especially
because it only warns for anything more complex than
`(markup->string )`

Kevin



Re: Potential LSR licensing violations

2022-10-21 Thread Kevin Barry
On Fri, Oct 21, 2022 at 01:27:07PM +0200, Jean Abou Samra wrote:
> It would have helped IMO if all the more or less unrelated side
> questions had been raised in separate threads…

Well yes, but it's totally unavoidable any time licencing comes up for
discussion. The subject itself seems to be a magnet for generating
endless pontificating (I'm guilty of this too).

I see some messages in this thread about how included style files in
LaTeX mean the resulting PDF is GPL. It reminds me of a similar
discussion about LilyPond some years ago (about '\include "english.ly"'
I think) that went nowhere, wasted everyone's time, and was never
resolved. That discussion probably did the most in putting me off the
subject for life.

> What's the specification of that job?
> 
> As I wrote to Harm (but maybe the mailing list didn't
> deliver that post to you yet), I don't think there is
> a lot to do. If you see a clear license violation,
> correct it, as we've done here.

The question of whether it's a requirement or not has nothing to do with
how onerous it is. I can't weigh in on the specification of the duties
because I wouldn't particularly be in favour of adding that
responsibility to the LSR maintainers (but I won't object either).

Kevin



Re: Potential LSR licensing violations

2022-10-21 Thread Kevin Barry
On Fri, Oct 21, 2022 at 01:12:09PM +0200, Jean Abou Samra wrote:
> -- AFAIK, this is the first time we have to do a relicensing,
> and the odds of a legal case involving LilyPond are very small
> due to its low-key profile in the industry. I feel this would
> be much ado about nothing.

This is why I think it's usually better not to pay any attention to
licence issues that don't come in the form of cease-and-desist or
whatever. This whole exercise was (IMO) much ado about nothing.

And we are now left with the question of whether licensing is now part
of the duties of LSR editors. As Thomas said, it's not mentioned in the
CG. I guess we have to add it?

Kevin



Re: Potential LSR licensing violations

2022-10-20 Thread Kevin Barry
On Thu, Oct 20, 2022 at 02:32:58AM +0200, Jean Abou Samra wrote:
> What should we do about these snippets? Delete them?

My two cents is that we should leave it alone and not spend time talking
about licences because those discussions rarely arrive at answers, and
most of the time there isn't really a problem except in someone's
imagination.

Kevin



Re: weird error engraving two files with 2.23.14

2022-10-13 Thread Kevin Barry
> I tried 2.23.12 and I got the same error.

Do you remember what version it last worked with?

> It works great using the cairo backend!
> I wanted to test it so I think I'll set it as default for all my scores.
> What are the current drawbacks? There's any page in the docs about cairo?

It looks like there was some kind of mixup adding info about cairo to
the changes doc. I can see the doc code in this diff:
https://gitlab.com/lilypond/lilypond/-/merge_requests/1651/diffs?commit_id=1df07dd726ff8bf16e60501080fcbd47b82ae6d4
but it looks like that merge request somehow didn't end up including
that. I'll see about preparing a patch for it.

To summarise what's there: it should be an improvement over ghostscript,
but it's still experimental and doesn't implement all of the features of
the other backends (I can't remember what, if anything, is missing).

Kevin



Re: weird error engraving two files with 2.23.14

2022-10-13 Thread Kevin Barry
Hi Federico,

On Thu, Oct 13, 2022 at 01:06:17AM +0200, Federico Bruni wrote:
> Hi folks
> 
> I've recently used convert-ly to update my private music sheet library and
> test version 2.23.14 (official binaries).
> Two files are failing with the same error message:

Did this work with 2.23.13? Or what was the last version it worked on?

> Any idea about the cause? I'm using a different font for tablature numbers,
> but commenting that line still triggers this error.
> These two files are copyrighted and I can't share them here, but I will send
> privately to anyone interested in debugging this issue.

On the surface it looks like a problem with ghostscript, but it's not
clear. If you remove all font changes does the error still occur? Can
you send on the verbose log for that?

Also, if you are willing to try it, see if adding the option
-dbackend=cairo (which should avoid calling ghostscript) also fails (you
may need libcairo or some such installed on your system for this).

Kevin



Re: Updated release schedule

2022-10-11 Thread Kevin Barry
On Mon, Oct 10, 2022 at 11:08:57PM +0200, Jonas Hahnfeld via Discussions on 
LilyPond development wrote:
> Hi all,
> 
> Yes, I'm trying to slightly shorten the timeline to three weeks between
> the release candidates in an attempt to get a release before the end of
> the year. We will see how this will work out...

Thank you for doing this. It looks good.

Kevin



Re: To branch or not to branch

2022-10-05 Thread Kevin Barry
On Wed, Oct 05, 2022 at 03:40:03PM +0200, Jonas Hahnfeld via Discussions on 
LilyPond development wrote:
> > Silence means consent.
> 
> How can you consent to a question, whether to branch or not?  This
> time I even explicitly asked for thoughts. A (stable) release should
> be a team effort, that's not something a single person should or want
> to decide...

I think I already weighed in in support of the idea. I don't know how
else I might contribute, but I would like to help if there is anything I
can do.

Kevin



Re: To branch or not to branch

2022-09-21 Thread Kevin Barry
> In the last discussion on this topic in
> https://lists.gnu.org/archive/html/lilypond-devel/2022-09/msg00070.html
> the rare crashes on Windows were identified as a blocker. These seem to
> be fixed now, at least for reasonable user scores (we can still trigger
> it when running the garbage collection in every translator slot); see
> https://gitlab.com/lilypond/lilypond/-/issues/6361 for full details.

You asked for comments so I'll give mine: I think we should proceed
with 2.24, but with some kind of planned response for a situation
where users report experiencing the Windows crashes on a "normal"
score.

Kevin



Re: Lilypond build dependency tlasm

2022-09-07 Thread Kevin Barry
I have no issues when I Google it. Did you search for tlasm or t1asm?

Kevin

On Wed 7 Sept 2022, 09:51 Andrew Bernard, 
wrote:

> I cant find out what tlasm is. It's a missing dependency for the build.
> Google's indexing of billions of pages produces nothing, unless I am
> dreaming. Could somebody help me understand what this program is and
> where to find it?
>
> ../configure outputs:
>
> ERROR: Please install required programs:  t1asm
>
>
> Andrew
>
>
>
>


Re: eps backend in latest master

2022-08-18 Thread Kevin Barry
Following up on this with a solution based on Han-Wen's comments in that issue:

I can replace `#(ly:set-option 'backend 'eps)` with:
```
#(ly:set-option 'separate-page-formats 'eps,png,pdf)
#(ly:set-option 'use-paper-size-for-page #f)
```
And that restores the old behaviour.

I'm not sure if it should be socialised or not. The previous way of
doing it didn't make any more sense.

Kevin


On Wed, 17 Aug 2022 at 17:14, Kevin Barry  wrote:
>
> Thank you that definitely looks related! I have posted a comment there.
>
> On Mon, 15 Aug 2022 at 21:35, Jean Abou Samra  wrote:
>>
>> Le 15/08/2022 à 18:12, Kevin Barry a écrit :
>> > Hi all,
>> >
>> > I used to have a style file for creating musical examples (typically, for
>> > printed books and the like) that handily produced cropped images by setting
>> > the backend to eps (and removing margins and headers and footers). I
>> > noticed that this has stopped working in latest master and I am unable to
>> > exactly replicate the behaviour. The crop option does not preserve the
>> > space between systems so it's no good. Is there another way to get the old
>> > behaviour?
>> >
>> > Kevin
>>
>>
>> Possibly the same problem as
>> https://gitlab.com/lilypond/lilypond/-/issues/6235
>>
>> I never took the time to understand all the backend options, there are
>> many of them and they've evolved a lot in 2.23.x… I would say that some
>> documentation section comparing them would be welcome.
>>



Re: eps backend in latest master

2022-08-17 Thread Kevin Barry
Thank you that definitely looks related! I have posted a comment there.

On Mon, 15 Aug 2022 at 21:35, Jean Abou Samra  wrote:

> Le 15/08/2022 à 18:12, Kevin Barry a écrit :
> > Hi all,
> >
> > I used to have a style file for creating musical examples (typically, for
> > printed books and the like) that handily produced cropped images by
> setting
> > the backend to eps (and removing margins and headers and footers). I
> > noticed that this has stopped working in latest master and I am unable to
> > exactly replicate the behaviour. The crop option does not preserve the
> > space between systems so it's no good. Is there another way to get the
> old
> > behaviour?
> >
> > Kevin
>
>
> Possibly the same problem as
> https://gitlab.com/lilypond/lilypond/-/issues/6235
>
> I never took the time to understand all the backend options, there are
> many of them and they've evolved a lot in 2.23.x… I would say that some
> documentation section comparing them would be welcome.
>
>


eps backend in latest master

2022-08-15 Thread Kevin Barry
Hi all,

I used to have a style file for creating musical examples (typically, for
printed books and the like) that handily produced cropped images by setting
the backend to eps (and removing margins and headers and footers). I
noticed that this has stopped working in latest master and I am unable to
exactly replicate the behaviour. The crop option does not preserve the
space between systems so it's no good. Is there another way to get the old
behaviour?

Kevin


Re: RFC on MR 1368

2022-05-25 Thread Kevin Barry
> Also technically I cannot "block contributions", nobody in the
> community has the power to do so.
>

This might be true technically, but in practice your objections are usually
enough.


Re: RFC on MR 1368

2022-05-25 Thread Kevin Barry
On Wed, 25 May 2022 at 07:38, Han-Wen Nienhuys  wrote:

> > I equally object to any contribution being merged "because the author
> knows what he's doing".
>
> I object to reviewers blocking contributions just because they have a
> strong opinion on how things should be done. In this case, Jonas has
> made 0 contributions to the MF code, so I don't think his concerns
> should be overriding.
>
> If Jonas feels really strongly about how the kerning should be
> handled, I invite him to teach himself the joys of Metafont and try
> his hand at a follow-up MR.
>

I agree with this. We should accept Werner's change.

And, more generally, I think we should err on the side of accepting
contributions.

Kevin


Re: Stepping down from Patch Meister role

2022-01-13 Thread Kevin Barry
Hi James,

This is a big loss; you will be missed. Thank you for all of your hard work.

> I want to stay a
> developer and that conflicts both time-wise and with respect to
> impartiality.

Finding a non-developer to fill James's shoes sounds difficult. I
would volunteer, but I still plan to contribute patches.

Kevin



Re: Cairo plans

2021-09-02 Thread Kevin Barry
> This use case continues to be supported with
> Cairo. Just convert \postscript to \path, wich
> works both in the current PS backend and with Cairo.

Is this something that can be done automatically with convert-ly? If
not then does it justify a major version bump?

Kevin



Re: Cairo plans

2021-08-31 Thread Kevin Barry
These changes/improvements are exciting. Thank you and Knut for the hard work!

> > I would say that this step requires going to LilyPond 3.0, along with
> > removing all the features and commands that cannot be implemented in
> > the Cairo backend, or that we don't want to.
>
> We can discuss this in detail later, but I think a major version bump
> is not warranted, as we're leaving the music input intact.

I would also have been inclined to say this suggests a major version
bump. But if what you say is true - that input is completely unchanged
- then it may not be necessary. Will the loss of the ps-command affect
users?

Kevin



Re: PATCHES - Countdown for August 21st

2021-08-22 Thread Kevin Barry
> I'd be grateful if someone could merge this one (on a phone, and GitLab seems 
> to heavy for it...).
>
> Thanks,
> Jean

Done



Re: Building in WSL

2021-06-19 Thread Kevin Barry
> > I resorted to using WSL out of desperation on a system where I can't
> > get the wifi to work on Linux. I was able to develop on LilyPond more
> > or less unhindered (until I checked again recently). If you have a
> > Linux system there's no reason to use WSL (IMO).
>
> Quite.

The final irony in my case (and why I haven't had to use WSL recently)
was that I managed to figure out that my wifi woes in Linux were
actually caused by Windows: the fast boot/startup feature leaves the
wifi card in a partially powered state that (apparently) only it can
revive it from. I wasted a lot of time troubleshooting thanks to that.

Kevin



Re: Building in WSL

2021-06-17 Thread Kevin Barry
Hi James,

> I cannot even get autogen.sh to run!
>
>
> -bash: ./autogen.sh: /bin/sh^M: bad interpreter: No such file or directory
>
> This appears to be caused by a line ending difference betwen *nix and
> Windows.

That's odd; did you clone the repo from within WSL or from Windows?

>
> Ugh. So much for WSL. I keep running into issues like this and yet some
> people keep insisting to me that WSL == Linux (or as good as).

I resorted to using WSL out of desperation on a system where I can't
get the wifi to work on Linux. I was able to develop on LilyPond more
or less unhindered (until I checked again recently). If you have a
Linux system there's no reason to use WSL (IMO).

Kevin


>
> Oh well. So much for compiling on WSL.
>
> James
>
>
>
>
> >
> > Thanks for taking the time. I cannot recall what error I had now - the
> > machine that WSL is on is a work machine so I tend to keep it clear of
> > personal stuff but I was curious and had some time on my hands - but I
> > do remember being able to build LilyPond just not the doc.
> >
> > I'll check again next week, maybe try an earlier version of Ubuntu if
> > such a thing exists on MS marketplace these days.
> >
> > James
> >
> >
> >
> >>
> >>
> >> On Wed, 9 Jun 2021 at 10:49, Kevin Barry  wrote:
> >>> Hi James,
> >>>
> >>> I'm pretty sure that I managed this, but I may not have gone as far as
> >>> a full doc build, but I think I managed install-info. I will try to
> >>> make time to verify and get back to you.
> >>>
> >>> Kevin
> >>>
> >>> On Wed, 9 Jun 2021 at 07:37, James  wrote:
> >>>> Hello,
> >>>>
> >>>> Has anyone on this list recently (within the last year or so) ever
> >>>> managed to build LP and its Doc using WSL - specifically version 2
> >>>> (I am
> >>>> using Ubuntu 20.04)?
> >>>>
> >>>> Every now and again I go back and reclone the entire git dir and go
> >>>> through the setting up of software dependencies etc. but I've never
> >>>> managed ever to get a full doc build to complete.
> >>>>
> >>>> I haven't done any useful debugging as I have a linux box that works
> >>>> fine so it's not a huge deal but I was wondering if anyone on this
> >>>> list
> >>>> had ever tried on WSL and got it to work.
> >>>>
> >>>> --
> >>>> --
> >>>>
> >>>> regards
> >>>>
> >>>> James
> >>> >
> >
>
> --
> --
>
> regards
>
> James
>



Re: Building in WSL

2021-06-12 Thread Kevin Barry
OK well something must have changed since I last did a build on WSL
because I couldn't even get `make all' on a freshly checked out master
to work. And that was *definitely* working before.

It fails now with this error:
Making Documentation/out/en/changes.texi < tely
lilypond-book.py: error: file not found: version.itexi

I'm running Ubuntu 20.04 on WSL 2. My normal Linux system doesn't have
the same problem.

Kevin


On Wed, 9 Jun 2021 at 10:49, Kevin Barry  wrote:
>
> Hi James,
>
> I'm pretty sure that I managed this, but I may not have gone as far as
> a full doc build, but I think I managed install-info. I will try to
> make time to verify and get back to you.
>
> Kevin
>
> On Wed, 9 Jun 2021 at 07:37, James  wrote:
> >
> > Hello,
> >
> > Has anyone on this list recently (within the last year or so) ever
> > managed to build LP and its Doc using WSL - specifically version 2 (I am
> > using Ubuntu 20.04)?
> >
> > Every now and again I go back and reclone the entire git dir and go
> > through the setting up of software dependencies etc. but I've never
> > managed ever to get a full doc build to complete.
> >
> > I haven't done any useful debugging as I have a linux box that works
> > fine so it's not a huge deal but I was wondering if anyone on this list
> > had ever tried on WSL and got it to work.
> >
> > --
> > --
> >
> > regards
> >
> > James
> >



Re: Building in WSL

2021-06-09 Thread Kevin Barry
Hi James,

I'm pretty sure that I managed this, but I may not have gone as far as
a full doc build, but I think I managed install-info. I will try to
make time to verify and get back to you.

Kevin

On Wed, 9 Jun 2021 at 07:37, James  wrote:
>
> Hello,
>
> Has anyone on this list recently (within the last year or so) ever
> managed to build LP and its Doc using WSL - specifically version 2 (I am
> using Ubuntu 20.04)?
>
> Every now and again I go back and reclone the entire git dir and go
> through the setting up of software dependencies etc. but I've never
> managed ever to get a full doc build to complete.
>
> I haven't done any useful debugging as I have a linux box that works
> fine so it's not a huge deal but I was wondering if anyone on this list
> had ever tried on WSL and got it to work.
>
> --
> --
>
> regards
>
> James
>



Re: [PoC] EXPERIMENTAL binaries of LilyPond 2.22.1

2021-05-20 Thread Kevin Barry
Do Debian package LilyPond for aarch64? If they do, their build
scripts are probably available somewhere.

On Thu, 20 May 2021 at 07:26, Jonas Hahnfeld via Discussions on
LilyPond development  wrote:
>
> Am Mittwoch, dem 19.05.2021 um 22:54 +0200 schrieb Federico Bruni:
> > On Thu, May 13 2021 at 22:46:58 +0200, Jonas Hahnfeld via Discussions
> > on LilyPond development  wrote:
> > > After some work, I built binaries from the released sources of
> > > LilyPond 2.22.1 for
> > >  * Linux (compiled on CentOS 7; tested on Arch, CentOS 8, Ubuntu
> > > 18.04)
> >
> > Have you thought about adding more architectures? I'm thinking of
> > aarch64 in particular.
>
> Yes, I *hope* that it would be straight-forward to produce binaries
> with the same set of scripts, provided dependencies like Guile and
> friends don't choke about the architecture. It clearly needs a native
> build host, but it's not obvious to me how much users (would) run
> LilyPond on AArch64...
>
> Jonas



Re: Looking for contractor

2021-04-28 Thread Kevin Barry
Hi Tim,

I wish I could volunteer for this, but I have a full-time job, and I'm
not really knowledgable enough to do it without help. But I will help if
I can.

Han-wen opined on the merge request he opened for this issue last year
that we would probably have to replace our current pdf rendering system
(ghostscript) with an alternative (e.g. libcairo). That sounds like a
significant change.

I would like to hear what other developers think.

Kevin

On Tue, Apr 27, 2021 at 09:38:58AM +1000, Tim Starling wrote:
> I'm looking for a developer who would like take on a contract to
> improve LilyPond security.
> 
> The work would be as discussed last October on this mailing list:
> https://lists.gnu.org/archive/html/lilypond-devel/2020-10/msg00096.html
> 
> My summary is as follows:
> 
> * Make all parser-related modules safe. In ly_make_module(), always
> use a safe module (make-safe-lilypond-module or make-safe-module).
> Remove the reference to Guile_user::the_root_module.
> * Work through the consequences in order to allow typical real-world
> input files to be rendered as before, without errors.
> * Ensure that the documentation and regression tests can still be built.
> * Propose code changes so as to update the version to 3.0.0.
> 
> Please tell me if I'm missing something in this summary or if there is
> something you would like to add. The scope should be sufficient such
> that the changes can be accepted and released. We don't want to leave
> it half-done.
> 
> I am looking for someone who is familiar with LilyPond and has
> previously submitted code which I can review.
> 
> Please let me know if you are interested.
> 
> --
> Tim Starling
> Principal Software Architect
> Wikimedia Foundation
> 



Re: State of LilyPond with Guile 2.2

2021-04-11 Thread Kevin Barry
On Sun, Apr 11, 2021 at 08:11:37PM +0200, Jonas Hahnfeld via Discussions on 
LilyPond development wrote:
> So, that was the main question of the message (sorry if that got hidden
> in the lengthy text and many numbers): What is "reasonable"? I think
> the numbers I showed are reasonable, but that's certainly subjective.
> Yes, they are slower than Guile 1.8 but there'll be a trade-off at some
> point.

I don't know if my opinion counts, but...

Based on the numbers in this thread and the ones from the recent thread
with the Guile developer (? whose name escapes me) I think we should
move to Guile 2.2 (i.e. make it the default and stop supporting 1.8) as
soon as reasonably possible and just accept the deterioration in
performance.

I don't think we have much to gain by continuing to wait: Guile has
already moved on to version 3 so we cannot expect performance problems
with 2.2 to change much or go away.

The only alternative seems to be Han-wen's suggestion of forking Guile
1.8. I don't know all of the implications of that. Lots of downsides
are immediately apparent for developers, but on the other hand everyone
is affected by performance so maybe we should give it serious thought.
(But again: if there is agreement that this is not the right course then
I see no reason not to immediately abandon 1.8.)

Kevin



Re: Reducing the number of open issues

2021-04-02 Thread Kevin Barry
On Wed, Mar 17, 2021 at 08:10:08PM +0100, Jonas Hahnfeld wrote:
> In the longer term, I think it could make sense to hold a "bug bash
> weekend" and try to pick some low-hanging fruits. That would not be
> limited to developers to write patches, but everybody to try and
> reproduce old reports with the then-current unstable release and close
> issues that are no longer relevant. Let me know if this sounds
> interesting and you'd be prepared to participate.

I would be willing to participate in something like this.

Kevin



Re: search-box.ihtml not tracked by check-translation script?

2020-12-18 Thread Kevin Barry
Hi Federico,

I don't know anything about this part of the code, but the relevant errors
from the doc build pipeline seem to be:
no such file: search-box.ihtml: No such file or directory at
/builds/lilypond/lilypond/Documentation/lilypond-texi2html.init line
836.
/builds/lilypond/lilypond/build/.././Documentation/GNUmakefile:246:
recipe for target 'out-www/cs/web-big-page.html' failed

Does that point you in the right direction?

Kevin

On Fri, 18 Dec 2020 at 20:27, Federico Bruni  wrote:
>
> I've just submitted a MR:
> https://gitlab.com/lilypond/lilypond/-/merge_requests/545
>
> but it doesn't pass the doc build pipeline.
>
> It worked for me on my computer, even though only english docs were
> built.
> Basically I just added 'en' to the LY_LANGUAGES variable before the
> other languages are appended.
>
> Any advice is welcomed! :-)
>
>
>
> Il giorno mer, dic 9 2020 at 00:38:05 +0100, Federico Bruni
>  ha scritto:
> > Any reason why search-box.ihtml is in Documentation/ instead of
> > Documentation/en?
> > It seems it's causing troubles to the check-translation script:
> >
> > $ cd Documentation
> > $ make ISOLANG=fr check-translation | grep 'diff --git'
> > warning: fr/search-box.ihtml: 128 fatal: path
> > 'Documentation/en/search-box.ihtml' does not exist in 'HEAD'
> >
> >
> >
>
>
>



Re: RFC: rethink horizontal alignment of mid-staff bar numbers

2020-11-15 Thread Kevin Barry
On Sun, Nov 15, 2020 at 01:37:34PM +, Graham King wrote:
> I think Gould's positioning looks _slightly_ better, except at
> line-beginnings where I definitely prefer lilypond's.  Moreover, the
> position immediately after a bar line is heavily-contested
> real-estate, as your examples make clear.  Therefore it would be good
> to retain the option to preserve the status quo, especially where
> convert-ly might otherwise cause skyline changes to existing scores.
Thank you for your input!

Jean's code makes it possible to restore LilyPond's current behaviour
with a single override:
\override Score.BarNumber.self-alignment-X = #1
The examples in the pdf differ only in that value:
- LilyPond: 1
- This MR: 0
- Gould: 1
- Even farther to the right: 1.55 (I'm not sure how Jean Abou chose that
  value)
So, at the very least, the added code will make it easier for users to
choose their preferred alignment. If it turns out that most people
prefer to keep LilyPond's current behaviour I will still submit a merge
request for Jean Abou's alignment code, just with a default value that
preserves current behaviour.

I appreciate that you have given a nuanced response. Practically
speaking, the vast majority of scores only have bar numbers at the
beginning of a line, so I will simplistically categorise your response
as in favour of keeping LilyPond's current behaviour.

Kevin



Re: RFC: rethink horizontal alignment of mid-staff bar numbers

2020-11-15 Thread Kevin Barry
On Sun, Nov 15, 2020 at 07:07:03AM -0600, David Nalesnik wrote:
> Another vote for Gould.  (Though does she have anything to say about
> the normally unshown measure numbers which are stranded beyond the
> line here?)

Those are included in the examples purely for the sake of completeness.
Gould has nothing to say about such bar numbers and I would surprised if
any scores included them.

Kevin



Re: RFC: rethink horizontal alignment of mid-staff bar numbers

2020-11-15 Thread Kevin Barry
On Sun, Nov 15, 2020 at 11:02:52AM +, Kevin Barry wrote:
> - if you have a preference for one of the four, please indicate which

I will be the first responder and say that, of the options in the pdf, I
think Gould is the most appropriate.

Kevin



Re: tie over clef change

2020-09-27 Thread Kevin Barry
> Both cases were discussed. For an orchestra they are not the same pitch, thus 
> formally a slur.

You cannot make this assumption. It is exceptional to distinguish D
sharp and E flat since most performed orchestral music is equally
tempered. It is common, for example, for a composer to write D sharp
for some instruments and E flat for others.



Re: tie over clef change

2020-09-26 Thread Kevin Barry
On Sat, 26 Sep 2020 at 19:30, Hans Åberg  wrote:
>  The notes d♯ to e♭ have different pitches in the staff notation
>  system, which cannot express E12 enharmonic equivalents, so this
>  is slur. So it should be a slur that looks like slur.
> >
> > I disagree.  For all practical purposes in standard classical music,
> > enharmonic equivalents *do* sound the same.  What you are referring to
> > IMHO is a special case that might be controlled by a flag.
>
> They do not, and the string section, that primarily stands for the pitch
> reference, trains to slide the pitch appropriately:

In some contexts a notated D sharp and E flat are the same pitch (e.g.
equally tempered piano music) and in some they are not (as you pointed
out). Since this is a discussion about ties, where the note is the
same by definition, we can assume we are dealing with the same pitch.
The question isn't whether it's a tie or a slur, but how LilyPond
should render a tie when the two notes are not aligned (i.e. the user
has entered a "~" indicating that it's a tie).

I agree with Gould that ties across clef changes should be avoided (I
personally wouldn't even do it in the Liszt example posted), but I
think LilyPond needs to handle it. I think it's quite acceptable to
detect this situation and switch to using a slur (but I haven't looked
at the code).

Kevin



Re: branching stable/2.22?

2020-08-25 Thread Kevin Barry
> I concur with the idea that a properly functioning full conversion to
> Python 3 and workable (though not required) Guile 2 constitutes sufficient
> change for the next stable version.  No other features are needed.

I agree with this.

Kevin



Re: accent glyphs too large?

2020-08-14 Thread Kevin Barry
> OK, thanks.  Reducing the size of the accent glyph (both vertically
> and horizontally) is a rather trivial change in Emmentaler, and I
> could submit an MR.  However, it might have a large impact on
> formatting older documents.  Is this something we should be concerned?
> Given that we adjust glyphs here and there from time to time I would
> say it doesn't matter much, but I would like to hear opinions.

I looked in Gould for an example where an accidental and an accent
coincide in a similar manner to your example, but I couldn't find one. I
think the change is an improvement, and making something smaller is less
likely to have a negative impact on older documents than making
something bigger would be.

Kevin




Re: Help fixing issues 4182 and 4691

2020-08-13 Thread Kevin Barry
Hi Dan,

Thank you for responding.

> If this problem involves a twisty maze of callbacks and pure-impure
> properties, it's unlikely that anyone's knowledge reaches the level of
> expertise you're hoping for.

That is a pretty accurate description of it: there are about 50 stack
frames between where I think the problem starts to where the error
happens. I'll try diving in again and see if I can come up with a better
suggestion than my last one.

Kevin




Re: glissando lines and accidentals

2020-08-11 Thread Kevin Barry
> By the way, do you agree that this is a bug in LilyPond?

Gould suggests it is: the example on page 143 in my edition of Behind
Bars, from a Bartok string quartet, shows only the glissando lines that
run into an accidental getting shortened (in fact, when there are enough
accidentals that there are two columns of them, a glissando that runs
into the accidental that is farther away from the note head will stop
for the accidental and start again afterwards to fill the gap).

She also says the lines should be parallel for parallel glissandos.

Kevin




Help fixing issues 4182 and 4691

2020-08-10 Thread Kevin Barry
Hi Developers,

I'm struggling with trying to fix these two issues so I'm asking for
help from someone with a better knowledge of LilyPond internals.

I have spent a couple of weeks looking at the code and trying different
solutions (in both C++ and Scheme), so I think I have some understanding
of the problem, but I have no idea about how/where to solve it and would
like some guidance. I won't go into details about the nature of the bugs
but they are both related to cross-staff beams.

I know everyone is busy, but I think it would be worth the time to help
get two regressions fixed (and maybe I'll learn something from it that
means I won't need help next time). Feel free to reply on or off list.
I'll be very grateful!

Kevin




Re: Accidentals' font

2020-07-04 Thread Kevin Barry
> Again, I hope I am not unpleasant and polemic

In my opinion, you are being both. If your goal was genuinely to
encourage improvements in LilyPond, then I hope it's clear from the
response that you are going about it in a poor way. Acting like it's
obvious that LilyPond's default font is badly designed is insulting,
and hiding insults behind your "opinion" isn't fooling anyone - it
just comes across as superior / talking down. If fonts were so easily
comparable as you are pretending, then we wouldn't have so many of
them.

The philosophy behind the design of LilyPond's default font was to
imitate plate engraving (which results in thicker lines than computer
engraving, partly because of "squeeze"), not to imitate another
computer font like Gonville, so all this Gonville talk is hot air. If
you don't like them that's not the fault of the font.

Regarding the attachments: in my opinion the lines in the sharp symbol
in Gonville are too thin and too close together - I have to squint at
it to see the gap properly. And for the clef test I actually don't
perceive any real difference other than the "C" for the time signature
(and again, I prefer the thicker version).

Kevin



Re: new procedure with GitLab CI

2020-06-06 Thread Kevin Barry
The fast-forward rebase has two advantages that I can think of:
- the git history is cleaner/easier to parse
- it prevents the situation that sometimes arises where a couple of
  patches - that pass testing independently, but will break when
  combined - from making it into master (and breaking it)

If we move to merge commits our git history will mostly have a merge as
every other log entry. It's a small loss, but a tolerable one in my
opinion. I don't know how people feel about the second issue. The
staging branch existed in the past to stop such breaks making it into
master. Maybe it's OK since our source of truth is still on Savannah? I
don't have strong opinions about it.

Is it a crazy idea to consider some automatic way of doing the rebase +
merge on all branches in Patch::push state? I believe Gitlab allows for
scheduled pipeline execution. (I'm just throwing the idea out there.)

Kevin
> > 
> > I’m not knowledgeable enough to discuss the benefits and downsides of
> > merge commits vs fast-foward rebase, so I’ll leave it to others.  But
> > I think you make a valid point in that our current linear
> > mandatory-rebase strategy is cumbersome, heavy on the CI pipelines and
> > generating a lot of noise.
> 
> I would like to comment on the last two points:
>  * "heavy on the CI pipelines": The number of pipelines wouldn't change
> with merge commits. We still get one pipeline per push and we would
> want to get testing before a set of changes hits master. This is the
> same as we have right now.
>  * "generating a lot of noise": The only "noise" is the rebase
> operation before merging. Everything else will stay the same: review
> comments, discussion, notifications about pushes, etc.
> NB: I don't see a need to rebase during review. If you chose to do it
> anyway, the same "noise" applies after switching to merge commits.
> 
> The only advantage of merge commits that I agree with is GitLab's
> ability to queue merges and perform them automatically. That may
> qualify as less "cumbersome", but lowering the expectation that every
> merge request in Patch::push must be merged on the same day will get us
> the same result, without any change.
> 
> > That being said, that’s only one of the three issues I raised in my
> > latest message (the other two being: how we’ll be handling Issue pages
> > from now on, and how patch reviewing can be made a bit more lenient
> > and smoother).
> 
> Please see my replies from last Saturday which went unanswered AFAICT.
> 
> Jonas
> 
> 
> > Jonas has started updating the CG, but that’s bound to reach a
> > roadblock if the underlying policies are not discussed and agreed upon
> > first.
> > 
> > Cheers,
> > -- V.





Re: [RFC] Enabling GitLab CI

2020-05-18 Thread Kevin Barry
On Mon, May 18, 2020 at 11:29:35AM +0100, James Lowe wrote:
> Countdown.py (which is Jonas' great cli tool) it's what you see when I do
> the countdown (that's literally cut/paste).

I haven't seen that script, but the gitlab API exposes pipeline
information. It should be enough to correlate a merge request with a
pipeline status (running, pending, success, failed, etc).



Re: [RFC] Enabling GitLab CI

2020-05-18 Thread Kevin Barry
On Mon, May 18, 2020 at 12:17:53PM +0200, Urs Liska wrote:
> No, at least not at the time I looked.
> What James needs is additionally an icon that states that MR is
> *currently* being tested.

There is an icon for that (it's blue and looks like a half-filled pie
chart) - I just couldn't find a merge request list that actually had any
in progress.



Re: [RFC] Enabling GitLab CI

2020-05-18 Thread Kevin Barry
On Mon, May 18, 2020 at 10:48:55AM +0100, James Lowe wrote:
> but how do I know? That is the nub of what I am asking. If a patch is 'new'
> how do I know that an automated make doc is 'in progress, has completed with
> errors, has completed without errors' as I am not going to bother to do any
> work on it if it is the first two cases. What is the point?

The merge request list has an icon next to every merge request showing
the current pipline status. There are different icons for passed,
failed and in-progress. Is that what you want? See the merge request
page for inkscape:
https://gitlab.com/groups/inkscape/-/merge_requests

Is the information you would like to be able to see visible there?

It will only show a pass if all stages pass, as far as I know.

Kevin



Re: README.md (was: migrating to GitLab)

2020-05-17 Thread Kevin Barry
On Sun, May 17, 2020 at 10:08:12AM +0200, Urs Liska wrote:
> Do I understand you correctly that README.txt is generated upon
> compiling LilyPond? So where does it end up, I couldn't find a
> README.txt neither in the source repository nor in the installation
> directory. Does it only end up in the documentation (which I haven't
> built locally)?

It gets built during a normal make all build. The source seems to be
Documentation/topdocs/README.texi. The built version seems to appear in
Documentation/topdocs/out.



Re: PATCHES - Countdown for May 15th

2020-05-15 Thread Kevin Barry
On Fri, May 15, 2020 at 04:25:52PM +0200, Jonas Hahnfeld wrote:
> That the script is doing exactly what I told it to do: The diff between
> the previous and the rebased commit is not empty. Therefore it adds the
> Patch::new label, removing Patch::push.

Shouldn't `diff staging...HEAD` be the same before and after a rebase
(three dots)?



Re: Verifying issues on Gitlab

2020-05-12 Thread Kevin Barry
Hi Federico,

Thank you for the instructions. I will try to help get them done as
well.

On Tue, May 12, 2020 at 12:28:24AM +0200, Federico Bruni wrote:
> In the last comment you should find a commit id (if it's missing you'll have
> to search it).
> The easiest and quickest way to verify that a certain id has been included
> in the release tag label used in the issue is using Github. Start from this
> URL:

Another handy way to do this is to run git tag --contains .
(For me this is faster than github.)

Kevin



Re: How are dynamics (self-)aligned exactly?

2020-05-10 Thread Kevin Barry
Hi Valentin

On Sun, May 10, 2020 at 10:13:04AM +0200, Valentin Villenave wrote:
> Greetings,
> 
> could anyone give me a hint as to where dynamics alignment is handled?
> As far as I can see, the self-alignment-interface functions are not
> used by the (formerly new) dynamic-engraver; and AFAICS the following
> diff doesn’t break compiling nor change any of the regtests:

As far as I can tell, the self-alignment-interface functions are called
by Grob::try_callback_on_alist (grob.cc). The callback is actually run
by scm_call_1 so perhaps whatever magic (DECLARE_SCHEME_CALLBACK ?)
makes c++ procedures like aligned_on_x_parent available to scheme works
without including the header files in the c++ files that use scm_call_X.

This is just a guess though...

Kevin



Re: Issue 3778: Use bounding box as skylines for markup in svg backend (issue 582010043 by barr...@gmail.com)

2020-05-02 Thread Kevin Barry
I will close this rietveld issue now that you are taking care of it.

Whatever discussion needs to take place can happen at the one you have
opened.

On Sat, May 02, 2020 at 11:54:14AM +0200, Han-Wen Nienhuys wrote:
> See http://codereview.appspot.com/545970043
> 
> note:
> 1) Depending on the renderer, the skylines diverge from the text.
> Inkscape reproduces exactly, but EOG messes up the text formatting.
> 
> 2) The lack of regression testing is worrying. We could have a section
> of regtests that is powered by
> 
>  inkscape --export-background-opacity=1.0  --export-background=white
> --export-type="png" svg.cropped.svg
> 
> and then do imagemagick diffs on the result.
> 
> On Sat, May 2, 2020 at 10:53 AM Kevin Barry  wrote:
> >
> > On Sat, May 02, 2020 at 09:59:18AM +0200, Han-Wen Nienhuys wrote:
> > > Not necessarily, but the refactoring means I'll likely have to
> > > overwrite the fix wholesale. Because there is no regtest, it willl
> > > depend on my diligence anyway to fix this again.
> >
> > OK, so what should we do? I am happy to take responsibility for making
> > sure it stays fixed after your work (even if that means another patch),
> > but if there's some way I can rebase it off your work that would be fine
> > too.
> 
> 
> 
> -- 
> Han-Wen Nienhuys - hanw...@gmail.com - http://www.xs4all.nl/~hanwen



Re: Issue 3778: Use bounding box as skylines for markup in svg backend (issue 582010043 by barr...@gmail.com)

2020-05-02 Thread Kevin Barry
On Sat, May 02, 2020 at 09:59:18AM +0200, Han-Wen Nienhuys wrote:
> Not necessarily, but the refactoring means I'll likely have to
> overwrite the fix wholesale. Because there is no regtest, it willl
> depend on my diligence anyway to fix this again.

OK, so what should we do? I am happy to take responsibility for making
sure it stays fixed after your work (even if that means another patch),
but if there's some way I can rebase it off your work that would be fine
too.



Re: Issue 3778: Use bounding box as skylines for markup in svg backend (issue 582010043 by barr...@gmail.com)

2020-05-02 Thread Kevin Barry
On Sat, May 02, 2020 at 01:16:30AM -0700, beauleetien...@gmail.com wrote:
> On 2020/05/02 07:38:58, hanwenn wrote:
> > I don't completely understand, though: if we put the "utf-8-string"
> directly
> > into the SVG output, the SVG browser might make other font choices,
> making the
> > outline potentially incorrect. Is this a problem in practice?

"utf-8-string" never appeared directly in the svg output and that
doesn't change.  Typically (without changing options) you would end up
with .

> There isn't really an "outline" anymore; the bounding box is used. That
> is based on the specified font, but if a font were substituted, there
> will be slight differences. They wouldn't be too big though and so
> wouldn't be a problem.

Yes, and to expand on this:
- lilypond was *already* falling back on the bounding box for
  pure utf-8-string stencils
- but when a grob mixed utf-8-string stencils with something else (a
  note for example), it would give the grob a skyline *just* from the
  note, meaning the text portion of the grob would collide with other
  grobs
- this patch changes the behaviour of stencils that mix utf-8-string and
  other kinds of stencil to be the same as pure utf-8-string (i.e. fall
  back to the bounding box).

> 
> https://codereview.appspot.com/582010043/



Re: Issue 3778: Use bounding box as skylines for markup in svg backend (issue 582010043 by barr...@gmail.com)

2020-05-02 Thread Kevin Barry
On Sat, May 02, 2020 at 12:25:15AM -0700, hanw...@gmail.com wrote:
> please don't submit; I'm rearranging this file completely.
> 
> Can you add your regression test + instructions on how to reproduce the
> problem?

I did add a regression test in the first patch set, but it breaks
testing. It seems we have no way to include the SVG backend in
regression tests (I can see one other example that tries to, using
inkscape, but it was disabled in 2008). I had to remove the regression
test in the second patchset in order to not break make test/check/etc.
Do you have any suggestion about how to deal with it?

The issue in the tracker shows how to reproduce the problem - do you
want that added to the code somewhere?

> 
> https://codereview.appspot.com/582010043/



Re: [PATCH v1] Issue 3778: Use bounding box as skylines for markup in svg backend

2020-04-28 Thread Kevin Barry
Hi Jonas,

> Done (hopefully).

Thank you very much; it looks like it worked!

Kevin



Re: [PATCH v1] Issue 3778: Use bounding box as skylines for markup in svg backend

2020-04-28 Thread Kevin Barry
Hi James,

> We do have a process, see: 
> http://lilypond.org/doc/v2.19/Documentation/contributor-big-page#summary-for-experienced-developers

I have followed this as best I can, but it seems I need to have write
access to the issue tracker before I can send patches. If that is the
case then can someone please arrange that for me? My username is
barrykp.

Kevin



Re: [PATCH v1] Issue 3778: Use bounding box as skylines for markup in svg backend

2020-04-27 Thread Kevin Barry
Hi James,

Thank you for responding.

On Mon, Apr 27, 2020 at 11:09:50AM +0100, James wrote:
> Is this patch read for full testing or is it work-in-progress you just want
> someone to comment on it?

It's not work in progress no - unless someone has objections or
observations, but I don't mean to circumvent the review process or
anything. If there's a better way to go about this then I'm happy to
follow a process.

Kevin



Re: [PATCH v1] Issue 3778: Use bounding box as skylines for markup in svg backend

2020-04-25 Thread Kevin Barry
Patch is attached to this mail as a file if that is more convenient.

Kevin
>From 1c5715ad52139aab936ee7dffb2cdef3d123b369 Mon Sep 17 00:00:00 2001
From: Kevin Barry 
Date: Fri, 24 Apr 2020 19:26:26 +0100
Subject: [PATCH v1] Issue 3778: Use bounding box as skylines for markup in svg
 backend

As there is no routine for determining skylines for utf-8-string
stencils, they normally fall back to the grob's bounding box, which is
fine. However, when there is a mixture of utf-8-string and other types
of stencil (which have associated skyline functions) in a single grob,
the entire grob gets a skyline determined only from the non-utf-8-string
stencils. This sometimes causes the text portion of such mixed grobs
(e.g.  metronome marks) to collide with other grobs.

While looping over the stencils, check for utf-8-string and if found,
clear the skylines and break out of the loop. Empty skylines forces a
fallback to the grob's bounding box, which restores the behaviour from
before the patch to improve skyline approximations (issue 2148). This
does not fix the issue that there is no routine for determining skylines
for utf-8-strings when the backend is svg, but it does at least remove
the collisions without changing the behaviour in non-broken situations.

Add a suitable (svg backend) regression test.
---
 input/regression/svg-metronome-mark-skylines.ly | 15 +++
 lily/stencil-integral.cc| 10 +-
 2 files changed, 24 insertions(+), 1 deletion(-)
 create mode 100644 input/regression/svg-metronome-mark-skylines.ly

diff --git a/input/regression/svg-metronome-mark-skylines.ly 
b/input/regression/svg-metronome-mark-skylines.ly
new file mode 100644
index 00..844e4a8081
--- /dev/null
+++ b/input/regression/svg-metronome-mark-skylines.ly
@@ -0,0 +1,15 @@
+\header {
+texidoc = "In svg output, a @code{MetronomeMark} or any grob mixing text
+and other glyphs does not collide with other grobs.
+"
+}
+
+\version "2.21.1"
+
+#(ly:set-option 'backend 'svg)
+
+{
+  \tempo "Allegro" 4 = 120
+  r1
+  r4 f''' e''' b''
+}
diff --git a/lily/stencil-integral.cc b/lily/stencil-integral.cc
index 7b12eaf17b..8ac386a10e 100644
--- a/lily/stencil-integral.cc
+++ b/lily/stencil-integral.cc
@@ -1097,7 +1097,15 @@ Stencil::skylines_from_stencil (SCM sten, Real pad, SCM 
rot, Axis a)
   vector boxes;
   vector > buildings;
   for (SCM s = scm_reverse_x (data, SCM_EOL); scm_is_pair (s); s = scm_cdr (s))
-stencil_dispatcher (boxes, buildings, scm_caar (s), scm_cdar (s));
+{
+  // If any stencils are utf-8-string, fall back on the bounding box
+  if (scm_is_eq (scm_cadar (s), ly_symbol2scm ("utf-8-string")))
+{
+  boxes.clear();
+  break;
+}
+  stencil_dispatcher (boxes, buildings, scm_caar (s), scm_cdar (s));
+}
 
   // we use the bounding box if there are no boxes
   // FIXME: Rotation?
-- 
2.25.3



[PATCH v1] Issue 3778: Use bounding box as skylines for markup in svg backend

2020-04-24 Thread Kevin Barry
As there is no routine for determining skylines for utf-8-string
stencils, they normally fall back to the grob's bounding box, which is
fine. However, when there is a mixture of utf-8-string and other types
of stencil (which have associated skyline functions) in a single grob,
the entire grob gets a skyline determined only from the non-utf-8-string
stencils. This sometimes causes the text portion of such mixed grobs
(e.g.  metronome marks) to collide with other grobs.

While looping over the stencils, check for utf-8-string and if found,
clear the skylines and break out of the loop. Empty skylines forces a
fallback to the grob's bounding box, which restores the behaviour from
before the patch to improve skyline approximations (issue 2148). This
does not fix the issue that there is no routine for determining skylines
for utf-8-strings when the backend is svg, but it does at least remove
the collisions without changing the behaviour in non-broken situations.

Add a suitable (svg backend) regression test.
---
 input/regression/svg-metronome-mark-skylines.ly | 15 +++
 lily/stencil-integral.cc| 10 +-
 2 files changed, 24 insertions(+), 1 deletion(-)
 create mode 100644 input/regression/svg-metronome-mark-skylines.ly

diff --git a/input/regression/svg-metronome-mark-skylines.ly 
b/input/regression/svg-metronome-mark-skylines.ly
new file mode 100644
index 00..844e4a8081
--- /dev/null
+++ b/input/regression/svg-metronome-mark-skylines.ly
@@ -0,0 +1,15 @@
+\header {
+texidoc = "In svg output, a @code{MetronomeMark} or any grob mixing text
+and other glyphs does not collide with other grobs.
+"
+}
+
+\version "2.21.1"
+
+#(ly:set-option 'backend 'svg)
+
+{
+  \tempo "Allegro" 4 = 120
+  r1
+  r4 f''' e''' b''
+}
diff --git a/lily/stencil-integral.cc b/lily/stencil-integral.cc
index 7b12eaf17b..8ac386a10e 100644
--- a/lily/stencil-integral.cc
+++ b/lily/stencil-integral.cc
@@ -1097,7 +1097,15 @@ Stencil::skylines_from_stencil (SCM sten, Real pad, SCM 
rot, Axis a)
   vector boxes;
   vector > buildings;
   for (SCM s = scm_reverse_x (data, SCM_EOL); scm_is_pair (s); s = scm_cdr (s))
-stencil_dispatcher (boxes, buildings, scm_caar (s), scm_cdar (s));
+{
+  // If any stencils are utf-8-string, fall back on the bounding box
+  if (scm_is_eq (scm_cadar (s), ly_symbol2scm ("utf-8-string")))
+{
+  boxes.clear();
+  break;
+}
+  stencil_dispatcher (boxes, buildings, scm_caar (s), scm_cdar (s));
+}
 
   // we use the bounding box if there are no boxes
   // FIXME: Rotation?
-- 
2.25.3




Re: [PATCH] Issue 3778: Use bounding box as skylines for markup in svg backend

2020-04-24 Thread Kevin Barry
On Fri, Apr 24, 2020 at 09:25:19PM +0200, Han-Wen Nienhuys wrote:
> Just add a test file under input/regression/ , following the style of
> other files there.

Thanks for the pointer. The only other svg backend file there looks like
it has been deliberately disabled, so apologies if I have done this
wrong. A revised patch will follow with an added regression test.

Kevin



Re: [PATCH] Issue 3778: Use bounding box as skylines for markup in svg backend

2020-04-24 Thread Kevin Barry
On Fri, Apr 24, 2020 at 09:18:10PM +0200, Han-Wen Nienhuys wrote:
> Can you add  a regression test that shows the problem?

Yes. I'll go read the docs to see how to do that and do one up (but feel
free to point me in the right direction...)

Kevin



[PATCH] Issue 3778: Use bounding box as skylines for markup in svg backend

2020-04-24 Thread Kevin Barry
As there is no routine for determining skylines for utf-8-string
stencils, they normally fall back to the grob's bounding box, which is
fine. However, when there is a mixture of utf-8-string and other types
of stencil (which have associated skyline functions) in a single grob,
the entire grob gets a skyline determined only from the non-utf-8-string
stencils. This sometimes causes the text portion of such mixed grobs
(e.g.  metronome marks) to collide with other grobs.

While looping over the stencils, check for utf-8-string and if found,
clear the skylines and break out of the loop. Empty skylines forces a
fallback to the grob's bounding box, which restores the behaviour from
before the patch to improve skyline approximations (issue 2148). This
does not fix the issue that there is no routine for determining skylines
for utf-8-strings when the backend is svg, but it does at least remove
the collisions without changing the behaviour in non-broken situations.
---
 lily/stencil-integral.cc | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lily/stencil-integral.cc b/lily/stencil-integral.cc
index 7b12eaf17b..47179148cd 100644
--- a/lily/stencil-integral.cc
+++ b/lily/stencil-integral.cc
@@ -1097,7 +1097,14 @@ Stencil::skylines_from_stencil (SCM sten, Real pad, SCM 
rot, Axis a)
   vector boxes;
   vector > buildings;
   for (SCM s = scm_reverse_x (data, SCM_EOL); scm_is_pair (s); s = scm_cdr (s))
-stencil_dispatcher (boxes, buildings, scm_caar (s), scm_cdar (s));
+{
+  // If any stencils are utf-8-string, fall back on the bounding box
+  if (scm_is_eq (scm_cadar (s), ly_symbol2scm ("utf-8-string"))) {
+  boxes.clear();
+  break;
+  }
+  stencil_dispatcher (boxes, buildings, scm_caar (s), scm_cdar (s));
+}
 
   // we use the bounding box if there are no boxes
   // FIXME: Rotation?
-- 
2.25.3




Re: Resolving standoffs (was: Naming question for get_property, set_property)

2020-04-13 Thread Kevin Barry
Hi David,

Although you have changed the subject to "Resolving standoffs" your
email reads like an attempt to force a resolution - in your favour -
of one *particular* standoff. It seems to be more of a protest than an
attempt to elicit discussion.

I am both a lurker and not capable of understanding the disagreement
between you and Han Wen, so I can't offer an opinion on it. And
obviously take my view with a grain of salt, but is it not typical for
this development community that, when there is some kind of
irreconcilable disagreement, that the proposal just dies? I don't know
if it's frequent or not, but I saw it happen with many discussions
that arose after the recent in-person meet (they died in standoffs).
It seems to be the norm. Is it only a problem now that it is holding
up something you are advocating?

Kevin



Re: website issue

2020-03-25 Thread Kevin Barry
On Wed, 25 Mar 2020 at 20:06, David Nalesnik  wrote:
>
> I'm getting some spurious characters at
> http://lilypond.org/manuals.html.  Screenshot attached.

looks python2 vs python3 related: b'' is how python3 prints byte
strings (which were the default string type in python2, but not in
python3).



Re: Address output-distance problems: (issue 563730043 by hanw...@gmail.com)

2020-03-13 Thread Kevin Barry
>
>
> The direction of this statement is correct, but the magnitude is not.  The
> kernel is still provided by the host.   Getting a crash report can be
> frustrating when the guest's behavior hinges on /proc features that the
> host OS has configured appropriately for the host, not the guest.
> Configurable security restrictions can make the debugging experience
> different from one installation to another.  Et cetera.
>

Yes it's true that containers are not completely safe from host
configurations, but I didn't think talking about the 1% would help this
discussion. If you think it makes pursuing this idea a waste of time then
fair enough. David K doesn't like it either so I think it's time to let it
go.

>


Re: Address output-distance problems: (issue 563730043 by hanw...@gmail.com)

2020-03-12 Thread Kevin Barry
>
>
> I say that having a developer monoculture doesn't buy as anything since
> we still need to provide for a multitude of users.
>

We are talking about testing builds right? If a user gets as far as "I need
to test changes I made to the source code" then surely it would be better
to have something to point them to than to say "let's see if one of the
devs ever ran into the same problem you are having".

It also means we could have some confidence when figuring out if a problem
is environmental or not.

Having some kind of official dockerfile isn't pushing a monoculture: it
actually makes it easier for people to run whatever OS they want and not
have to keep it in line with LilyPond build requirements. It would make
building on Windows or MacOS easier since there are prepackaged docker apps
for both.


> > Installing docker and building an image is much easier than setting up
> > a working build environment for LilyPond now.
>
> Get a LilyPond source .deb and do sudo apt build-deps on it.  Afterwards
> you have a working build environment.
>

That would not work on my system. Making everyone use .deb is another kind
of monoculture.


> I don't really see the underlying logic.  Users should consider it a win
> when the developers state "you are no longer allowed to run LilyPond
> natively, get a docker container", and you want to convince developers
> to stop using and developing LilyPond natively on their systems because
> it will be so much easier to maintain a virtual layer in between?
>
I wouldn't ever suggest that we make running LilyPond require docker. I
thought this discussion was about testing builds.


> We have had the LilyDev VM for a long time now.  It has seen some use,
> but not overwhelmingly much, and the reasons for that are pretty much
> the same for newer virtualisation methods.
>
I disagree. The docker image specification could be a simple text file that
is kept in the LilyPond repo, and people can build it if they want. Tests
could build it and use that image for testing, etc, etc.

Kevin

>


Re: Address output-distance problems: (issue 563730043 by hanw...@gmail.com)

2020-03-12 Thread Kevin Barry
>
>
> Frankly, I am more sympathetic to "worksforme" discussions among
> developers than telling users "worksforme".  Where is the point in being
> able to tell users that no developer will reproduce their problem?
>
> I'd rather have an error popping up for at least some developers than
> for none.
>

This sounds like you are saying it's better for the situation to be a mess
for developers so that they can better help users deal with the same mess,
therefore we should leave things as they are.

Installing docker and building an image is much easier than setting up a
working build environment for LilyPond now. I think it would be a win for
both devs and users.

Kevin


Re: Address output-distance problems: (issue 563730043 by hanw...@gmail.com)

2020-03-12 Thread Kevin Barry
On Thu, 12 Mar 2020 at 12:48,  wrote:
> I'll defer you to Jonas' reply to this thread just after yours.
>
> I'm all for conistent build envs but at least make sure your testing is 
> actually ... err testing what it should be testing.
>
> Containers don't protect against that.

A docker container is the same everywhere; the underlying distribution
or other differences in people's setups don't make any difference. So
if there was an agreed dockerfile that would simplify discussions
about 'worksforme'.

Jonas's reply referred to native Ubuntu, which misses Han-Wen's point
I think. The container provides a consistent and portable environment
(providing you have docker installed, it's basically a single text
file). If we had some kind of official docker/container image/file for
these tests, then if something passes there, but not on someone's
personalised distribution then it would be on that person to figure it
out (or just use the docker container). And developers would have a
single target for testing.

Kevin



Re: Address output-distance problems: (issue 563730043 by hanw...@gmail.com)

2020-03-12 Thread Kevin Barry
>
>
> Would docker give us this 'proverbial canary' or would it turn into
> 'worksforme' when someone tried to build their own version of LP  on a
> vanilla base of Linux?
>

Docker would eliminate 'worksforme' type issues yes.

>


Re: Staging is broken

2020-02-09 Thread Kevin Barry
"no space left on device"
Is that a full disk or something?

On Sun, Feb 9, 2020, 13:10  wrote:

> Hello,
>
> ..
>
> Making lily/out/metronome-engraver.o < cc
> Making lily/out/warn-scheme.o < cc
> Making lily/out/lexer.o < cc
> Making lily/out/parser.o < cc
> ./out/parser.cc: In function 'int yyparse(Lily_parser*,
> scm_unused_struct**)':
> ./out/parser.cc:2917:12: warning: conversion to 'yytype_int16 {aka short
> int}' from 'int' may alter its value [-Wconversion]
> *yyssp = yystate;
>  ^~~
> out/lexer.cc: In member function 'virtual int
> yyFlexLexer::LexerInput(char*, int)':
> out/lexer.cc:6468:21: warning: conversion to 'int' from 'std::streamsize
> {aka long int}' may alter its value [-Wconversion]
> return yyin.gcount();
>~~~^~
> Making lily/out/lilypond
> /usr/bin/ld: final link failed: No space left on device
> collect2: error: ld returned 1 exit status
> /tmp/lilypond-autobuild/stepmake/stepmake/executable-rules.make:12:
> recipe for target 'out/lilypond' failed
> make[1]: *** [out/lilypond] Error 1
> /tmp/lilypond-autobuild/stepmake/stepmake/generic-targets.make:6: recipe
> for target 'all' failed
> make: *** [all] Error 2
>
> --
>
> I pushed a doc change but it doesn't look like that so either it's
> Han-Wen's or Jean-Charle's cherry picks.
>
> James
>
>
>


Re: RFC: docker for CI

2020-02-07 Thread Kevin Barry
On Fri, Feb 07, 2020 at 01:21:35PM +0100, Han-Wen Nienhuys wrote:
> Proposal: rather than using the patchy scripts for validating
> LilyPond, we use docker images.
Without getting into technical details, I think this is a really good
idea. Automatic building/testing saves lots of time, and having a
containerised build environment means it can be as portable as a single
dockerfile (or one for each version of guile, if that is what you were
thinking).

Kevin

P.S. I think I have seen a dockerfile for creating a build environment
for LilyPond somewhere. I wonder whether an official docker file would
be beneficial in its own right - at least for Linux users, it would
decouple the build environment from the OS packages.



Re: [RFC] switch to GitLab / gitlab.com

2020-02-07 Thread Kevin Barry
> (CC to Kevin Barry, who mentioned GitLab experience in a separate
> thread. My info here is more based on research than experience, so
> please call out any misunderstandings I have.)

Thank you for the CC. I have read through the messages, and the previous
discussion from 2018.

My two cents are:
- I think if we want to integrate issue tracking, code review, and source code
  hosting in one place, then Gitlab is the best option
- I do not have the experience of working with SF/Allura, Rietveld, and
  Savannah to get code into LilyPond, but, judging from appearances, the
  flow for contributions will be smoother for existing developers and less
  off-putting for new or occasional developers (I think, outside projects like
  the Linux kernel, drive-by pull/merge requests are more common than drive-
  by patches)
- I agree that using gitlab.com is better than self-hosting, but
depending on the
  technical challenges involved it may be necessary to host a dedicated Gitlab
  runner (i.e. a server for doing CI/CD builds/tests).
- I think it's possible James Lowe's workflow might be be different
under Gitlab.
  Re the concerns he raised in the old thread, I believe he would be able to
  mostly replicate what he does now with labels (and sorting by priority label).
  (I can see that this flow, including the "countdown" is under discussion
  elsewhere.)
- I don't know who tests that every patch successfully builds and passes basic
  tests, but in my experience, having Gitlab do that for me every time someone
  opens a merge request (on one of my own projects at work) has been a
  godsend (before that, I had to do it myself every time).

> Additionally I'm not (yet) proposing to use MRs to actually
> merge the change, that still happens via staging -> master. I only
> propose that we use the UI to review the patches, instead of Rietveld.
I think this is a good approach. Gitlab allows, for example, to have a number of
protected branches (master + staging), and to default merge requests to any one.
You can also set it to do different CI/CD on a branch by branch basis
(for example
you may want to run more stringent or longer tests on the staging branch than on
others).



Re: development process

2020-02-05 Thread Kevin Barry
I don't know if lurkers' opinions count, but on the subject of potential
replacements for Savannah/Sourceforge: I am part of a team that administer
both Gerrit and Gitlab in-house deployments. If choosing between them I
would advocate for Gitlab because it includes issue tracking and CI/CD so
perhaps all work can go through one place and contributors/maintainers
would not need to have accounts for multiple apps/systems. Gerrit is a good
code review tool, but for various reasons that may be our own fault, it is
deeply unpopular where I work.

I am sadly not quite up to the task of developing the codebase (maybe one
day), but I can help with systems/operational things if wanted.

(I don't have a view on the bigger discussion about process - the change
most likely to help me to contribute would be mentorship rather than any
process change).


Re: french beaming incorrectly makes stems longer

2020-01-25 Thread Kevin Barry
On Sat, Jan 25, 2020 at 09:27:07AM +0100, Thomas Morley wrote:
> Am Sa., 25. Jan. 2020 um 08:58 Uhr schrieb Kevin Barry :
> >
> > The minimum length of the stem of the middle note is forcing the beams down.
> 
> Not here. It's more the relevant value of
> beamed-extreme-minimum-free-lengths. See:
> 
>  \relative c'' {
> r16 f d f
> \override Stem.details.beamed-extreme-minimum-free-lengths =
>   #'(2.0 0.8)  %% original:  '(2.0 1.25)
> \override Stem.french-beaming = ##t
> r16 f d f
>   }
OK I see. It seems the value is hard coded now, but in the case of
French beaming it would need to be different depending on how many beams
there are (the above code works for semiquavers, but I think the value
needs to be smaller for demisemiquavers).

I am happy to try patching it, but I wouldn't know where to start.
> 
> Cheers,
>   Harm



Re: french beaming incorrectly makes stems longer

2020-01-24 Thread Kevin Barry
The minimum length of the stem of the middle note is forcing the beams down.


Re: packaging lilypond as a docker container?

2020-01-21 Thread Kevin Barry
On Mon, Jan 20, 2020 at 10:05:23PM +, Carl Sorensen wrote:
> 
> Wouldn't it be much more simple to build lilypond as a Docker application?
> 
> I don't know anything about building lilypond as a Docker application.  If it 
> were possible to execute a docker application from the command line in MacOS, 
> then I think that would meet my requirements.  I need to be able to have 
> multiple binaries installed so that I can run multiple versions from 
> Frescobaldi.

Running docker on MacOS requires a virtual machine running Linux. The
Docker for desktop app for MacOS hides that detail away from the user
for the most part.

It is technically possible to do what you want (make it so Frescobaldi
can call multiple versions of LilyPond) with docker, but there would be
some work involved: you'd probably need to have one-liner shell scripts
for each version of LilyPond that execute the relevant container.



Re: Stepping down and moving on

2016-11-11 Thread Kevin Barry
Hi David,

Just echoing everyone else's sentiments: your contribution to our
lives and work through your work on LilyPond is incalculable. As a
lurker of course I don't really understand much of what you do, but
it's clear that LilyPond would be far behind where it is now without
your development and leadership.

I am sorry that I was never in a position to help out financially, so
I am happy to hear about your new job. I wish you all the best!

Kevin

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


Re: mentoring opportunity: anybody claiming to care about the website

2015-07-25 Thread Kevin Barry
I have some unexpected free time and would like to do this. Should I
contact you off list?

Kevin

On Sun, Jul 19, 2015 at 4:31 PM, Graham Percival gra...@percival-music.ca
wrote:

 Add weight to your opinions by showing that you're not afraid of
 getting your hands dirty.

 texi2html is a vital part of the documentation.  It's currently
 used for the website as well, but that is almost incidental to its
 use for the rest of the documentation.
 https://code.google.com/p/lilypond/issues/detail?id=1000#c20
 https://code.google.com/p/lilypond/issues/detail?id=1000#c21

 I cautiously estimate 20 hours of work for the non-translation
 portion[1].  I am willing to mentor.  Programming ability is
 desirable, but not strictly required.

 [1] at the present time, I am not willing to look into the
 translation system in sufficient detail to offer an estimate of
 how much work it would take.  If we complete the English part, and
 those involved wish to continue, then I promise to also mentor the
 translation part.

 - Graham

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

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


compiling lilypond on a raspberry pi

2015-06-17 Thread Kevin Barry
Dear All,

During a transitional period where I have no computer I have tried
compiling the latest stable version of lilypond from source on a raspberry
pi to see if I could get it working. (The latest raspbian - still Debian
wheezy - is using 2.14.2 which will not work on most of my files.)
Everything works ok (configure gives no errors) up until compilation when
make fails with the following error:

make[1]: *** No rule to make target '../flower/./out/library.a', needed by
'out/lilypond'.  Stop.
make[1]: Leaving directory '/home/pi/src/lilypond-2.18.2/build/lily'
/home/pi/src/lilypond-2.18.2/stepmake/stepmake/toplevel-targets.make:30:
recipe for target 'install' failed
make: *** [install] Error 2

Can anyone shed any light on this? Is it something I can fix?

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


Re: Reasons for cross-voice limitations?

2015-03-29 Thread Kevin Barry
For sure the voice context limitations are a pain, and if I knew how, I
would write a function for starting and finishing slurs without the need
for creating a hidden voice, but I don't even know if it is possible. In my
own head, I imagine that LilyPond `thinks' in voices and there isn't much
that can be done about that. Practically 100% of my work is either piano
music or music reduced to two staves, so I bump up against this issue all
the time. I never use the part combiner.

I obviously don't know how necessary this limitation is, but iirc the old
DOS program SCORE required that the whole score be reentered for the
purposes of adding slurs.

How hard would it be to write a cross-voice slur function?

On Sun, Mar 29, 2015 at 6:49 PM, Urs Liska u...@openlilylib.org wrote:

 Hi,

 this has been discussed numerous times, but I think I'll have to bring it
 up once more: the limitations that slurs, dynamics and other spanners can't
 cross voice borders. This limitation is a major inconvenience for users:
 New users are regularly confused, using hidden voices to work around the
 limitation is actually an ugly workaround, and it's not acceptable to be
 forced to use such workarounds for reasonably common things. And now I've
 come to suffer from an issue where this limitation is a real PITA: the
 partcombiner.

 I find it quite obscure to tame the partcombiner to do its work anyway
 (for example, when you're facing an issue you don't have a real way to tell
 what mode it currently is in because the last switch could have happened
 about anywhere, and in any of the voices taking part in the combination).
 But I've come to the conclusion that very often the partcombiner has to
 make ugly choices because it's bound to keep voice contexts alive during
 the whole spanners. Often it remains in partcombineApart mode for
 ridiculously long ranges, just because a slur has to be closed in the same
 voice as it has begun. And this kind of issue is usually sooo awkward to
 solve because you might end up inserting a hidden voice to achieve the
 slurring but have to restrict that to the partcombined staff while not
 using it for individual part printing etc.

 So I want to bring that up once more: Why do we still have this
 limitation? Is it an inherent problem that can't be fixed, is it just
 because noone cared (or had the chance) to fix it, or is it only because
 we didn't explicitly think about the right way to deal with it semantically
 and with regard to syntax?
 I mean, I can't imagine it makes a serious difference when it comes to
 *engrave* a slur. It may make a difference for managing and maintaining
 contexts, but just as it is possible to add a hidden voice to accomplish a
 cross-voice item it should be possible to create a built-in solution for
 that.

 This wouldn't fix the partcombiner limitations, but it would at least make
 it possible to think about improvements.

 Any ideas?
 Urs, frustrated ...

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

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


Re: Disappearing barlines with skipBars - possible bug?

2015-03-24 Thread Kevin Barry
On Tue, Mar 24, 2015 at 2:38 PM, Mark Knoop m...@opus11.net wrote:

 { \time 2/4 c'4 c'1 c'4 } % 3 bars, 2nd of which is empty

 { \time 2/4 c'4 c'2 c'4 } % 2 bars, neither of which is empty


At best I would consider these to be non-standard notation. At worst I'd
say it's incorrect. It's possible to write a note value longer than a bar,
but I don't think there is an accepted standard for notating that, except
for connecting smaller note values with ties. And as I said before I have
never seen it in a score (do you have any examples?).

skipBars is introduced in the Learning Manual (3.4.5 Scores and parts)
 as a way of condensing multi-measure rests. Its only references in the
 Manuals are regarding this function. I suspect its impact on notes
 crossing barlines is either unintended or at least not thought through


It's just used there as an example of a context property. I agree that its
behaviour for notes rather than rests might not be thought through (but it
/is/ mentioned in the IR so it may not be unintended). Normally full-bar
rests are condensed with \compressFullBarRests (which probably just sets
skipBars to #t, but I didn't check).

I can't imagine a situation where the current behaviour would be
 desirable (silently hiding a barline thus changing the length of a bar)
 and it would certainly seem to be a very different use case than
 condensing multi-measure rests.


I think the default behaviour (without touching skipBars) is ok, and agree
that there's no apparent need for it to affect notes (the possible scenario
with long notes and short empty bars seems implausible). So perhaps
skipBars could be changed to only affect rests, or at the very least a
different context property could be used as an example in the learning
manual (or both).

I verified that \compressFullBarRests does indeed affect notes as well, so
if you want to file a bug report then perhaps proceed on that basis.
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Feedback request: website home page revision

2015-03-01 Thread Kevin Barry
3G looks best to me.

K.

On Sun, Mar 1, 2015 at 8:22 PM, Joram joram.no...@gmx.de wrote:

 Hi Paul,

 Am 01.03.2015 um 20:22 schrieb Paul Morris:
  Joram Berger wrote
  all versions have the green background fading in on the top right edge.
  I do not like that.
 
  Hi Joram,  Based on previous feedback from Phil and Trevor, I'm taking
 it as
  a given that the top left green background with the white image of music
  notation should stay.  The green background in the top right corner is to
  balance it out, for greater symmetry.

 I see. I just wrote my comments as feedback to your request. Of course
 there are differing opinions and of course you are free to choose
 something else.

  I've adopted many of your other specific suggestions in the most recent
  proposals 3F and 3G.

 Thanks. As you can guess from my previous mail, version 3G is what I
 prefer. (I consider all versions 3 an improvement.)

 Cheers,
 Joram

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

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


Re: Doc: issue 1432 (issue 206770044 by barr...@gmail.com)

2015-02-28 Thread Kevin Barry
On Sat, Feb 28, 2015 at 11:17 AM, pkx1...@gmail.com wrote:

 Barry if you make a git formatted patch, I can push it for you.

 James


I'm still getting used to git, so I hope I've done it right. It should be
attached to this email, assuming that's what you wanted.

Kevin
From 976465f12cb50c74f5ad4e36121758a7597d5e53 Mon Sep 17 00:00:00 2001
From: Kevin Barry barr...@gmail.com
Date: Thu, 19 Feb 2015 15:51:52 +
Subject: [PATCH] Doc: replaced tabs with spaces in /ly/*.ly

---
 ly/arabic.ly |  26 +-
 ly/articulate.ly | 682 +++
 ly/chord-modifiers-init.ly   |   4 +-
 ly/chord-repetition-init.ly  |   2 +-
 ly/drumpitch-init.ly | 160 
 ly/dynamic-scripts-init.ly   |   1 -
 ly/engraver-init.ly  |  10 +-
 ly/event-listener.ly |  26 +-
 ly/graphviz-init.ly  |   8 +-
 ly/gregorian.ly  | 150 +++
 ly/init.ly   |   4 +-
 ly/makam.ly  |  23 +-
 ly/midi-init.ly  |   1 -
 ly/music-functions-init.ly   | 382 -
 ly/predefined-guitar-ninth-fretboards.ly |  34 +-
 ly/property-init.ly  |  18 +-
 ly/satb.ly   |  51 ++-
 ly/scale-definitions-init.ly |  11 +-
 ly/script-init.ly|  28 +-
 ly/spanners-init.ly  |  18 +-
 ly/string-tunings-init.ly|   2 +-
 ly/text-replacements.ly  |   6 +-
 ly/toc-init.ly   |  54 +--
 23 files changed, 847 insertions(+), 854 deletions(-)

diff --git a/ly/arabic.ly b/ly/arabic.ly
index 645b47a..ec637d3 100644
--- a/ly/arabic.ly
+++ b/ly/arabic.ly
@@ -87,18 +87,18 @@ iraq = #`(
 \Score
   keyAlterationOrder =
   #`(
-	 (6 . ,FLAT) (2 . ,FLAT) (5 . ,FLAT ) (1 . ,FLAT)
-	 (4 . ,FLAT) (0 . ,FLAT) (3 . ,FLAT)
-	 (6 . ,SEMI-FLAT) (2 . ,SEMI-FLAT) (5 . ,SEMI-FLAT ) (1 . ,SEMI-FLAT)
-	 (4 . ,SEMI-FLAT) (0 . ,SEMI-FLAT) (3 . ,SEMI-FLAT)
-	 (3 . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP)
-	 (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP)
-	 (3 . ,SEMI-SHARP) (0 . ,SEMI-SHARP) (4 . ,SEMI-SHARP) (1 . ,SEMI-SHARP)
-	 (5 . ,SEMI-SHARP) (2 . ,SEMI-SHARP) (6 . ,SEMI-SHARP)
-	 (6 . ,DOUBLE-FLAT) (2 . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1 . ,DOUBLE-FLAT)
-	 (4 . ,DOUBLE-FLAT) (0 . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT)
-	 (3 . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (1 . ,DOUBLE-SHARP)
-	 (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP)
-	)
+ (6 . ,FLAT) (2 . ,FLAT) (5 . ,FLAT ) (1 . ,FLAT)
+ (4 . ,FLAT) (0 . ,FLAT) (3 . ,FLAT)
+ (6 . ,SEMI-FLAT) (2 . ,SEMI-FLAT) (5 . ,SEMI-FLAT ) (1 . ,SEMI-FLAT)
+ (4 . ,SEMI-FLAT) (0 . ,SEMI-FLAT) (3 . ,SEMI-FLAT)
+ (3 . ,SHARP) (0 . ,SHARP) (4 . ,SHARP) (1 . ,SHARP)
+ (5 . ,SHARP) (2 . ,SHARP) (6 . ,SHARP)
+ (3 . ,SEMI-SHARP) (0 . ,SEMI-SHARP) (4 . ,SEMI-SHARP) (1 . ,SEMI-SHARP)
+ (5 . ,SEMI-SHARP) (2 . ,SEMI-SHARP) (6 . ,SEMI-SHARP)
+ (6 . ,DOUBLE-FLAT) (2 . ,DOUBLE-FLAT) (5 . ,DOUBLE-FLAT ) (1 . ,DOUBLE-FLAT)
+ (4 . ,DOUBLE-FLAT) (0 . ,DOUBLE-FLAT) (3 . ,DOUBLE-FLAT)
+ (3 . ,DOUBLE-SHARP) (0 . ,DOUBLE-SHARP) (4 . ,DOUBLE-SHARP) (1 . ,DOUBLE-SHARP)
+ (5 . ,DOUBLE-SHARP) (2 . ,DOUBLE-SHARP) (6 . ,DOUBLE-SHARP)
+)
   }
 }
diff --git a/ly/articulate.ly b/ly/articulate.ly
index bbfea19..e2c8700 100644
--- a/ly/articulate.ly
+++ b/ly/articulate.ly
@@ -32,7 +32,7 @@
 %%%USAGE
 % In the \score section do:
 % \articulate 
-%	all the rest of the score
+%   all the rest of the score
 % 
 % or use the lilywrap script.
 %
@@ -66,8 +66,8 @@
 %   -- accent needs better control of dynamics.
 %   -- Articulations: mezzo-staccato, portato.
 %   -- Handling of generic ornaments (in lily, `\stopped'; in
-%		most early music:  ornament this note (trill, turn
-%		or mordent as the player wishes))
+%   most early music:  ornament this note (trill, turn
+%   or mordent as the player wishes))
 % * Automatic gruppetto at end of trill; better handling of
 %  initial/final grace notes on trill
 % * Automatic ornaments.
@@ -209,8 +209,8 @@
#t)
   (begin
(if (any (lambda (z) (eq? 'NoteEvent (ly:music-property z 'name)))
-		(ly:music-property lastev 'elements))
-	(ly:warning (_ stealing the entirety of a note's time)))
+(ly:music-property lastev 'elements))
+(ly:warning (_ stealing the entirety of a note's time)))
(set! (ly:music-property lastev 'elements) '())
(set! ac:eventsBackward (cdr ac:eventsBackward))
(ac:stealTimeBackward (- tosteal levlen
@@ -236,12 +236,12 @@
 % Raise note one step in the current diatonic scale.
 #(define (ac:up note)
   (let* ((pitch (ly:music-property

Re: Doc: issue 1432 (issue 206770044 by barr...@gmail.com)

2015-02-21 Thread Kevin Barry
On Sat, Feb 21, 2015 at 5:45 PM, pkx1...@gmail.com wrote:

 This issue also says it is blocked by

 https://code.google.com/p/lilypond/issues/detail?id=777

 But I am not sure if what Barry has done so far is relevant to this.

 https://codereview.appspot.com/206770044/


I did first try using the ly-python indent script (which hasn't seen any
substantial changes since 2013 judging from the relevant github page), but
it did a lot of reformatting, and in one or two situations behaved in a way
that I wasn't sure was correct (although emacs's indent-region typically
produced the same results).

For example, it seems to be the norm to indent the first line after
declaring a LilyPond variable, but neither the ly indent script nor emacs
will do this unless the line declaring the variable also contains an open
bracket of some kind (most do, but some don't).

So I just did it manually. Along the way I touched up one or two things
(whitespace) but obviously didn't catch everything that could be improved.
Should I go ahead and make the changes c_sorensen suggested? I don't mind
going through the files looking a bit more closely. The alternative I
suppose would be to try and update the ly indent script or ask for it to be
changed.
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Some more possible tweaks to the appearance of the website

2015-02-21 Thread Kevin Barry
On Fri, Feb 20, 2015 at 5:57 PM, Paul Morris p...@paulwmorris.com wrote:

 So I look forward to hearing from others on the list!


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


Re: Doc: issue 1432 (issue 206770044 by barr...@gmail.com)

2015-02-19 Thread Kevin Barry
On Thu, Feb 19, 2015 at 4:46 PM, d...@gnu.org wrote:

 This is not just replacing tabs with spaces.  You also reformat here and
 remove empty lines at the end of the file.  So the issue description is
 somewhat misleading.  Any other changes?


Yes, sorry. I wasn't really sure how detailed to be. Where I found them I
removed trailing whitespaces and extra lines at the end of files. And in
one or two places I moved the beginning of a scheme function that is
encased in a lilypond variable to a new line to keep line lengths a bit
shorter or (as in the case of the drum file you commented on, to keep
things more consistent with the other variables in the file).
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Ossias and key signatures

2015-01-18 Thread Kevin Barry

 Can someone point to a well engraved example (Bärenreiter, UE, etc.)
 of a similar ossia staff that shows clef and key signature?  My gut
 feeling is that both clef and key signature should be *before* the
 barline, not after.


Not off the top of my head, but Gould says `When the /ossia/ stave starts
mid-system at a barline, most editions do not include an initial barline
through the cue stave', so perhaps there's no need for a barline there at
all.
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


mentorship

2014-12-08 Thread Kevin Barry
Dear Lilypond developers,

I read in the contributor's guide that there is a system of mentorship for
people who would like to help the project. Is that still the case? And if
so how do I get involved in it.

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


Re: mentorship

2014-12-08 Thread Kevin Barry
 It depends on which part of LilyPond you want to help with as to the
 availability of people to help you. Is there a particular skill-set, set
 of issues or area of LilyPond you are particularly interested in?

Thank you for responding. I would like to be able to contribute code to the
project but I'm not really a programmer (I'm a music academic). I worked
through some chapters of SICP in the past, so I have a rudimentary
understanding of ... the first few chapters of SICP. I would like to learn
more, if that's something that would help. Otherwise I will help any way
that might be needed. I don't have any specific goals other than
contributing somehow and maybe learning more about programming along the
way.

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