lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Beginning contributor needs mentor


From: David Kastrup
Subject: Re: Beginning contributor needs mentor
Date: Tue, 10 Nov 2015 22:11:50 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (gnu/linux)

John Gourlay <address@hidden> writes:

> Only now that I’ve retired from that job do I feel like I have time to
> give back to the open-source community. I only learned about LilyPond
> about two years ago from Daniel Spreadbury who tracked me down hoping
> to get some of the unpublished MusiCopy reports. (Of course I can make
> them available to you, too, if you like.) He was working for Steinberg
> in England on a new music scoring application and wanted to use some
> of the ideas from the MusiCopy project. As we conversed he pointed out
> that the ideas are already in use in a number of music formatting
> systems including LilyPond. Unfortunately I’ve never heard that the
> Steinberg product was released.

Oh, I think it is still work in progress with considerable expertise
(from a programmer team previously responsible for much of Sibelius) and
considerable resources flowing into it, so I'm pretty sure that it will
eventually be released to the market.  But as a proprietary product, its
sources will not be available to the public.

> So, where do I go from here? If you have a narrow, low-priority bug or
> new feature for me to work on it could help me focus my attention. I
> certainly need to spend more time with the Contributor’s Guide; the
> messages on lilypond-devel are mostly inscrutable to me, and I don’t
> know anything yet about the tools used to track bugs, fixes, reviews,
> and releases. Separately, I feel like I ought to learn more about
> using LilyPond so that I can better understand new feature requests
> and judge whether or not a fix is appropriate. Regardless, I’ll take
> whatever suggestions you’d like to make to help me get started.

It's a bit of a drawback that you are not an active musician yourself,
otherwise the obvious road would be typesetting a bit of music and
letting yourself get sucked into increasing amounts of solving things
programmatically with Scheme.

I could sketch out some dormant algorithmic work pretty much purely in
C++, namely a better representation and associated algorithms for
"skylines".  That would help speeding up some rather frequently executed
code that takes a significant amount of time when processing complex
scores (according to profiling).  The bad news is that the current
algorithms are already efficient (O (n lg n)), so there will likely only
be a mostly constant factor of improvement.  The algorithms I have in
mind, though, do some lazy improvements so there is some chance of
avoiding repeated calculations.

There are also a few other corners that are mostly doable in C++, mostly
in our graphic work and the output (where moving to the Cairo library
for internal representations and a number of graphical operations would
seriously improve the ability of LilyPond to be embedded in different
computing environments and IDEs).

However, putting you to work on those corners, while likely making for a
bit of a running start, are not particularly likely to make you all that
much acquainted with LilyPond's overall architecture.  So it depends on
what motivations drive you whether this will end up to be satisfactory
work for you.

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]