Re: Fwd: Interested in GNU Lilypond Google Summer of Code Beaming Fixing Project Idea

2023-03-27 Thread Jean Abou Samra
Le jeudi 23 mars 2023 à 09:38 -0600, Carl Sorensen a écrit :
> 
>   
> On Wed, Mar 22, 2023 at 7:02 PM Jean Abou Samra 
> <[j...@abou-samra.fr](mailto:j...@abou-samra.fr)> wrote:
> 
> > Carl,
> >  Do you still have the time and availability to be a mentor for this GSoC 
> > project, or should we search someone else?
> >  Sorry for asking this bluntly. Given that we haven't seen you contributing 
> > in a while, I had thought you no longer had the time to be active in the 
> > project (which is also why your name has a question mark on 
> > [https://lilypond.org/google-summer-of-code.html](https://lilypond.org/google-summer-of-code.html)
> >  since commit 0e6f55bb17581cc3e24b1daa4d23218114ef9a31).
> 
> 
> Thank you for asking nicely (even if it is blunt).
> 
> My time for Lilypond has been greatly limited due to work responsibilities, 
> but I am retiring July 1, and my work duties will decrease greatly May 1, so 
> I will be available to mentor if desired.

(Sorry for the late reply)

Great to hear that you can mentor this project. As previously written 
[here](https://lists.gnu.org/archive/html/lilypond-devel/2023-01/msg00351.html) 
I expect to be available for helping on technical issues if needed.


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


Re: Fwd: Interested in GNU Lilypond Google Summer of Code Beaming Fixing Project Idea

2023-03-23 Thread Carl Sorensen
On Wed, Mar 22, 2023 at 7:02 PM Jean Abou Samra  wrote:

> Carl,
>
> Do you still have the time and availability to be a mentor for this GSoC
> project, or should we search someone else?
>
> Sorry for asking this bluntly. Given that we haven't seen you contributing
> in a while, I had thought you no longer had the time to be active in the
> project (which is also why your name has a question mark on
> https://lilypond.org/google-summer-of-code.html since commit
> 0e6f55bb17581cc3e24b1daa4d23218114ef9a31).
>

Thank you for asking nicely (even if it is blunt).

My time for Lilypond has been greatly limited due to work responsibilities,
but I am retiring July 1, and my work duties will decrease greatly May 1,
so I will be available to mentor if desired.

Thanks,

Carl

>


Re: Interested in GNU Lilypond Google Summer of Code Beaming Fixing Project Idea

2023-03-22 Thread Jean Abou Samra
Le mercredi 22 mars 2023 à 20:53 +0100, Jean Abou Samra a écrit :

> The resume didn't get forwarded with the email, can you perhaps attach it 
> again?  

Jason sent me his resume and his notes in private and prefers for the resume to 
stay private. I've attached the notes.




lilypond_notes.tar.gz
Description: application/compressed-tar


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


Re: Fwd: Interested in GNU Lilypond Google Summer of Code Beaming Fixing Project Idea

2023-03-22 Thread Jean Abou Samra
Carl,

Do you still have the time and availability to be a mentor for this GSoC 
project, or should we search someone else?

Sorry for asking this bluntly. Given that we haven't seen you contributing in a 
while, I had thought you no longer had the time to be active in the project 
(which is also why your name has a question mark on 
https://lilypond.org/google-summer-of-code.html since commit 
0e6f55bb17581cc3e24b1daa4d23218114ef9a31).

Best,

Jean


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


Re: Fwd: Interested in GNU Lilypond Google Summer of Code Beaming Fixing Project Idea

2023-03-22 Thread Jean Abou Samra
Le mercredi 22 mars 2023 à 13:50 -0500, Jason Yip via Discussions on LilyPond 
development a écrit :
> Hi everyone,
> 
> In the past 2 days, I have spent my time investigating the many GitLab  
> issues related to regular note/tuplet subdivision problems and reading  
> the Contributor's documentation and related C++ files. I am somewhat  
> close to completing a GSoC application draft, and would like to share  
> some ideas on how to approach rewriting `beaming-pattern.cc`.
> 
>  From my understanding of past GitLab issue discussions

(Just so you know, they weren't on GitLab at the time, the project migrated 
from SourceForge in 2020)

> and Urs Liska's  
> analysis at
> [https://gitlab.com/lilypond/lilypond/uploads/a4eecb716f9b52ae90da814612ea00a9/beam-subdivisions.pdf](https://gitlab.com/lilypond/lilypond/uploads/a4eecb716f9b52ae90da814612ea00a9/beam-subdivisions.pdf),
>   
> it seems that the `beatStructure`/`beatMoment` properties stubbornly  
> stay the same when dealing with deeply nested groupings of notes to be  
> beamed. I think that I can rewrite each `Beam_rhythmic_element` to act  
> as a tree node so that children note groupings would be able to have  
> their own appropriate values for those properties. Treating the beaming  
> process as a recursive tree should also fix some issues with complex  
> tuplets somewhat. `Beaming_rhythmic_element` may need another context  
> property `subdivisionInterval` for correct beaming as suggested in page  
> 3 of Liska's analysis (I'm not sure if it's even necessary with my tree  
> approach). I'm trying to understand `rhythmic_importance` and how it can  
> work with my tree idea.
> 
> Any thoughts on my above approach?


(Not commenting because I haven't looked into this yet.)

> I also have some things I want to clarify:
> 
>   * I know `lily/beaming-pattern.cc` will have to be rewritten from  
>     scratch (plus its header file will have to be touched up). Are there  
>     any other C++ files that need to be fixed/rewritten to work with  
>     modifications to `beaming-pattern.cc` in the scope of this project?  
>     I analyzed the other files `lily/*beam*.cc` and they don't really  
>     have much responsibility in deciding beat/tuplet structures. But a  
>     couple of files rely on the `baseMoment`, `beatStructure`,  
>     `beamExceptions` context properties.

If you change the interface of beaming-pattern.cc, it may necessitate adapting 
beam-engraver.cc and auto-beam-engraver.cc.

In general, it is good if you have an idea of how the overall system works, 
even if you're not familiar with the details.

>   * I'm not sure how to work with the Scheme code, but does the Scheme  
>     code simply treat C++ backend functions as a black-box API (meaning  
>     I don't have to do much to deal with the Scheme part of Lilypond)?  
>     Or would I have to modify parts of Scheme code to work with the  
>     rewritten `beaming-pattern.cc`

Generally speaking, you can't really approach LilyPond with a "I know C++, so I 
can touch any C++ code" mindset (it works somewhat better the other way, i.e. 
contribute in Scheme without knowing C++). Because LilyPond's C++ is very much 
interwoven with Scheme. In this case,

- You may need/want to modify scm/auto-beam.scm. For example, adding support 
for specifying beam subdivisions in beam exceptions.

- The C++ code itself interacts with Scheme data structures:

```
$ rg -i "scm" lily/beaming-pattern.cc 
200:find_location (SCM grouping, Rational base_moment, Rational start_moment,
214:  if (scm_is_pair (grouping))
216:  group_count = from_scm (scm_car (grouping));
217:  grouping = scm_cdr (grouping);
246:  SCM grouping = options.grouping_;
431:  subdivide_beams_ = from_scm (get_property (context, 
"subdivideBeams"));
433:= from_scm (get_property (context, "strictBeatBeaming"));
435:= from_scm (get_property (context, "baseMoment"), Moment (1, 
4)).main_part_;
437:= from_scm (get_property (context, "measureLength"), Moment (4, 4))
443:  grouping_ = SCM_EOL;
451:  scm_gc_mark (grouping_);
```

`SCM` values are Scheme values, `scm_*` functions are defined by Guile.

Therefore, I would expect your project to involve some time to learn at least 
basic Scheme and basic Guile C APIs.


> Once I fully understand the above, I'll be able to deal with the last  
> parts of my GSoC application.
> 
> I have taken some notes to try to aggregate information related to this  
> bug; I'd be happy to share them if it helps.

Yes, please do.

Best,

Jean




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


Re: Interested in GNU Lilypond Google Summer of Code Beaming Fixing Project Idea

2023-03-22 Thread Jean Abou Samra
Hi Jason,

Welcome to the devel list!

> > Hello Carl,
> > 
> > 
> > My name is Jason Yip, and I am interested in learning more about GNU
> > Lilypond's "Fix Beaming Patterns/Beam Subdivisions and Tuplets" project
> > idea for Google Summer of Code and participating in this project idea. I
> > would like to ask, are you are still looking for prospective 2023 GSoC
> > contributors for this project idea?
> > 
> > I am currently a 2nd year student at University of Illinois at
> > Urbana-Champaign, US and I am studying Computer Science + Music. I have
> > some basic familiarity with LilyPond as I sometimes use it to create
> > personal scores. I have about 4 years of experience in C++, which I hope
> > will be of use. I am available to contribute full-time during the summer
> > and would like to explore this issue, even if it means refactoring a lot
> > of the Beam C++ classes.
> > 
> > I have also attached my resume.
> > 
> > Thank you for considering my interest and I hope to hear back from you!


The resume didn't get forwarded with the email, can you perhaps attach it again?

Also, like Carl, I highly recommend that you familiarize yourself with our both 
contribution process and the people who are around. Unfortunately, the LilyPond 
has a bad track record of GSoC contributors who produced substantial work that 
did not ultimately get merged because there was not enough planning of the time 
that it takes to review code and discuss things. Whether related or not to 
beaming, take a couple easy bugs to squash from our issue tracker (e.g., doc 
bugs) and submit merge requests. It's a good way to get acquainted with the 
project.

Best,

Jean



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


Re: Fwd: Interested in GNU Lilypond Google Summer of Code Beaming Fixing Project Idea

2023-03-22 Thread Jason Yip via Discussions on LilyPond development

Hi everyone,

In the past 2 days, I have spent my time investigating the many GitLab 
issues related to regular note/tuplet subdivision problems and reading 
the Contributor's documentation and related C++ files. I am somewhat 
close to completing a GSoC application draft, and would like to share 
some ideas on how to approach rewriting `beaming-pattern.cc`.


From my understanding of past GitLab issue discussions and Urs Liska's 
analysis at 
https://gitlab.com/lilypond/lilypond/uploads/a4eecb716f9b52ae90da814612ea00a9/beam-subdivisions.pdf, 
it seems that the `beatStructure`/`beatMoment` properties stubbornly 
stay the same when dealing with deeply nested groupings of notes to be 
beamed. I think that I can rewrite each `Beam_rhythmic_element` to act 
as a tree node so that children note groupings would be able to have 
their own appropriate values for those properties. Treating the beaming 
process as a recursive tree should also fix some issues with complex 
tuplets somewhat. `Beaming_rhythmic_element` may need another context 
property `subdivisionInterval` for correct beaming as suggested in page 
3 of Liska's analysis (I'm not sure if it's even necessary with my tree 
approach). I'm trying to understand `rhythmic_importance` and how it can 
work with my tree idea.


Any thoughts on my above approach?

I also have some things I want to clarify:

 * I know `lily/beaming-pattern.cc` will have to be rewritten from
   scratch (plus its header file will have to be touched up). Are there
   any other C++ files that need to be fixed/rewritten to work with
   modifications to `beaming-pattern.cc` in the scope of this project?
   I analyzed the other files `lily/*beam*.cc` and they don't really
   have much responsibility in deciding beat/tuplet structures. But a
   couple of files rely on the `baseMoment`, `beatStructure`,
   `beamExceptions` context properties.
 * I'm not sure how to work with the Scheme code, but does the Scheme
   code simply treat C++ backend functions as a black-box API (meaning
   I don't have to do much to deal with the Scheme part of Lilypond)?
   Or would I have to modify parts of Scheme code to work with the
   rewritten `beaming-pattern.cc`

Once I fully understand the above, I'll be able to deal with the last 
parts of my GSoC application.


I have taken some notes to try to aggregate information related to this 
bug; I'd be happy to share them if it helps.


Hope that my skills and ideas will be of use, I'm looking forward to 
this project!


On 2023-03-20 14:27, Carl Sorensen - carl.d.sorensen(a)gmail.com wrote:

This email failed anti-phishing checks when it was received by SimpleLogin, be 
careful with its content.
More info onhttps://simplelogin.io/docs/getting-started/anti-phishing/
 
--

Forwarding to list, since I apparently didn't add the list to the email as
I intended to.


-- Forwarded message -
From: Carl Sorensen
Date: Mon, Mar 20, 2023 at 12:59 PM
Subject: Re: Interested in GNU Lilypond Google Summer of Code Beaming
Fixing Project Idea
To: Jason Yip


Jason,


Thanks for your interest!





On Sun, Mar 19, 2023 at 12:21 AM Jason Yip
wrote:


Hello Carl,


My name is Jason Yip, and I am interested in learning more about GNU
Lilypond's "Fix Beaming Patterns/Beam Subdivisions and Tuplets" project
idea for Google Summer of Code and participating in this project idea. I
would like to ask, are you are still looking for prospective 2023 GSoC
contributors for this project idea?

I am currently a 2nd year student at University of Illinois at
Urbana-Champaign, US and I am studying Computer Science + Music. I have
some basic familiarity with LilyPond as I sometimes use it to create
personal scores. I have about 4 years of experience in C++, which I hope
will be of use. I am available to contribute full-time during the summer
and would like to explore this issue, even if it means refactoring a lot
of the Beam C++ classes.



The beaming project would be a great asset to LilyPond.  I’d love to see
you tackle it, if you’re interested.  Your background in C++  would be a
great asset here.



In preparation for submitting a proposal, it might be good to rename things
in beaming-pattern.cc



There is a discussion on the lists (wow, from 5 ½ years ago!) that mentions
the names used in the code don’t match the names used in the user
documentation:

https://lists.gnu.org/archive/html/lilypond-devel/2017-11/msg00037.html



The bottom line on that discussion is that we could change “group” in
beaming-pattern.cc to “beat”, and “beat” in beaming-pattern.cc to “
base_moment” to match our user documentation.  I would expect that making
this change would do two things:



1. Get you an introduction to beaming-pattern.cc, which is where the
major work needs to be done, and
2. Get you an introduction to our process for handling merge requests,
which would make you part of the team.


I've addedlilypond-de.

Fwd: Interested in GNU Lilypond Google Summer of Code Beaming Fixing Project Idea

2023-03-20 Thread Carl Sorensen
Forwarding to list, since I apparently didn't add the list to the email as
I intended to.


-- Forwarded message -
From: Carl Sorensen 
Date: Mon, Mar 20, 2023 at 12:59 PM
Subject: Re: Interested in GNU Lilypond Google Summer of Code Beaming
Fixing Project Idea
To: Jason Yip 


Jason,


Thanks for your interest!





On Sun, Mar 19, 2023 at 12:21 AM Jason Yip 
wrote:

> Hello Carl,
>
>
> My name is Jason Yip, and I am interested in learning more about GNU
> Lilypond's "Fix Beaming Patterns/Beam Subdivisions and Tuplets" project
> idea for Google Summer of Code and participating in this project idea. I
> would like to ask, are you are still looking for prospective 2023 GSoC
> contributors for this project idea?
>
> I am currently a 2nd year student at University of Illinois at
> Urbana-Champaign, US and I am studying Computer Science + Music. I have
> some basic familiarity with LilyPond as I sometimes use it to create
> personal scores. I have about 4 years of experience in C++, which I hope
> will be of use. I am available to contribute full-time during the summer
> and would like to explore this issue, even if it means refactoring a lot
> of the Beam C++ classes.
>


The beaming project would be a great asset to LilyPond.  I’d love to see
you tackle it, if you’re interested.  Your background in C++  would be a
great asset here.



In preparation for submitting a proposal, it might be good to rename things
in beaming-pattern.cc



There is a discussion on the lists (wow, from 5 ½ years ago!) that mentions
the names used in the code don’t match the names used in the user
documentation:

https://lists.gnu.org/archive/html/lilypond-devel/2017-11/msg00037.html



The bottom line on that discussion is that we could change “group” in
beaming-pattern.cc to “beat”, and “beat” in beaming-pattern.cc to “
base_moment” to match our user documentation.  I would expect that making
this change would do two things:



   1. Get you an introduction to beaming-pattern.cc, which is where the
   major work needs to be done, and
   2. Get you an introduction to our process for handling merge requests,
   which would make you part of the team.


I've added lilypond-devel@gnu.org on the reply, in order to get you
introduced to the development group.


I'd also suggest that you look at the LilyPond Contributor's Guide, which
is where we keep all the available information about our development
processes.


If you'd like some help in getting started on the terminology change
project, please let me know.


Thanks,


Carl





I


Re: Interested in GNU Lilypond Google Summer of Code Beaming Fixing Project Idea

2023-03-20 Thread Carl Sorensen
Jason,

I neglected to leave a link to the Contributor's Guide:

https://lilypond.org/doc/v2.25/Documentation/contributor/index.html

Thanks,

Carl


On Sun, Mar 19, 2023 at 12:21 AM Jason Yip 
wrote:

> Hello Carl,
>
>
> My name is Jason Yip, and I am interested in learning more about GNU
> Lilypond's "Fix Beaming Patterns/Beam Subdivisions and Tuplets" project
> idea for Google Summer of Code and participating in this project idea. I
> would like to ask, are you are still looking for prospective 2023 GSoC
> contributors for this project idea?
>
> I am currently a 2nd year student at University of Illinois at
> Urbana-Champaign, US and I am studying Computer Science + Music. I have
> some basic familiarity with LilyPond as I sometimes use it to create
> personal scores. I have about 4 years of experience in C++, which I hope
> will be of use. I am available to contribute full-time during the summer
> and would like to explore this issue, even if it means refactoring a lot
> of the Beam C++ classes.
>
> I have also attached my resume.
>
> Thank you for considering my interest and I hope to hear back from you!
>
> --
> - Jason Yip
>
>


Google Summer of Code final submission!

2020-08-31 Thread Owen Lamb
Hello everyone!

I've just completed Google Summer of Code for this year. My work has been
on adding rudimentary support for SMuFL (a new music font standard) and
bringing Emmentaler, LilyPond's default font, closer to SMuFL-compliance.
You can take a look at a summary of my work here:

http://lilypondblog.org/2020/08/google-summer-of-code-2020-smufl/

(I fixed a few regressions in my code, but it looks like there's still one
or two lurking around. I'm just going to call it here, though--there's not
much I can do about them now.)

It's been wonderful working with everyone in the development community, and
I'd like to stick around if I can. I plan on continuing to improve SMuFL in
LilyPond, but in case I don't follow through, I've included in the summary
a list of what to do next.

Happy LilyPonding,
Owen Lamb
Arizona State University


Re: Google Summer of Code project

2020-03-13 Thread Karlin High

On 3/13/2020 12:37 AM, Owen Lamb wrote:

I'm interested in applying for a GSoC project.



Any suggestions on where to start / who to talk to?


Thanks for your interest! Urs Liska leads most of the GSOC efforts. He 
follows this list, so you've already found the best place to begin.

--
Karlin High
Missouri, USA



Google Summer of Code project

2020-03-13 Thread Owen Lamb
Hi all,

I'm new here--been using LilyPond and Frescobaldi for a month or so, and
I'm loving it. Being an undergrad music composition major and a coding
hobbyist (experience with Java & JS and a smattering of Python, C#, C++,
Haskell, and LilyPond's Scheme), I'm interested in applying for a GSoC
project.

This would be my first really serious coding project and my first foray
into free software development, so hopefully I'd be able to handle a
smaller task, either the SMuFL standardization or a few MusicXML export
improvements as listed on the LilyPond website.

Any suggestions on where to start / who to talk to?

Thanks,
Owen


Re: Google Summer of Code

2019-01-17 Thread Urs Liska



Am 17.01.19 um 17:11 schrieb Karlin High:

On 1/17/2019 12:52 AM, Tsz Kiu Pang wrote:

I was just wondering if I want to contribute to the development, where
should I start from?


For development in general, the Contributor's Guide:
<http://lilypond.org/doc/v2.19/Documentation/contributor/index.html>

For Google Summer of Code, probably this page.
<http://lilypond.org/google-summer-of-code.html>



This is the right place, along with 
https://github.com/wbsoft/frescobaldi/wiki/Google-Summer-of-Code.

These pages have not been updated for GSoC 2019 yet, though.

Rright now things are not really ready to go, as the participating 
mentoring organizations have not yet been announced (or even accepted). 
I'd say one can be somewhat confident that LilyPond will be allowed to 
participate as part of GNU, chances that Frescobaldi can participate on 
its own are significantly smaller.



Let's say if I want to do something at GSoC this year with LilyPond, who
should I get in touch with?


Urs Liska seems the most involved in Google Summer of Code efforts. 
Perhaps this email address: 


With the lilypond-devel mailing list you have in fact found the best 
place to get in touch with in the first place.


If the contents of the two pages given above give you something to think 
about or inspire you to then it's fine, otherwise you can wait for the 
official announcements not earlier than Feb 26 
(https://developers.google.com/open-source/gsoc/timeline).


Urs



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


Re: Google Summer of Code

2019-01-17 Thread Karlin High

On 1/17/2019 12:52 AM, Tsz Kiu Pang wrote:

I was just wondering if I want to contribute to the development, where
should I start from?


For development in general, the Contributor's Guide:
<http://lilypond.org/doc/v2.19/Documentation/contributor/index.html>

For Google Summer of Code, probably this page.
<http://lilypond.org/google-summer-of-code.html>


Let's say if I want to do something at GSoC this year with LilyPond, who
should I get in touch with?


Urs Liska seems the most involved in Google Summer of Code efforts. 
Perhaps this email address: 

--
Karlin High
Missouri, USA

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


Google Summer of Code

2019-01-17 Thread Tsz Kiu Pang
Hi everyone,

I was just wondering if I want to contribute to the development, where
should I start from?
I notice that LilyPond was part of Google Summer of Code in the past few
years, except last year.
Let's say if I want to do something at GSoC this year with LilyPond, who
should I get in touch with?

Thanks.

Kind regards,
Tsz-Kiu
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Web: edits to Google Summer of Code page (issue 282260043 by paulwmor...@gmail.com)

2016-01-27 Thread paulwmorris

Add "free software".  -Paul

https://codereview.appspot.com/282260043/

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


Re: Web: edits to Google Summer of Code page (issue 282260043 by paulwmor...@gmail.com)

2016-01-24 Thread Urs Liska
LGTM.

There's the question about the mentors themselves. There are people on this 
list who don't seem to be around anymore.

But we should deal with the *content* in a separate patch.

Urs

Am 24. Januar 2016 02:45:07 MEZ, schrieb paulwmor...@gmail.com:
>Please review.  Thanks, -Paul
>
>https://codereview.appspot.com/282260043/
>
>___
>lilypond-devel mailing list
>lilypond-devel@gnu.org
>https://lists.gnu.org/mailman/listinfo/lilypond-devel

-- 
Diese Nachricht wurde von meinem Android-Mobiltelefon mit K-9 Mail gesendet.
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Web: edits to Google Summer of Code page (issue 282260043 by paulwmor...@gmail.com)

2016-01-23 Thread paulwmorris

Please review.  Thanks, -Paul

https://codereview.appspot.com/282260043/

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


Re: Google Summer of Code 2015

2015-03-19 Thread David Kastrup
David Garfinkle david.garfin...@mail.mcgill.ca writes:

 Okay, thanks David for the quick reply. I have put my application in a google
 doc here: 
 https://docs.google.com/document/d/1adMWBHlaKKFjznk-2AWly2YzPcjmTsHL-_d9DUxIYCw/edit?usp=sharing

 If you could briefly look it over, that would be great. I will send it in to
 the google-melange website on 
 Friday.

Well, the bottom first: you'll don't need fluency in MusicXML.  Then
you write

The skills that I need to learn include understanding of the
differences between ML and Scheme, obtaining a good understanding of
Guile’s SXML parser, and becoming fluent in the MusicXML format.

I don't really know what you mean by ML.  Guile does not really have
an SXML parser as far as I can tell: the point of Scheme is that it
has an easily readable/writable syntax for lists and various data types,
and both programs as well as data are represented in it.  SXML is just a
Scheme-compatible rendition of the data stored in XML.  You can write
and read it with the normal Scheme input/output in which case it will
look like SXML: GUILE has no particular parser for that.  It's just
the result of calling the normal Scheme input/output on the SXML data
structures.  Or you write and read it with the functions provided by
GUILE's XML libraries in which case it will be proper XML.

 At this point I think I need some clarification in terms of the overall plan
 of action. I have some questions for you:
 First, what are your milestones for me over the course of the summer; can
 you give me a general timeframe for these goals?

Not really since I have no idea about your previous contact with Scheme,
LilyPond, and your learning style.

 Second, when we reach the midterm, in what way will you assess and
 determine a pass?

We are talking about tutoring here, not a university course.  You sound
like you expect a predefined schedule, exams, course material, tests.

This is not how it works: the main work and responsibility lies with the
student.  The tutor's task is to make the student work efficiently by
having the student avoid to get stuck unnecessarily for lack of possibly
readily available or at least known information.  It is to provide help
crossing hurdles, not dragging the student across the track.

By midterm I'd expect the capability of exporting an XML rendition of
LilyPond music input and a tenable strategy for how to export actual
MusicXML, likely by having a way to make SXML conversions.

 Third, if I am unable to complete the project, is my work recyclable
 (and if so, what parts) by the Lilypond community?

That depends on its quality, design documentation, and how far you
managed to get.

 Fourth (in response to Paul) I hadn't realized that this project had
 been in the works since 2008.

It hasn't.  Just because somebody registers some functionality as
desired in the issue tracker does not mean that any work will
automatically commence.  We don't have a surplus of developers with no
projects of their own on our hand.

 Out of curiosity, what has been the major challenge for developers
 over the years?

Starting.

 Would I be starting anew or recycling previous attempts?

You'd be starting from scratch.  As far as I know, there are no previous
attempts.  Three years ago, there was a LilyPond developer meeting at my
house and some developers might have experimented with accessing
LilyPond internals.  I don't really remember whether this was with Nils
Gey (Laborejo), Patrick Schmidt (Philomelos) or someone else.  I don't
know whether this resulted in any code currently in use and it would not
likely be worth it to hunt after it (it would probably a matter of
catching up with a day of mostly but not entirely related work).

 Finally, over the summer I think I would benefit from a few voice
 chats over Ekiga. Can I suggest a schedule consisting of weekly IRC
 chats? This is also something they want to see in the
 application.

I don't see a problem with weekly IRC chats but I'd usually expect most
communication to happen by Email right when required (I tend to check
every few hours at least).

 Also, should I store my code on github for communication?

I'd prefer a branch in the LilyPond repository (that way nothing will
get lost and experimenting with it becomes trivial for LilyPond
developers), but you can obviously also put stuff on GitHub if you have
other people interested in that.

-- 
David Kastrup

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


Re: Google Summer of Code 2015

2015-03-19 Thread Urs Liska



Am 19.03.2015 um 09:10 schrieb David Kastrup:

Out of curiosity, what has been the major challenge for developers
over the years?

Starting.



Exactly.
What is necessary is the coincidence of
- the need
- someone being capable of working on the subject
- this person being interested in doing so
- this person having the impression that the task is
  - worth the effort and
  - somehow manageable
- this person having capacity to do so

So far this didn't happen all at the same time, and I think GSoC is 
useful exactly for this ...


Urs

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


Re: Google Summer of Code 2015

2015-03-19 Thread Paul Morris
Hi David G.,

Here are a couple of suggestions:

On SXML parser I think what you want to say is GUILE's SXML module:
https://www.gnu.org/software/guile/manual/html_node/SXML.html#SXML

In relation to Frescobaldi's partial MusicXML export, I would say my
project aims to improve upon this approach rather than change it.

In the conclusion you mention observe the next steps for MusicXML import
which is a little unclear.  Maybe say something like your export work will
be helpful for future work on a more robust import feature that can import
MusicXML directly to LilyPond's internal scheme data structures.

Cheers,
-Paul



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Google-Summer-of-Code-2015-tp172600p173359.html
Sent from the Dev mailing list archive at Nabble.com.

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


Re: Google Summer of Code 2015

2015-03-18 Thread David Garfinkle
Okay, thanks David for the quick reply. I have put my application in a google
doc here: 
https://docs.google.com/document/d/1adMWBHlaKKFjznk-2AWly2YzPcjmTsHL-_d9DUxIYCw/edit?usp=sharing

If you could briefly look it over, that would be great. I will send it in to
the google-melange website on 
Friday.

At this point I think I need some clarification in terms of the overall plan
of action. I have some questions for you:
First, what are your milestones for me over the course of the summer; can
you give me a general timeframe for these goals?
Second, when we reach the midterm, in what way will you assess and determine
a pass?
Third, if I am unable to complete the project, is my work recyclable (and if
so, what parts) by the Lilypond community?
Fourth (in response to Paul) I hadn't realized that this project had been in
the works since 2008. Out of curiosity, what has been the major challenge
for developers over the years? Would I be starting anew or recycling
previous attempts?
Finally, over the summer I think I would benefit from a few voice chats over
Ekiga. Can I suggest a schedule consisting of weekly IRC chats? This is also
something they want to see in the application. Also, should I store my code
on github for communication?

That's about it. Hope all is well. 
Best,
David



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Google-Summer-of-Code-2015-tp172600p173337.html
Sent from the Dev mailing list archive at Nabble.com.

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


Re: GSoC tie formatting project (was: Google Summer of Code 2015)

2015-03-18 Thread Janek Warchoł
Hi again,

2015-03-17 14:56 GMT+01:00 Janek Warchoł janek.lilyp...@gmail.com:
 Hello,

 2015-03-12 2:07 GMT+01:00 Janek Warchoł janek.lilyp...@gmail.com:
 I think we should start by pinning down the control flow - both inside
 the tie formatting algorithm itself and between this and the rest of
 LilyPond.

 Concerning internal control flow: it appears to me that a tie can be
 characterized by 4 parameters: direction (upward/downward), height,
 tips' vertical coordinates and tips' horizontal coordinates.  We need
 to find answers to the following questions:
 - are there any cyclic dependencies, and what can we do to break them?
 - in what order should these parameters be calculated?
 - how formatting ties connecting single notes differs from formatting
 ties connecting chords?
 - maybe we should pick a different set of characteristics to represent a tie?

After some thinking it seems to me that the only difference between
formatting ties connecting notes in chords vs single notes is that
when the note is inside a chord, tie tips must be vertically closer to
the notehead (so that it will be clear which notes are connected).

It seems to me that the parameters I mentioned would be a good
characterization of a tie, and that we could calculate them in the
following order:
1. direction - it depends on the staff positions of the tied noteheads
as well as other noteheads in the chord (if present)
2. tip vertical position - depends on tie direction, horizontal
distance between connected notes, vertical proximity of other notes
from the chord (or other voices).
3. tip horizontal position - depends on tip vertical position and the
presence of augmentation dots, accidentals and the like,
4. height - depends on distance between tied notes and tip vertical position.

 As for the global control flow, the questions I see are:
 - what we need to know before calculating tie?
 - what decisions we cannot make until we have decided how the ties
 will look like?
 - can we treat tie formatting as one operation?  Is there anything
 that we must calculate after some characteristics of the ties are
 determined, but before others?  In particular, what about augmentation
 dots and accidentals?

There are a few notation elements that need some information about
ties - in particular, beams need to avoid ties and therefore have to
be calculated after them.  Other than that, augmentation dot
positioning may depend on ties, but it should be enough if we know
that a note has a tie attached to it - we probably don't need to know
tie's exact shape and position.

Overall, I don't see many problems related to cyclic dependencies here.

best,
Janek

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


GSoC tie formatting project (was: Google Summer of Code 2015)

2015-03-17 Thread Janek Warchoł
Hello,

2015-03-12 2:07 GMT+01:00 Janek Warchoł janek.lilyp...@gmail.com:
 Long time ago I have collected all of my research concerning ties in a
 repository on github:
 https://github.com/janek-warchol/tie-crusade
 I suggest that you take a quick look at it (follow the first paragraph
 of the README) to get an overview of the task at hand.  It probably
 needs some cleanup - I'll review and update it over the next two days.

Sorry for delay!
Today I've cleaned the repo up a bit and thought about the problem in depth.

Overall, the repository talks about two quite separate tie issues:
- how to support cross-voice ties, enharmonic ties, ties over a
clef/staff change and other weird constructs, i.e. how to represent
these situations internally and what syntax should be used for
inputting them,
- formatting ties: given two noteheads that should be connected with a
tie, how the tie should look like.

I think that your GSoC project should be solely about the second part.


2015-03-13 20:43 GMT+01:00 Georgy Frolov georgy.fro...@gmail.com:
 Yes, I've built the sources from the git repository (this wasn't much
 of an achievement, it 'just worked' with automake), and have been
 fooling around a bit with parameters in tie formatting -- just to
 learn what's going on. Honestly, can't say that I love the algorithm,
 it seems somehow overcomplicated and difficult to control.

Indeed.  The more I think about it, the more I'm convinced that we
need to ditch most of the old code.  I believe that we need a
relatively simple algorithm, with more or less linear control flow,
instead of a heuristic that calculates multiple tie variants and
scores them.

I think we should start by pinning down the control flow - both inside
the tie formatting algorithm itself and between this and the rest of
LilyPond.

Concerning internal control flow: it appears to me that a tie can be
characterized by 4 parameters: direction (upward/downward), height,
tips' vertical coordinates and tips' horizontal coordinates.  We need
to find answers to the following questions:
- are there any cyclic dependencies, and what can we do to break them?
- in what order should these parameters be calculated?
- how formatting ties connecting single notes differs from formatting
ties connecting chords?
- maybe we should pick a different set of characteristics to represent a tie?

As for the global control flow, the questions I see are:
- what we need to know before calculating tie?
- what decisions we cannot make until we have decided how the ties
will look like?
- can we treat tie formatting as one operation?  Is there anything
that we must calculate after some characteristics of the ties are
determined, but before others?  In particular, what about augmentation
dots and accidentals?

I'll go over the examples in the repository asking myself these questions.

After that we'd figure out the implementation details (i.e. how to
calculate each parameter - assuming that calculating them one by one
will be possible).

What do you think?

One thing that's not clear for me yet is how much of this thinking
should be done during the preparation of the project proposal, and how
much will be part of the GSoC project itself.

 I will have
 more time now on the weekend to look at your patch and play with the
 code, and hopefully will then be ready for a more specific discussion
 :)

Did you manage to run regression test comparison with my patch?

best,
Janek

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


Re: Google Summer of Code 2015

2015-03-16 Thread Paul Morris
David Kastrup wrote
 What part of MusicXML conversion is best contained for a summer's
 project?
 
 Export I think.  In its simplest form, it just converts a music
 expression into a list and then to SXML which can be consecutively
 dumped without any modification.  That would be a tangible milestone for
 further work (it would not yet be MusicXML).  I think that is a clearer
 path to develop along than the reverse.
 
 In contrast, import material in MusicXML proper is somewhat sparse to
 come by and for any import task one needs to decide on proper LilyPond
 constructs.  This is sort of easier to decide when one has already made
 decisions for export.

I'll add that in addition to these reasons David gives, I think one can make
a stronger case for a project on export than import.  Import already has
some partial support with musicxml2ly, while there is nothing for export. 
Export has long been something that people have wanted (see the number of
stars and the old bounties being offered on the tracker, for example[1]). 
It will be easier to convince people to adopt LilyPond if they know they can
export their scores if they change their mind in the future; their data
won't be locked into one format, etc.

Congrats on finishing your midterms, BTW!

-Paul

[1] https://code.google.com/p/lilypond/issues/detail?id=665



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Google-Summer-of-Code-2015-tp172600p173207.html
Sent from the Dev mailing list archive at Nabble.com.

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


Re: Google Summer of Code 2015

2015-03-16 Thread David Kastrup
David Garfinkle david.garfin...@mail.mcgill.ca writes:

 Heyo,

 I finished my midterms and am working on my GSOC application. Please let me
 know if I've grasped this right:

 If I understand correctly, export involves converting natural lilypond
 scheme data into SXML so we can use Guile to reduce the problem of XML
 conversion. And for import, it's the same way but backwards. In contrast to
 Frescobaldi's lilypond syntax parser, this would convert straight from
 lilypond to xml.
 Finally, this project benefits Lilypond because it facilitates translation
 to and from other music engraving software, which is fantastic. 

 Beyond that, I have a few questions: 

 What are the advantages of the Guile method over Frescobaldi's enhanced
 syntax-parser?

The structure of LilyPond's internals changes quite slower than its
various input methods get extended, and one can also make input a lot
more convenient by defining music functions of one's own instead of
utilizing the predefined ones.

Many of the example files in the LilyPond Snippet Repository work by
defining such convenient music functions.  Almost none of those will be
properly passed by Frescobaldi's parser.  Almost all of them will yield
music expressions that would be amenable to XML export.

 What part of MusicXML conversion is best contained for a summer's
 project?

Export I think.  In its simplest form, it just converts a music
expression into a list and then to SXML which can be consecutively
dumped without any modification.  That would be a tangible milestone for
further work (it would not yet be MusicXML).  I think that is a clearer
path to develop along than the reverse.

In contrast, import material in MusicXML proper is somewhat sparse to
come by and for any import task one needs to decide on proper LilyPond
constructs.  This is sort of easier to decide when one has already made
decisions for export.

 Is it realistic to believe I can complete both import and export in
 three months?

No.  There are separate frameworks to be written for writing out and
reading in.  It makes more sense to spend any additional time on
fleshing out one direction (it will not have complete coverage by the
end of the project) than to start the next one.

 Who would be my mentor in this case?

Well, setting up the framework to arrive at the input music expressions
would likely be something you'd work out with me.  I'd probably be the
go-to guy for most other places of getting stuck.  So it probably would
make sense if I did the mentoring.

 What do you suggest as a goal for midterm-achievement and how should I
 best split up the task?

Midterm achievement would like be having the SXML of the input and
figuring out how one wants to organize the conversion of LilyPond SXML
into MusicXML SXML.

 Could we Skype?

I don't have any voice chat possibilities set up right now.  IRC would
be a possibility, and we both could try setting up Ekiga.  Skype is
unfree and increasingly freedom-subverting software (they have given up
on free protocols and most definitely on any form of user-verifiable
operation or encryption) so I am not really interested in trying to get
it to run on my computer.

-- 
David Kastrup

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


Re: Google Summer of Code 2015

2015-03-15 Thread David Garfinkle
Heyo,

I finished my midterms and am working on my GSOC application. Please let me
know if I've grasped this right:

If I understand correctly, export involves converting natural lilypond
scheme data into SXML so we can use Guile to reduce the problem of XML
conversion. And for import, it's the same way but backwards. In contrast to
Frescobaldi's lilypond syntax parser, this would convert straight from
lilypond to xml.
Finally, this project benefits Lilypond because it facilitates translation
to and from other music engraving software, which is fantastic. 

Beyond that, I have a few questions: 

What are the advantages of the Guile method over Frescobaldi's enhanced
syntax-parser? 

What part of MusicXML conversion is best contained for a summer's project?
Is it realistic to believe I can complete both import and export in three
months? 

Who would be my mentor in this case? What do you suggest as a goal for
midterm-achievement and how should I best split up the task? Could we Skype? 

Thanks for all the help,
David



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Google-Summer-of-Code-2015-tp172600p173200.html
Sent from the Dev mailing list archive at Nabble.com.

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


Re: Google Summer of Code 2015

2015-03-11 Thread Janek Warchoł
Hello David, Georgy, all,

I got a message from Paul that you're interested in working on
LilyPond during GSoC - that's great!

I think that both musicxml support and tie formatting can be shaped
into GSoC projects, although I expect that these projects would be
quite open-ended.  I also expect that it may be impossible to
_completely_ fix tie formatting during 3 months of GSoC.  Still, any
progress achieved would be very welcome.
As I see it, the formatting engine probably needs to be rewritten -
right now it uses some heuristics to determine tie formatting, and in
my opinion these heuristics are fundamentally broken (but I'm not 100%
sure about that).

As for slurs, I think that they are well outside of the scope of a
GSoC project.  There are a few small things that could surely be
fixed, but writing a generic tool for formatting slurs would take much
more time than 3 man-months (for someone not already familiar with
LilyPond internals).

Long time ago I have collected all of my research concerning ties in a
repository on github:
https://github.com/janek-warchol/tie-crusade
I suggest that you take a quick look at it (follow the first paragraph
of the README) to get an overview of the task at hand.  It probably
needs some cleanup - I'll review and update it over the next two days.

Let's discuss this in more details in two days, shall we?

best wishes,
Janek


2015-03-07 9:42 GMT+01:00 David Kastrup d...@gnu.org:
 Georgy Frolov georgy.fro...@gmail.com writes:

 Hello,

 I too would like to do a lilypond-related GSoC project. I'm doing the
 final year of my MSc degree in mathematical physics, sing in a choir
 and occasionally use lilypond to typeset some choral scores; not yet
 familiar with its internals though.

 I've been working much with numerical codes in C++ and python,
 including much interpolation, optimization and tweaking heuristic
 models, so the tie/slur appearance project seems a great fit for me.
 It's also something where I  want improvement as a user of lilypond.

 Could you comment why it may not be suited for GSoC?

 Personally, I think it is a reasonably well-contained piece of LilyPond
 to work on.  I think it would be good if you had a copy of Behind Bars
 at your hand and hopefully a reasonable bout of piano music from
 renowned publishers in some hand-engraved editions: piano extracts for
 choir tend to be newer, not with large challenges to slur appearance,
 and not with a particular focus on piano note quality.

 Of course, LilyPond manages to have ties/slurs look ugly even in
 comparatively simple cases.

 Starting point would be ties, I think: limited task that _really_ should
 be computer-soluble.  And the code already gets all the data it needs
 for making its decisions, so you can focus on doing the work rather than
 fighting the data flow (the data flow in LilyPond is _way_ complex).

 The disadvantage is that it's a bit of a hitmiss project where I don't
 see a lot of leeway for gradual improvement.  So at the end of the
 project, you'll either have something to show.  Or not.

 If you want to have a good impression of what kind of code you would be
 working with, the main work is likely currently done in
 lily/tie-formatting-problem.cc.  Unifying the tie formatting and slur
 formatting would be nice in theory but far beyond a GSoC project.

 --
 David Kastrup

 ___
 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: Google Summer of Code 2015

2015-03-07 Thread David Kastrup
Georgy Frolov georgy.fro...@gmail.com writes:

 Hello,

 I too would like to do a lilypond-related GSoC project. I'm doing the
 final year of my MSc degree in mathematical physics, sing in a choir
 and occasionally use lilypond to typeset some choral scores; not yet
 familiar with its internals though.

 I've been working much with numerical codes in C++ and python,
 including much interpolation, optimization and tweaking heuristic
 models, so the tie/slur appearance project seems a great fit for me.
 It's also something where I  want improvement as a user of lilypond.

 Could you comment why it may not be suited for GSoC?

Personally, I think it is a reasonably well-contained piece of LilyPond
to work on.  I think it would be good if you had a copy of Behind Bars
at your hand and hopefully a reasonable bout of piano music from
renowned publishers in some hand-engraved editions: piano extracts for
choir tend to be newer, not with large challenges to slur appearance,
and not with a particular focus on piano note quality.

Of course, LilyPond manages to have ties/slurs look ugly even in
comparatively simple cases.

Starting point would be ties, I think: limited task that _really_ should
be computer-soluble.  And the code already gets all the data it needs
for making its decisions, so you can focus on doing the work rather than
fighting the data flow (the data flow in LilyPond is _way_ complex).

The disadvantage is that it's a bit of a hitmiss project where I don't
see a lot of leeway for gradual improvement.  So at the end of the
project, you'll either have something to show.  Or not.

If you want to have a good impression of what kind of code you would be
working with, the main work is likely currently done in
lily/tie-formatting-problem.cc.  Unifying the tie formatting and slur
formatting would be nice in theory but far beyond a GSoC project.

-- 
David Kastrup

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


Re: Google Summer of Code 2015

2015-03-07 Thread Paul Morris
For more background on MusicXML, here's a relevant tracker issue:

Issue 665:  Request: MusicXML backend
https://code.google.com/p/lilypond/issues/detail?id=665

For more insight into the ties and slurs work (beyond what David K. wrote in
his last message) it would be good to hear from Janek Warchol.  As Urs
mentioned, he has worked in this area and could shed some light on it.  He
has not had as much time for LilyPond since he took on a new job.  I'll
email him and ask him to join this discussion.

It's great to have interest in GSoC from both of you.  If you haven't read
through this guidelines page[1] yet, I'd suggest doing so.  It describes the
process and the expectations for your proposals/applications.  The deadline
for applications is coming up soon (March 16-27).  Please ask any questions
you have here on this list.

[1] https://www.gnu.org/software/soc-projects/guidelines.html

Cheers,
-Paul



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Google-Summer-of-Code-2015-tp172600p172787.html
Sent from the Dev mailing list archive at Nabble.com.

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


Re: Google Summer of Code 2015

2015-03-06 Thread david156
Thanks for all the info and support! I am happy there is interest in the
program. In response to Urs' first reply, it seems as though lily - xml is
the more GSoC-oriented project. I take it that the tie formatting project is
too large? Does alternative involve implementing heuristics that Janek
Worchol prepared?
 
I'm comfortable in C, Java, and OCaml. I've done some course work in Python
 Perl, and last summer I spent my time learning PHP, JavaScript, HTML/CSS
for a web development job. I come from a math background and enjoy
functional programming, so I am looking forward to learning Scheme over the
next two months (and C++).
As a music student I am particularly enthused about working on lily - xml,
as I think I understand that this is necessary for Lilypond to be used in
tandem with other notation software. 

From reading the discussion it seems as though using the Guile module for
SXML-XML is the more practical solution. Though I'm not up to speed, so I
can't really conclude the best approach.



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Google-Summer-of-Code-2015-tp172600p172741.html
Sent from the Dev mailing list archive at Nabble.com.

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


Re: Google Summer of Code 2015

2015-03-06 Thread Georgy Frolov
Hello,

I too would like to do a lilypond-related GSoC project. I'm doing the
final year of my MSc degree in mathematical physics, sing in a choir
and occasionally use lilypond to typeset some choral scores; not yet
familiar with its internals though.

I've been working much with numerical codes in C++ and python,
including much interpolation, optimization and tweaking heuristic
models, so the tie/slur appearance project seems a great fit for me.
It's also something where I  want improvement as a user of lilypond.

Could you comment why it may not be suited for GSoC?

Gosha

2015-03-06 20:31 GMT+03:00 david156 david.garfin...@mail.mcgill.ca:
 Thanks for all the info and support! I am happy there is interest in the
 program. In response to Urs' first reply, it seems as though lily - xml is
 the more GSoC-oriented project. I take it that the tie formatting project is
 too large? Does alternative involve implementing heuristics that Janek
 Worchol prepared?

 I'm comfortable in C, Java, and OCaml. I've done some course work in Python
  Perl, and last summer I spent my time learning PHP, JavaScript, HTML/CSS
 for a web development job. I come from a math background and enjoy
 functional programming, so I am looking forward to learning Scheme over the
 next two months (and C++).
 As a music student I am particularly enthused about working on lily - xml,
 as I think I understand that this is necessary for Lilypond to be used in
 tandem with other notation software.

 From reading the discussion it seems as though using the Guile module for
 SXML-XML is the more practical solution. Though I'm not up to speed, so I
 can't really conclude the best approach.



 --
 View this message in context: 
 http://lilypond.1069038.n5.nabble.com/Google-Summer-of-Code-2015-tp172600p172741.html
 Sent from the Dev mailing list archive at Nabble.com.

 ___
 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: Google Summer of Code 2015

2015-03-05 Thread Paul Morris
Urs Liska wrote
 What you describe about the Frescobaldi approach is true, at least 
 that's where this approach is coming from. However, we are discussing 
 the other one too, because it would of course be very helpful to have as 
 much as possible done _within_ LilyPond. So this is not necessarily an 
 antagonism. By contrast, if someone were working (e.g. through GSoC) on 
 a way to represent LilyPond as XML the Guile way that would be very 
 interesting also for third-party development.

Ok, thanks for clarifying.  I didn't mean to suggest an antagonism.  So it
seems to me that a good approach for exporting would be:

1. In LilyPond use Scheme to convert the internal Scheme music data
structure into an SXML version of this same data structure, call it
LilySXML.

2. Provide an option to output that LilySXML as XML (LilyXML).  This can
then be used by 3rd parties like Frescobaldi etc.  Use the SXML Guile module
to do the conversion from SXML to XML.

3. Use the SXML Guile module to convert the LilySXML to an SXML version of
MusicXML and/or MEI.  Then convert that to actual (XML) MusicXML/MEI.  


For importing, there's David K's suggestion, as I understand it: 

Use the SXML Guile module to go from MusicXML/MEI data files to SXML
versions of this data and then convert from that SXML to the internal data
structure with Scheme.  This bypasses LilyPond's input text format.


Urs Liska wrote
 I didn't want to say MEI had priority over MusicXML. What I mean is that 
 we should try to be as generic as possible in order to enable the most 
 diverse applications.

Ok, I see.

-Paul



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Google-Summer-of-Code-2015-tp172600p172671.html
Sent from the Dev mailing list archive at Nabble.com.

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


Re: Google Summer of Code 2015

2015-03-05 Thread David Kastrup
Urs Liska u...@openlilylib.org writes:

 Am 05.03.2015 um 21:28 schrieb Paul Morris:
 Urs Liska wrote
 What you describe about the Frescobaldi approach is true, at least
 that's where this approach is coming from. However, we are discussing
 the other one too, because it would of course be very helpful to have as
 much as possible done _within_ LilyPond. So this is not necessarily an
 antagonism. By contrast, if someone were working (e.g. through GSoC) on
 a way to represent LilyPond as XML the Guile way that would be very
 interesting also for third-party development.
 Ok, thanks for clarifying.  I didn't mean to suggest an antagonism.  So it
 seems to me that a good approach for exporting would be:

 1. In LilyPond use Scheme to convert the internal Scheme music data
 structure into an SXML version of this same data structure, call it
 LilySXML.

 2. Provide an option to output that LilySXML as XML (LilyXML).  This can
 then be used by 3rd parties like Frescobaldi etc.  Use the SXML Guile module
 to do the conversion from SXML to XML.

 3. Use the SXML Guile module to convert the LilySXML to an SXML version of
 MusicXML and/or MEI.  Then convert that to actual (XML) MusicXML/MEI.


 For importing, there's David K's suggestion, as I understand it:

 Use the SXML Guile module to go from MusicXML/MEI data files to SXML
 versions of this data and then convert from that SXML to the internal data
 structure with Scheme.  This bypasses LilyPond's input text format.

 Everything correct.
 I find especially the very last point interesting.
 Being able to map an XML structure to a LilyPond-Scheme structure
 through SXML seems like taking away many of the obstacles such a
 conversion process has when having to deal with all the syntactic
 special cases.

I also think it could likely make LilyPond more interesting for music
typesetting/recording purposes in cases where the LilyPond input is not
user-serviceable anyway and generated on the fly.  We won't save much
performance in that manner, but this should give a more reliably stable
input format.

Of course, using LilyPond itself for MusicXML export is also reasonably
interesting.  It's particularly interesting when the input is organized
using significant amount of user-defined functions/markup.

Depending on where in the processing one deals with the export, a lot of
user-created programming/content might make it through processing.

If one can write different transcribers for the \xml output (like we
have engravers for the \layout and performers for \midi), different
include files with \xml blocks might be tuned for the MusicXML import of
different other notation programs.

-- 
David Kastrup

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


Re: Google Summer of Code 2015

2015-03-05 Thread Urs Liska



Am 05.03.2015 um 21:28 schrieb Paul Morris:

Urs Liska wrote

What you describe about the Frescobaldi approach is true, at least
that's where this approach is coming from. However, we are discussing
the other one too, because it would of course be very helpful to have as
much as possible done _within_ LilyPond. So this is not necessarily an
antagonism. By contrast, if someone were working (e.g. through GSoC) on
a way to represent LilyPond as XML the Guile way that would be very
interesting also for third-party development.

Ok, thanks for clarifying.  I didn't mean to suggest an antagonism.  So it
seems to me that a good approach for exporting would be:

1. In LilyPond use Scheme to convert the internal Scheme music data
structure into an SXML version of this same data structure, call it
LilySXML.

2. Provide an option to output that LilySXML as XML (LilyXML).  This can
then be used by 3rd parties like Frescobaldi etc.  Use the SXML Guile module
to do the conversion from SXML to XML.

3. Use the SXML Guile module to convert the LilySXML to an SXML version of
MusicXML and/or MEI.  Then convert that to actual (XML) MusicXML/MEI.


For importing, there's David K's suggestion, as I understand it:

Use the SXML Guile module to go from MusicXML/MEI data files to SXML
versions of this data and then convert from that SXML to the internal data
structure with Scheme.  This bypasses LilyPond's input text format.


Everything correct.
I find especially the very last point interesting.
Being able to map an XML structure to a LilyPond-Scheme structure 
through SXML seems like taking away many of the obstacles such a 
conversion process has when having to deal with all the syntactic 
special cases.


Best
Urs




Urs Liska wrote

I didn't want to say MEI had priority over MusicXML. What I mean is that
we should try to be as generic as possible in order to enable the most
diverse applications.

Ok, I see.

-Paul



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Google-Summer-of-Code-2015-tp172600p172671.html
Sent from the Dev mailing list archive at Nabble.com.

___
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: Google Summer of Code 2015

2015-03-05 Thread Paul Morris
Urs Liska wrote
 One thing to keep in mind with this is not to be too focused on MusicXML.
 MusicXML is _one_ XML format, and not the best.
 I think the first step should be a generic XML representation, so 
 LilyPond could read XML files - and also write to them. MusicXML or MEI 
 or whatever other XML format one might come up with should then be 
 transformed to that generic LilyXML.

Just to clarify for David G, as I understand it the Frescobaldi team are
working on creating an XML representation of LilyPond's internal Scheme
music data that LilyPond creates from the user's .ly input file (like you
can see with \displayMusic).[0]  As I understand it, part of the motivation
for that is to be able to use Python's XML tools to do things with that
LilyXML (like converting it to and from MusicXML and MEI).  (Frescobaldi
is a Python app.)  So that's what Urs is describing here.  

David K. is suggesting another approach, which I assume would entail using
Guile/Scheme's XML tools[1] to automatically create a Scheme representation
of an XML document (either MusicXML or MEI) and then use Scheme to do the
conversion into LilyPond's internal Scheme music data format (bypassing
LilyPond's input plain text format).

Basically one approach is get the data into XML format and then use Python
on it while the other is get the data into Scheme format and use Scheme on
it.

David G., can you tell us about your experience/qualifications, especially
in terms of C++, Scheme, and Python, and how this might affect what project
you'd like to take on?

(I agree with Urs that MEI would be great to have, but I think MusicXML
would take priority.  Also, I think I read that someone will be working on a
MEI-to-LilyPond script for a particular project.[2])

-Paul

[0]
http://lilypond.1069038.n5.nabble.com/converting-LilyPond-score-to-XML-tc171447.html
[1] https://www.gnu.org/software/guile/manual/html_node/SXML.html#SXML
[2]
http://lilypond.1069038.n5.nabble.com/Draft-Extended-mensural-notation-support-tc172204.html




--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Google-Summer-of-Code-2015-tp172600p172659.html
Sent from the Dev mailing list archive at Nabble.com.

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


Re: Google Summer of Code 2015

2015-03-05 Thread Paul Morris
Paul Morris wrote
 [0]
 http://lilypond.1069038.n5.nabble.com/converting-LilyPond-score-to-XML-tc171447.html

 
Oops, this link has the replies:
http://lilypond.1069038.n5.nabble.com/converting-LilyPond-score-to-XML-tc171442.html
  

-Paul



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Google-Summer-of-Code-2015-tp172600p172660.html
Sent from the Dev mailing list archive at Nabble.com.

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


Re: Google Summer of Code 2015

2015-03-05 Thread Urs Liska



Am 05.03.2015 um 06:27 schrieb Paul Morris:

Hi David,

Glad you're interested in working on LilyPond for GSoC!

I looked into Google's rules[1] and even though LilyPond is not one of the
accepted mentoring organizations (the deadline has passed for that) the GNU
project is.[2]  Since LilyPond is part of the GNU project, a LilyPond GSoC
project could be sponsored by GNU as the organization (and that might be the
best arrangement in any case).

Also, it seems that students can propose any project, even projects that are
not listed on an organization's official ideas list.[3]  It just needs to
be a project that both the student and the organization are interested in
pursuing.

So... the questions are: can we get you set up with a mentor and a project,
and is GNU open to considering a LilyPond project.  As I understand it, GNU
will be awarded some unspecified number of students that they get to take
on, and then they get to choose from the successful student applications
(out of the students who applied to work with GNU).

-Paul


Regargding the list of projects:

Improving Tie formatting is an issue we'd need very much. Janek Warchoł 
has done quite some preparations for it, but it has been argued the 
project weren't appropriately shaped/sized for a GSoC project (no final 
decision about it yet).


Working with importing/exporting XML is also a very important thing as 
it relates to the way LilyPond interacts with the wider musical world. 
There actually _is_ development going on here, so this might be a quite 
natural place to integrate in existing work (- mentoring). Development 
is done in the context of Frescobaldi and the python-ly package. It has 
become much more than simply improving the existing musicxml2ly script, 
and it may become an important extension if they/we manage to get a 
reliable transformation from LilyPond documents to and from XML documents.
MusicXML is only one part of the game, though. We're talking about 
generic XML now and particularly an interface to MEI 
(http://music-encoding.org).
It would be cool if he had something to mention at the Music Encoding 
Conference in Florence, where we'll present the current state of affairs 
with LilyPond to the international community of Digital Editions :-)


Please feel free to ask more.
It would be a pity to miss a chance for a GSoC project

Urs



[1]
http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2015/help_page
[2] https://www.gnu.org/software/soc-projects/guidelines.html
[3] https://www.gnu.org/software/soc-projects/ideas-2015.html



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Google-Summer-of-Code-2015-tp172600p172605.html
Sent from the Dev mailing list archive at Nabble.com.

___
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: Google Summer of Code 2015

2015-03-05 Thread David Kastrup
David Garfinkle david.garfin...@mail.mcgill.ca writes:

 Hi,

 I'm a computer science and music (piano) undergrad student at McGill, 
 and I'm interested in contributing to Lilypond as part of the 
 Google Summer of Code program. 
 I looked through the list of projects on http://www.lilypond.org/gsoc.html 
 and found the following interesting:

 Grace Notes (has issue #34 been solved? 
 https://code.google.com/p/lilypond/issues/detail?id=34)

Uh oh.  That is not a GSoC project.  It is three.

1: document what iterators do and how they interact in the Contributor's
Guide
2: document Sequential_iterator and Simultaneous_iterator
3: figure out issue 34 and fix it.  Just to throw some buzzwords into
the arena, it might involve implementing something like grace fixups for
simultaneous music

Don't underestimate point 1: the amount of available documentation for
iterators is ridiculous.  Basically you read the code or else.

 Improving Ties and Slurs

I presume their graphical appearance.  Could work if you are acquainted
with how LilyPond does graphics or a fast learner.

 Improve Beaming

Probably no really low-hanging fruit there.  Anything in particular you
are thinking about?

 MusicXML (experimental export? current issues with import?)

Actually anything.  LilyPond does neither export nor import MusicXML.
There are some partial projects outside the LilyPond code proper, like
midi2ly in our distribution, and I believe Frescobaldi and/or Denemo
might have their own takes here.

At least import should be rather straightforward using some Guile/XML
libraries and Scheme programming.

-- 
David Kastrup

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


Re: Google Summer of Code 2015

2015-03-05 Thread Urs Liska



Am 05.03.2015 um 18:38 schrieb Paul Morris:

Urs Liska wrote

One thing to keep in mind with this is not to be too focused on MusicXML.
MusicXML is _one_ XML format, and not the best.
I think the first step should be a generic XML representation, so
LilyPond could read XML files - and also write to them. MusicXML or MEI
or whatever other XML format one might come up with should then be
transformed to that generic LilyXML.

Just to clarify for David G, as I understand it the Frescobaldi team are
working on creating an XML representation of LilyPond's internal Scheme
music data that LilyPond creates from the user's .ly input file (like you
can see with \displayMusic).[0]  As I understand it, part of the motivation
for that is to be able to use Python's XML tools to do things with that
LilyXML (like converting it to and from MusicXML and MEI).  (Frescobaldi
is a Python app.)  So that's what Urs is describing here.

David K. is suggesting another approach, which I assume would entail using
Guile/Scheme's XML tools[1] to automatically create a Scheme representation
of an XML document (either MusicXML or MEI) and then use Scheme to do the
conversion into LilyPond's internal Scheme music data format (bypassing
LilyPond's input plain text format).

Basically one approach is get the data into XML format and then use Python
on it while the other is get the data into Scheme format and use Scheme on
it.


That's not _completely_ true.
What you describe about the Frescobaldi approach is true, at least 
that's where this approach is coming from. However, we are discussing 
the other one too, because it would of course be very helpful to have as 
much as possible done _within_ LilyPond. So this is not necessarily an 
antagonism. By contrast, if someone were working (e.g. through GSoC) on 
a way to represent LilyPond as XML the Guile way that would be very 
interesting also for third-party development.




David G., can you tell us about your experience/qualifications, especially
in terms of C++, Scheme, and Python, and how this might affect what project
you'd like to take on?


+1



(I agree with Urs that MEI would be great to have, but I think MusicXML
would take priority.


I didn't want to say MEI had priority over MusicXML. What I mean is that 
we should try to be as generic as possible in order to enable the most 
diverse applications.



Also, I think I read that someone will be working on a
MEI-to-LilyPond script for a particular project.[2])


Oops, I didn't read this close enough, stumbling over the historical 
area I'm not that interested in. Will have to catch up ...


Urs



-Paul

[0]
http://lilypond.1069038.n5.nabble.com/converting-LilyPond-score-to-XML-tc171447.html
[1] https://www.gnu.org/software/guile/manual/html_node/SXML.html#SXML
[2]
http://lilypond.1069038.n5.nabble.com/Draft-Extended-mensural-notation-support-tc172204.html




--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Google-Summer-of-Code-2015-tp172600p172659.html
Sent from the Dev mailing list archive at Nabble.com.

___
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: Google Summer of Code 2015

2015-03-05 Thread David Kastrup
Phil Holmes m...@philholmes.net writes:

 - Original Message - 
 From: David Kastrup d...@gnu.org
 To: David Garfinkle david.garfin...@mail.mcgill.ca
 Cc: lilypond-devel@gnu.org
 Sent: Thursday, March 05, 2015 9:01 AM
 Subject: Re: Google Summer of Code 2015


 Actually anything.  LilyPond does neither export nor import MusicXML.

 It does import it, albeit probably not perfectly:

 http://lilypond.org/doc/v2.19/Documentation/usage/invoking-musicxml2ly

No, as I said, that is not LilyPond importing MusicXML but rather a
Python utility producing a LilyPond file (one with older syntax if I am
not mistaken).  LilyPond itself is not even called.

Ok, conversion into a LilyPond file is likely what importing is
sort-of about.  But what would be nicer in my book is if LilyPond read
and _interpreted_ MusicXML, bypassing the conversion into whatever
LilyPond input language dialect altogether.  That would be quite more
robust and long-term dependable.

Sort of like how GhostScript these days gets to _interpret_ rather more
PDF files than PostScript files.  It does not really bother converting
them into PostScript form first.  The xpdf and/or poppler suite may have
a true pdftops program that isn't a PostScript interpreter supporting
a different input syntax.  Which also has its place.

But in our case I think we'd be better off by focusing on teaching
MusicXML straight to LilyPond.

-- 
David Kastrup

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


Re: Google Summer of Code 2015

2015-03-05 Thread Urs Liska

Am 05.03.2015 10:57, schrieb David Kastrup:

Phil Holmes m...@philholmes.net writes:


- Original Message -
From: David Kastrup d...@gnu.org
To: David Garfinkle david.garfin...@mail.mcgill.ca
Cc: lilypond-devel@gnu.org
Sent: Thursday, March 05, 2015 9:01 AM
Subject: Re: Google Summer of Code 2015



Actually anything.  LilyPond does neither export nor import MusicXML.

It does import it, albeit probably not perfectly:

http://lilypond.org/doc/v2.19/Documentation/usage/invoking-musicxml2ly

No, as I said, that is not LilyPond importing MusicXML but rather a
Python utility producing a LilyPond file (one with older syntax if I am
not mistaken).  LilyPond itself is not even called.

Ok, conversion into a LilyPond file is likely what importing is
sort-of about.  But what would be nicer in my book is if LilyPond read
and _interpreted_ MusicXML, bypassing the conversion into whatever
LilyPond input language dialect altogether.  That would be quite more
robust and long-term dependable.

Sort of like how GhostScript these days gets to _interpret_ rather more
PDF files than PostScript files.  It does not really bother converting
them into PostScript form first.  The xpdf and/or poppler suite may have
a true pdftops program that isn't a PostScript interpreter supporting
a different input syntax.  Which also has its place.

But in our case I think we'd be better off by focusing on teaching
MusicXML straight to LilyPond.



One thing to keep in mind with this is not to be too focused on MusicXML.
MusicXML is _one_ XML format, and not the best.
I think the first step should be a generic XML representation, so 
LilyPond could read XML files - and also write to them. MusicXML or MEI 
or whatever other XML format one might come up with should then be 
transformed to that generic LilyXML.


Maybe this functionality could be implemented in Scheme in a way that it 
can be used from within LilyPond but also from standalone tools.


--
Urs Liska
u...@openlilylib.org


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


Re: Google Summer of Code 2015

2015-03-05 Thread Phil Holmes
- Original Message - 
From: David Kastrup d...@gnu.org

To: David Garfinkle david.garfin...@mail.mcgill.ca
Cc: lilypond-devel@gnu.org
Sent: Thursday, March 05, 2015 9:01 AM
Subject: Re: Google Summer of Code 2015



Actually anything.  LilyPond does neither export nor import MusicXML.


It does import it, albeit probably not perfectly:

http://lilypond.org/doc/v2.19/Documentation/usage/invoking-musicxml2ly

--
Phil Holmes

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


Google Summer of Code 2015

2015-03-04 Thread David Garfinkle
Hi,

I'm a computer science and music (piano) undergrad student at McGill, 
and I'm interested in contributing to Lilypond as part of the 
Google Summer of Code program. 
I looked through the list of projects on http://www.lilypond.org/gsoc.html 
and found the following interesting:

Grace Notes (has issue #34 been solved? 
https://code.google.com/p/lilypond/issues/detail?id=34)

Improving Ties and Slurs
Improve Beaming 
MusicXML (experimental export? current issues with import?)

If you're currently working on these projects (or just wish to enlighten me), 
I would love to get in touch with you and get a better idea behind what's 
involved. 
Please e-mail me, add me on skype (davidfinkle), or facebook, or anything. 
Thanks! 

David


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


Re: Google Summer of Code 2015

2015-03-04 Thread Paul Morris
Hi David,

Glad you're interested in working on LilyPond for GSoC!  

I looked into Google's rules[1] and even though LilyPond is not one of the
accepted mentoring organizations (the deadline has passed for that) the GNU
project is.[2]  Since LilyPond is part of the GNU project, a LilyPond GSoC
project could be sponsored by GNU as the organization (and that might be the
best arrangement in any case).  

Also, it seems that students can propose any project, even projects that are
not listed on an organization's official ideas list.[3]  It just needs to
be a project that both the student and the organization are interested in
pursuing.

So... the questions are: can we get you set up with a mentor and a project,
and is GNU open to considering a LilyPond project.  As I understand it, GNU
will be awarded some unspecified number of students that they get to take
on, and then they get to choose from the successful student applications
(out of the students who applied to work with GNU).

-Paul

[1]
http://www.google-melange.com/gsoc/document/show/gsoc_program/google/gsoc2015/help_page
[2] https://www.gnu.org/software/soc-projects/guidelines.html
[3] https://www.gnu.org/software/soc-projects/ideas-2015.html



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Google-Summer-of-Code-2015-tp172600p172605.html
Sent from the Dev mailing list archive at Nabble.com.

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


Re: Google Summer of Code

2015-02-13 Thread Wilbert Berendsen
Op Sun, 08 Feb 2015 17:26:45 +0100
Urs Liska u...@openlilylib.org schreef:

   * MusicXML should definitely be considered in the context of actual
 development taking place in the Frescobaldi context. At least it
 should be harmonized with that effort. And: same question as 
 above: Are Reinhold Kainhofer and Mike Solomon actually available
 as mentors?


I am not sure if the MusicXML effort such as implemented by Python-ly
(and used in Frescobaldi) really can compete with an in-LilyPond
solution.

Frescobaldi (and also the ly command provided by the python-ly[1]
package), currently understands LilyPond music (i.e. music written in
LilyPond syntax, not built by Scheme functions) and is able to export
that to MusicXML.

[1] https://github.com/wbsoft/python-ly

We do this by having our own LilyPond parser (that also powers the
syntax highlighting in Frescobaldi) and building a tree-structured music
expression from it and Peter Bjuhr added code to build a MusicXML
document from that music structure, which works quite well.

We are extending this to a route where LilyPond itself parses the file
and builds the score, music expressions etc, and converts this to a
LilyXML document[2]. We can then read the XML in a python module and
convert it to MusicXML. But we still only use the music input
expression, not any output of the layout and engraving process. This is
in development.

[2]
https://github.com/wbsoft/python-ly/blob/master/ly/xml/xml-export.ily
see also
http://python-ly.readthedocs.org/en/latest/ly.xml.html#the-xml-export-ily-file


However, the effort described on the LilyPond Google Summer of Code page
goes much further: it not only builds the basic XML document but also
adds the layout information created by the engraving process, which is
much more advanced, as it takes advantage of LilyPond's excellent
layout.

So I think people should not hesitate to build an excellent MusicXML
exporting function in Lilypond, as the python-ly/Frescobaldi effort
will not be able to use the layout information from LilyPond, but just
the music (like the Midi output, but in a more advanced way of course)

Wilbert

-- 
Wilbert Berendsen
(http://www.wilbertberendsen.nl)


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


Re: Google Summer of Code

2015-02-08 Thread David Kastrup
Urs Liska u...@openlilylib.org writes:

 Am 08.02.2015 um 17:35 schrieb David Kastrup:
 Urs Liska u...@openlilylib.org writes:

   * One of the most crucial project is missing from the list: Guile 2.0
 migration. Here it is the other way round: David has explained why
 this actually would be a good GSoC project.
 I think it has ceased being a good GSoC project since I have fixed all
 the low-hanging fruit already.  The main problem now is a fundamental
 change in GUILE 2.0 garbage collection that is inherently incompatible
 with our data structures.  Getting this under control is a single quite
 hard task which probably, to a good degree, has to be tackled by the
 GUILE programmers themselves.  I am currently doing preparatory work for
 that.


 Ah OK. Does that mean it's becoming more probable to have this in the
 foreseeable future or rather the contrary?

It means that people said they wanted to take a look at it.  It's not
the first time, however.

-- 
David Kastrup

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


Re: Google Summer of Code

2015-02-08 Thread Urs Liska


Am 08.02.2015 um 15:45 schrieb James Lowe:

On 07/02/15 23:47, Urs Liska wrote:

Am 08.02.2015 um 00:12 schrieb James Lowe:

On 07/02/15 21:06, David Garfinkle wrote:

Hi,

I'm a Math, CS, and music student at McGill and I just read
about the google student summer program. I would love to help
develop LilyPond! How can I get involved/what projects are up
for grabs/do I suggest my own project?

http://lilypond.org/google-summer-of-code.html

But David should note that this page is quite out-of-date.

Actually it isn't at all. This page was updated December last year - 2
months ago.

I was asked specifically to *update* this page and it seems it has
been done.

http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=commit;h=5e7bd5c0a08893881d2c65d1440005455b43027f

So if there is anything that is not relevant then let's remove it.


OK, I have the following problems with that page. Sorry if I seem to 
have failed to express these when you were actually working on the page:


 * Is the grace notes issue up-to-date in so far as Mike Solomon and
   Carl Sorensen are available as mentors (I mean, without mentors a
   project is not really possible)?
 * MusicXML should definitely be considered in the context of actual
   development taking place in the Frescobaldi context. At least it
   should be harmonized with that effort. And: same question as above:
   Are Reinhold Kainhofer and Mike Solomon actually available as mentors?
 * Slurs and ties:
   There has been significant work by Janek Warchoł preparing the task
   of improving ties. OTOH David Kastrup has strongly expressed the
   opinion that this project isn't really suitable for GSoC.
 * One of the most crucial project is missing from the list: Guile 2.0
   migration. Here it is the other way round: David has explained why
   this actually would be a good GSoC project.


Urs



James


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


Re: Google Summer of Code

2015-02-08 Thread David Kastrup
Urs Liska u...@openlilylib.org writes:

  * One of the most crucial project is missing from the list: Guile 2.0
migration. Here it is the other way round: David has explained why
this actually would be a good GSoC project.

I think it has ceased being a good GSoC project since I have fixed all
the low-hanging fruit already.  The main problem now is a fundamental
change in GUILE 2.0 garbage collection that is inherently incompatible
with our data structures.  Getting this under control is a single quite
hard task which probably, to a good degree, has to be tackled by the
GUILE programmers themselves.  I am currently doing preparatory work for
that.

-- 
David Kastrup

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


Re: Google Summer of Code

2015-02-08 Thread Urs Liska


Am 08.02.2015 um 17:35 schrieb David Kastrup:

Urs Liska u...@openlilylib.org writes:


  * One of the most crucial project is missing from the list: Guile 2.0
migration. Here it is the other way round: David has explained why
this actually would be a good GSoC project.

I think it has ceased being a good GSoC project since I have fixed all
the low-hanging fruit already.  The main problem now is a fundamental
change in GUILE 2.0 garbage collection that is inherently incompatible
with our data structures.  Getting this under control is a single quite
hard task which probably, to a good degree, has to be tackled by the
GUILE programmers themselves.  I am currently doing preparatory work for
that.



Ah OK. Does that mean it's becoming more probable to have this in the 
foreseeable future or rather the contrary?


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


Re: Google Summer of Code

2015-02-08 Thread James Lowe
On 07/02/15 23:47, Urs Liska wrote:
 
 Am 08.02.2015 um 00:12 schrieb James Lowe:
 On 07/02/15 21:06, David Garfinkle wrote:
 Hi,
 
 I'm a Math, CS, and music student at McGill and I just read
 about the google student summer program. I would love to help
 develop LilyPond! How can I get involved/what projects are up
 for grabs/do I suggest my own project?
 http://lilypond.org/google-summer-of-code.html
 
 But David should note that this page is quite out-of-date.

Actually it isn't at all. This page was updated December last year - 2
months ago.

I was asked specifically to *update* this page and it seems it has
been done.

http://git.savannah.gnu.org/gitweb/?p=lilypond.git;a=commit;h=5e7bd5c0a08893881d2c65d1440005455b43027f

So if there is anything that is not relevant then let's remove it.

James

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


Re: Google Summer of Code

2015-02-07 Thread James Lowe
On 07/02/15 21:06, David Garfinkle wrote:
 Hi,
 
 I'm a Math, CS, and music student at McGill and I just read about
 the google student summer program. I would love to help develop
 LilyPond! How can I get involved/what projects are up for grabs/do
 I suggest my own project?

http://lilypond.org/google-summer-of-code.html

James

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


Google Summer of Code

2015-02-07 Thread David Garfinkle
Hi,

I'm a Math, CS, and music student at McGill and I just read about the
google student summer program. I would love to help develop LilyPond! How
can I get involved/what projects are up for grabs/do I suggest my own
project?

Thanks and let me know,
David
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Google Summer of Code

2015-02-07 Thread Urs Liska


Am 08.02.2015 um 00:12 schrieb James Lowe:

On 07/02/15 21:06, David Garfinkle wrote:

Hi,

I'm a Math, CS, and music student at McGill and I just read about
the google student summer program. I would love to help develop
LilyPond! How can I get involved/what projects are up for grabs/do
I suggest my own project?

http://lilypond.org/google-summer-of-code.html


But David should note that this page is quite out-of-date.
It can give a start to think about the issue but in the end there's more 
we should do about it.
One example: One of the most important issue is missing from that page: 
Guile 2.0 transition. David Kastrup has explained more than once why 
this would be a suitable project for GSoC (although I don't seem to be 
able to find that easily right now).


BTW What are the next relevant dates?

Best
Urs


James

___
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: Google Summer of Code

2015-02-07 Thread Paul Morris
Urs Liska wrote
 Guile 2.0 transition. 

Here's the description of the GUILE 2.0 project from last year:
https://www.gnu.org/software/soc-projects/ideas-2014.html

I don't think any of the ideas listed on the lilypond.org GSoC page have
already been completed/exhausted, so they are not out of date in that sense. 
(Someone please correct me if that's inaccurate.)

-Paul



--
View this message in context: 
http://lilypond.1069038.n5.nabble.com/Google-Summer-of-Code-tp171573p171581.html
Sent from the Dev mailing list archive at Nabble.com.

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


Re: Google Summer of Code, LilyPond and GNU

2012-03-06 Thread Janek Warchoł
On Mon, Mar 5, 2012 at 11:17 PM, Graham Percival
gra...@percival-music.ca wrote:
 On Mon, Mar 05, 2012 at 10:48:28PM +0100, Janek Warchoł wrote:
 Graham, i understand that you'll be our project administrator.  When
 Ideas List will be up, you'll have to register at
 http://www.google-melange.com/gsoc/homepage/google/gsoc2012 and fill
 our application (it consists of answering the 16 questions - for which
 we already have answers - and agreeing to admin agreement).

 What happens about the tax form?  I'm not signing any legal
 document unless I'm certain it's the right thing.  Is GNU
 submitting that foreign income thing for us ? ... although I
 suppose that GNU is an American organization, so they'd file a
 different tax form?

I've asked on #gsoc IRC channel.  The situation in our case is as follows:
- we have no legal body, so we would be represented by an individual.
This person will act as LilyPond Mentoring Organization inside GSoC,
but this doesn't mean any legal implications outside GSoC.  It means
doing administration stuff for GSoC.
- this person registers at GSoC and files LilyPond application, no
legal documents are needed for that.  The only legal outcome is that
this person agrees to be LilyPond admin for GSoC.
- from Google's point of view, this person is working for Google
during GSoC (but it doesn't mean you become Google employee).  $500
for mentoring organization is just a payment for this work.
- To send this payment, Google needs tax-related documents.  If the
admin is not a US person, it needs just a declaration of this fact
(that's what W-8BEN is used for).  You don't need to be a US taxpayer.
 I repeat: non-US admin has to file W-8BEN form that roughly says
hey, US government, i'm not American and this money is none of your
business.
- the $500 is an income for the admin, so he may need to pay taxes in
his country.
- i was (unofficially) told that if you don't send the W-8BEN form,
Google doesn't get upset and simply doesn't send you the money,
especially if you notify them about it.

Bottom line: all the tax stuff is related to the admin payment, not to
the participation in GSoC itself.

Graham, does this answer your question?

Janek

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


Re: Google Summer of Code, LilyPond and GNU

2012-03-06 Thread Graham Percival
On Tue, Mar 06, 2012 at 01:22:42PM +0100, Janek Warchoł wrote:
 On Mon, Mar 5, 2012 at 11:17 PM, Graham Percival
 gra...@percival-music.ca wrote:
  What happens about the tax form?  I'm not signing any legal
  document unless I'm certain it's the right thing.  Is GNU
  submitting that foreign income thing for us ? ... although I
  suppose that GNU is an American organization, so they'd file a
  different tax form?
 
 I've asked on #gsoc IRC channel.

Thanks for clarifying this!

 - we have no legal body, so we would be represented by an individual.
 This person will act as LilyPond Mentoring Organization inside GSoC,
 but this doesn't mean any legal implications outside GSoC.  It means
 doing administration stuff for GSoC.

ok.

 - i was (unofficially) told that if you don't send the W-8BEN form,
 Google doesn't get upset and simply doesn't send you the money,
 especially if you notify them about it.

Ok, if I'm the admin person, that is what I would do.  Some people
might view that as a waste of $500 (or more; IIRC it's $500 for
each student).  If so, then speak up and offer to be this admin
person instead.

- Graham

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


Re: Google Summer of Code, LilyPond and GNU

2012-03-06 Thread Janek Warchoł
On Tue, Mar 6, 2012 at 1:38 PM, Graham Percival
gra...@percival-music.ca wrote:
 Let's see if we can rescue this somehow.

 On Tue, Mar 06, 2012 at 09:52:00AM +0100, Janek Warchoł wrote:
 On Mon, Mar 5, 2012 at 11:17 PM, Graham Percival
 gra...@percival-music.ca wrote:
  No.  Put the patch on rietveld, and once people have commented, it
  gets pushed to staging.

 Aaargh!  This will take 2 or 3 days.  As a part of our application to
 GSoC we *must* include URL to our ideas list.  So we must get it
 online As Soon As Possible!

 I'm not saying it needs to wait for a full countdown, but I think
 we should have it available for comment for some amount of time.

ah, ok.

 I guess i'm stupid
 and ugly and don't know how to satisfy your question and handle all
 this, can you help me?

 First, yes I'll try to help you and get something worked out.

Thanks!

 Second, don't sacrifice family or university for lilypond.
 David's situation is not good, but that is ultimately his
 responsibility.  I don't think that he would want you to do poorly
 in university because of worrying about him.  The situation for
 lilypond in general is no different: this is a volunteer, hobby
 project.  It must come after family, education, and work.
 I appreciate the effort you have been putting into this, but I
 encourage you to shift your priorities.

That's unlikely, i'm very stubborn.  I'd rather try to make
LilyPond/music engraving my source of income.

 I don't want the money.  I have been very consistent about that.
 I don't want the $500, and I don't want the income.  My personal
 taxes are complicated enough as they are; I have income from two
 different countries, I have over CDN$ 99,000 of education tax
 credit saved up (completely legal; I've been a student since
 1997, almost all full-time); the tax auditors naturally look
 closely at my submissions.

i didn't know that.  sorry.

 With regards to that form, I don't know what to put for box 2
 Country of incorportation or organization.  I'm not an
 incorporation or organization... or is there a special tax
 definition of incorporation that includes private individuals?
 hmm.

IIRC the instruction says an individual leaves this blank.

 Ignoring that, what should I do for box 4 permanent address ?
 I'm a student, soon to start doing a postdoc life where I switch
 to a different continent every 6 to 12 months.

As far as i understand, this document is for Google and i've read that
they don't care for changing address as long as it's outside US.

Besides, i don't think this matters unless you're going to move during GSoC.

 Woah, part III Notional Principal Contracts!!!  I have provided
 or will provide a statement that identifies those notional
 principal contracts from which the income is not effectively
 connected with the conduct of a trade or business in the United
 States. I agree to update this statement as required.  
 What on earth does that mean?!  I'm supposed to agree to send an
 affidavit saying that the money from google doesn't have anything
 to do with a business in the US?  no wait, that's notorized, no
 notional.  Huh, I guess I'd better spend half an hour looking
 into the definition of all those words.

 Part IV Certification.  Under penalties of perjury, I declare
 that I have examined the information on this form and to the best
 of my knowledge and belief it is true,

 I cannot do that.  Not without spending probably a full working
 day looking up legal definitions for United States tax law.  It's
 not because I'm actively worried that the US government is going
 to give my brother a hard time because of this form, nor am I
 actively worried that they'll extradite me on some legal
 technicality because I might have made a mistake in filling out
 the form.  I cannot sign this form because I view my word as my
 bond.  It would be dishonorable for me to make a claim unless I am
 totally certain that I am correct.

That's something i can understand.

 Janek?  I know that you want to be a student, but maybe you'd
 consider being the official admin for us instead, and keep the
 $500?  You're much more familiar with GSoC than I am.

unfortunately not.  Only participating in GSoC as a student will
enable me to spend all my summer on LilyPond, and that's what i want
to do.


On Tue, Mar 6, 2012 at 1:41 PM, Graham Percival
gra...@percival-music.ca wrote:
 On Tue, Mar 06, 2012 at 01:22:42PM +0100, Janek Warchoł wrote:
 i was (unofficially) told that if you don't send the W-8BEN form,
 Google doesn't get upset and simply doesn't send you the money,
 especially if you notify them about it.

 Ok, if I'm the admin person, that is what I would do.  Some people
 might view that as a waste of $500 (or more; IIRC it's $500 for
 each student).

Yes, that's what the program FAQ says.  I hope that if we're accepted
we'll have at least 2 students.

best
Janek

___
lilypond-devel mailing list
lilypond-devel@gnu.org

Re: Google Summer of Code, LilyPond and GNU

2012-03-05 Thread Janek Warchoł
On Mon, Mar 5, 2012 at 7:22 PM, Rodrigo Rodrigues da Silva
pita...@members.fsf.org wrote:
 On Sat, 2012-03-03 at 23:56 +, Graham Percival wrote:

 Hmm.  My instinct would be to try it separately, anyway.  We're
 not the size of gcc or gnome, but we're not trivial: [...]

 Sure, you can always try. And if you don't make it you are welcome back
 to the GNU umbrella =]

 Rodrigo Rodrigues da Silva

Okay, so i understand that we try applying individually.  If on March
16 we won't be listed in accepted projects, we'll contact GNU and
they'll add us to their umbrella, listing our projects on their Ideas
List and so on.
I will make a patch adding GSoC Ideas List to our webpage - Graham,
will you recompile it?  The patch should be ready before tomorrow
17:00 UTC.
Graham, i understand that you'll be our project administrator.  When
Ideas List will be up, you'll have to register at
http://www.google-melange.com/gsoc/homepage/google/gsoc2012 and fill
our application (it consists of answering the 16 questions - for which
we already have answers - and agreeing to admin agreement).
Who will be backup administrator?  I think i don't qualify since i'm
going to be the student.  Carl?  Anyone else?  Backup admin is
mandatory and has to register at GSoC webpage too.

cheers,
Janek

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


Re: Google Summer of Code, LilyPond and GNU

2012-03-05 Thread Graham Percival
On Mon, Mar 05, 2012 at 10:48:28PM +0100, Janek Warchoł wrote:
 On Mon, Mar 5, 2012 at 7:22 PM, Rodrigo Rodrigues da Silva
 pita...@members.fsf.org wrote:
  On Sat, 2012-03-03 at 23:56 +, Graham Percival wrote:
 
  Hmm.  My instinct would be to try it separately, anyway.  We're
  not the size of gcc or gnome, but we're not trivial: [...]
 
  Sure, you can always try. And if you don't make it you are welcome back
  to the GNU umbrella =]
 
 Okay, so i understand that we try applying individually.  If on March
 16 we won't be listed in accepted projects, we'll contact GNU and
 they'll add us to their umbrella, listing our projects on their Ideas
 List and so on.

Hmm, I'm not certain that's quite what he meant, but ok.

 I will make a patch adding GSoC Ideas List to our webpage - Graham,
 will you recompile it?

No.  Put the patch on rietveld, and once people have commented, it
gets pushed to staging.

 Graham, i understand that you'll be our project administrator.  When
 Ideas List will be up, you'll have to register at
 http://www.google-melange.com/gsoc/homepage/google/gsoc2012 and fill
 our application (it consists of answering the 16 questions - for which
 we already have answers - and agreeing to admin agreement).

What happens about the tax form?  I'm not signing any legal
document unless I'm certain it's the right thing.  Is GNU
submitting that foreign income thing for us ? ... although I
suppose that GNU is an American organization, so they'd file a
different tax form?

- Graham

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


Re: Google Summer of Code, LilyPond and GNU

2012-03-05 Thread Carl Sorensen
On 3/5/12 3:17 PM, Graham Percival gra...@percival-music.ca wrote:


What happens about the tax form?  I'm not signing any legal
document unless I'm certain it's the right thing.  Is GNU
submitting that foreign income thing for us ? ... although I
suppose that GNU is an American organization, so they'd file a
different tax form?

I just registered.  As part of the terms of service, we have to agree to
supply either a W-9 or a foreign certification.

As a US resident, I'd have to do a W-9 if I did it.  A non-resident could
use the foreign certification.

Maybe we could take this conversation off-line.

Thanks,

Carl


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


Google Summer of Code - legal matters, FSF

2012-02-27 Thread Thorsten

Hi list, 
a bit insprired by the GSoC 2012 preparations of the Lilypond community,
the Orgmode community is thinking about a participation too. 

While the whole application process is pretty transparent and clear, the
question how GNU and the FSF are involved, especially when it comes to
money, taxes, and legal stuff, has no obvious answer. 

Would you mind to share your investigations and results with respect to
this point with us, so we don't have to duplicate efforts?

Just answer on this newsgroup or send me a personal mail.
Thanks in advance!
-- 
cheers,
Thorsten


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


Re: Google Summer of Code - legal matters, FSF

2012-02-27 Thread Janek Warchoł
Hi,

On Mon, Feb 27, 2012 at 6:35 PM, Thorsten quintf...@googlemail.com wrote:
 a bit insprired by the GSoC 2012 preparations of the Lilypond community,
 the Orgmode community is thinking about a participation too.

 While the whole application process is pretty transparent and clear, the
 question how GNU and the FSF are involved, especially when it comes to
 money, taxes, and legal stuff, has no obvious answer.

 Would you mind to share your investigations and results with respect to
 this point with us, so we don't have to duplicate efforts?

We'd gladly do this, but as of now GNU didn't answer our questions yet :(

cheers,
Janek

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


Re: Google Summer of Code - legal matters, FSF

2012-02-27 Thread Janek Warchoł
On Tue, Feb 28, 2012 at 12:18 AM, Thorsten quintf...@googlemail.com wrote:
 Janek Warchoł janek.lilyp...@gmail.com writes:

 Hi,

 On Mon, Feb 27, 2012 at 6:35 PM, Thorsten quintf...@googlemail.com wrote:
 a bit insprired by the GSoC 2012 preparations of the Lilypond community,
 the Orgmode community is thinking about a participation too.

 While the whole application process is pretty transparent and clear, the
 question how GNU and the FSF are involved, especially when it comes to
 money, taxes, and legal stuff, has no obvious answer.

 Would you mind to share your investigations and results with respect to
 this point with us, so we don't have to duplicate efforts?

 We'd gladly do this, but as of now GNU didn't answer our questions yet :(

 ok, not so good.
 then we will try ourself, I will inform you about any answers received
 from GNU/FSF.

 thanks - and good luck with your application!

Good luck to you, too!
Janek

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


Re: Google Summer of Code - legal matters, FSF

2012-02-27 Thread Thorsten
Janek Warchoł janek.lilyp...@gmail.com writes:

Hi,

 On Mon, Feb 27, 2012 at 6:35 PM, Thorsten quintf...@googlemail.com wrote:
 a bit insprired by the GSoC 2012 preparations of the Lilypond community,
 the Orgmode community is thinking about a participation too.

 While the whole application process is pretty transparent and clear, the
 question how GNU and the FSF are involved, especially when it comes to
 money, taxes, and legal stuff, has no obvious answer.

 Would you mind to share your investigations and results with respect to
 this point with us, so we don't have to duplicate efforts?

 We'd gladly do this, but as of now GNU didn't answer our questions yet :(

ok, not so good.
then we will try ourself, I will inform you about any answers received
from GNU/FSF. 

thanks - and good luck with your application!
-- 
cheers,
Thorsten

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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-22 Thread David Kastrup
Werner LEMBERG w...@gnu.org writes:

 Somewhat independently, there is a mf2pt1.pl Perl script that
 (shudder) generates .pe script to transform a metapost output to a
 Type 1 font.  I guess that could be done more concisely directly as
 a python script.

 This sounds like a very nice addition.  Maybe generating Python should
 be the default, retaining the old .pe approach with as an option.  The
 FontForge list is quite helpful in case questions arise.

 Scott Pakin, author of mf2pt1, will certainly add any improvements.

There is also a program/utility Metatype in the TeX world, and it has
been used for generating various Type1 fonts from Metafont sources.

-- 
David Kastrup

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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-22 Thread Han-Wen Nienhuys
On Wed, Feb 22, 2012 at 4:42 AM, David Kastrup d...@gnu.org wrote:
 Somewhat independently, there is a mf2pt1.pl Perl script that
 (shudder) generates .pe script to transform a metapost output to a
 Type 1 font.  I guess that could be done more concisely directly as
 a python script.

 This sounds like a very nice addition.  Maybe generating Python should
 be the default, retaining the old .pe approach with as an option.  The
 FontForge list is quite helpful in case questions arise.

 Scott Pakin, author of mf2pt1, will certainly add any improvements.

 There is also a program/utility Metatype in the TeX world, and it has
 been used for generating various Type1 fonts from Metafont sources.

This looks very outdated, and it seems to use autotrace.  We abandoned
traced outlines for exact conversions a few years ago.

-- 
Han-Wen Nienhuys - han...@xs4all.nl - http://www.xs4all.nl/~hanwen

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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-22 Thread Carl Sorensen


On 2/22/12 10:17 AM, Han-Wen Nienhuys hanw...@gmail.com wrote:

On Wed, Feb 22, 2012 at 3:12 PM, David Kastrup d...@gnu.org wrote:
 Han-Wen Nienhuys hanw...@gmail.com writes:

 On Wed, Feb 22, 2012 at 4:42 AM, David Kastrup d...@gnu.org wrote:
 Somewhat independently, there is a mf2pt1.pl Perl script that
 (shudder) generates .pe script to transform a metapost output to a
 Type 1 font.  I guess that could be done more concisely directly as
 a python script.

 This sounds like a very nice addition.  Maybe generating Python
should
 be the default, retaining the old .pe approach with as an option.
The
 FontForge list is quite helpful in case questions arise.

 Scott Pakin, author of mf2pt1, will certainly add any improvements.

 There is also a program/utility Metatype in the TeX world, and it has
 been used for generating various Type1 fonts from Metafont sources.

 This looks very outdated, and it seems to use autotrace.  We abandoned
 traced outlines for exact conversions a few years ago.

 I should be surprised, actually.  The Wikipedia page is at
 URL:http://en.wikipedia.org/wiki/METATYPE1, and it explicitly states
 that it can only work with filled outlines rather than pens, and the
 toolchain processes the Bezier outlines from METAPOST.  For an
 autotraced outline, that would make no sense, and there is no mention of
 any tracing tool in the process.  I think that the Type1 versions of the
 ec fonts were created with some kind of autotracing of large bitmaps,
 but the Latin Modern fonts, as far as I know, were created using special
 font sources adapted for Metatype1.  The whole Metatype1 project came
 into being because the Polish programmers did not consider the
 autotraced bitmap fonts to be of sufficient quality.

I was looking at http://metatype.sourceforge.net/ . Your wikipedia
page doesn't host a live link, so I suppose the project died.

Metatype1 is hosted on a polish server:

http://www.gust.org.pl/projects/e-foundry/metatype1


and was updated in 2009 on the CTAN:

http://ctan.org/tex-archive/fonts/utilities/metatype1


Since it's now 2012, I guess one could say the project died.

The project is placed in the public domain, so we could include it in
LilyPond if we wanted to.

Thanks,

Carl


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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-22 Thread David Kastrup
Han-Wen Nienhuys hanw...@gmail.com writes:

 On Wed, Feb 22, 2012 at 3:12 PM, David Kastrup d...@gnu.org wrote:
 Han-Wen Nienhuys hanw...@gmail.com writes:

 On Wed, Feb 22, 2012 at 4:42 AM, David Kastrup d...@gnu.org wrote:
 Somewhat independently, there is a mf2pt1.pl Perl script that
 (shudder) generates .pe script to transform a metapost output to a
 Type 1 font.  I guess that could be done more concisely directly as
 a python script.

 This sounds like a very nice addition.  Maybe generating Python should
 be the default, retaining the old .pe approach with as an option.  The
 FontForge list is quite helpful in case questions arise.

 Scott Pakin, author of mf2pt1, will certainly add any improvements.

 There is also a program/utility Metatype in the TeX world, and it has
 been used for generating various Type1 fonts from Metafont sources.

 This looks very outdated, and it seems to use autotrace.  We abandoned
 traced outlines for exact conversions a few years ago.

 I should be surprised, actually.  The Wikipedia page is at
 URL:http://en.wikipedia.org/wiki/METATYPE1, and it explicitly states
 that it can only work with filled outlines rather than pens, and the
 toolchain processes the Bezier outlines from METAPOST.  For an
 autotraced outline, that would make no sense, and there is no mention of
 any tracing tool in the process.  I think that the Type1 versions of the
 ec fonts were created with some kind of autotracing of large bitmaps,
 but the Latin Modern fonts, as far as I know, were created using special
 font sources adapted for Metatype1.  The whole Metatype1 project came
 into being because the Polish programmers did not consider the
 autotraced bitmap fonts to be of sufficient quality.

 I was looking at http://metatype.sourceforge.net/ . Your wikipedia
 page doesn't host a live link, so I suppose the project died.

Looks like I sloppily considered Metatype and Metatype1 the same
project.  The download README is from 2009, and there have been a number
of fonts produced using it.
URL:http://ctan.org/tex-archive/fonts/utilities/metatype1

The Polish TeX programmer team is continuing to create fonts using this
tool as far as I know, though few others have picked it up.

The TeX Gyre project
URL:http://www.gust.org.pl/projects/e-foundry/tex-gyre/index_html uses
it according to its documentation, and works with roundtrips from
outline PostScript fonts to Metatype1, editing and supplementing
(diacritics, for one thing) and going back to Type1.

-- 
David Kastrup

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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-22 Thread Xavier Scheuer
On 22 February 2012 18:36, David Kastrup d...@gnu.org wrote:

 Looks like I sloppily considered Metatype and Metatype1 the same
 project.  The download README is from 2009, and there have been a number
 of fonts produced using it.
 URL:http://ctan.org/tex-archive/fonts/utilities/metatype1

 The Polish TeX programmer team is continuing to create fonts using this
 tool as far as I know, though few others have picked it up.

 The TeX Gyre project
 URL:http://www.gust.org.pl/projects/e-foundry/tex-gyre/index_html uses
 it according to its documentation, and works with roundtrips from
 outline PostScript fonts to Metatype1, editing and supplementing
 (diacritics, for one thing) and going back to Type1.

If you want to compare TeXtrace/AutoTrace/potrace, mftrace and
MetaType1 or MetaFog for the Creation of Type 1 Fonts from METAFONT
Source, I think the following article could be really insightful
(TUG March-May 2004 Annual Meeting):

http://www-hep2.fzu.cz/~piska/TUG2004/piskatb2.pdf

Cheers,
Xavier

-- 
Xavier Scheuer x.sche...@gmail.com

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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-22 Thread Werner LEMBERG

 Metatype1 is hosted on a polish server:

 http://www.gust.org.pl/projects/e-foundry/metatype1

At the time I did the transition to mf2pt1, I had compared the various
approaches of converting METAFONT outlines to Type1 fonts.  mf2pt1
appeared as the most straightforward approach, much easier than
METATYPE1.

Do you think that mf2pt1 isn't appropriate or insufficient for our
purposes?  IMHO, it does a good job, so I don't really understand the
whole discussion...


Werner

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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-21 Thread Janek Warchoł
On Thu, Feb 16, 2012 at 1:56 PM, pls p.l.schm...@gmx.de wrote:

 Am 16.02.2012 um 13:02 schrieb Han-Wen Nienhuys
 What happens if you take a fully formatted file from Finale and load
 it into Sibelius via the musicxml route, and the reverse? Is anyone
 able to post the before and after PDFs of such a transition?
 I can't really say what happens when you interchange a fully formatted 
 MusicXML generated by Finale but this is what I did to test the different 
 output:

 * engraved a piece with LilyPond
 * converted it to MusicXML using PDFtoMusic Pro v1.3.0d
 * manually corrected the .xml-file (surprise, surprise: PDFtoMusic Pro' OCR 
 is not »perfect« ;-))
 * reconverted the file to LilyPond using musicxml2ly
 * opened the .xml-file with Finale NotePad 2012, Finale 2011 Demo, Sibelius 6 
 Demo, MuseScore v1.1

 And these are the results (first page only):

Thank you for doing this test!  The results are valuable; i'd say that
it works reasonably.  (however it would also be good to test a more
complicated piece - could you try it with first pages of attached
scores?)
From what i undestand, the most important comparison is between first
and last file (IMSLP74045-PMLP148535-256-16_pls.png and
IMSLP74045-PMLP148535-256-16_pls_p2mp_pls.png) - the first one is the
original LilyPond engraving, and the second one is what you got after
converting to musicXML and back to .ly?

thanks,
Janek

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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-21 Thread Janek Warchoł
On Sun, Feb 12, 2012 at 12:03 PM, Janek Warchoł
janek.lilyp...@gmail.com wrote:
 Please give your suggested projects.

In another thread Han-Wen wrote:

On Fri, Feb 17, 2012 at 1:58 PM, Han-Wen Nienhuys hanw...@gmail.com wrote:
 Also, nowadays, fontforge supports Python scripting. We could redo all
 the craziness involving generated files and legacy .pe scripts in
 plain Python.

 It would be a nice and meaty project for someone to get their hands
 dirty (gsoc, frogs?)

Looks appropriate, however i'm not sure if i understood it correctly.
You mean sth like:
Rewrite font building system.  Create a robust, scalable and easily
maintainable system for creating Open Type Fonts from Metafont code
(merging and dividing fontsets, handling different design sizes) using
Fontforge's built-in Python scripting support.  Requirements: Python,
basic font and Metafont skills.
Han-Wen, could you confirm that i got it right?

cheers,
Janek

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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-21 Thread pls

Am 21.02.2012 um 22:04 schrieb Janek Warchoł:

 On Thu, Feb 16, 2012 at 1:56 PM, pls p.l.schm...@gmx.de wrote:
 
 Am 16.02.2012 um 13:02 schrieb Han-Wen Nienhuys
 What happens if you take a fully formatted file from Finale and load
 it into Sibelius via the musicxml route, and the reverse? Is anyone
 able to post the before and after PDFs of such a transition?
 I can't really say what happens when you interchange a fully formatted 
 MusicXML generated by Finale but this is what I did to test the different 
 output:
 
 * engraved a piece with LilyPond
 * converted it to MusicXML using PDFtoMusic Pro v1.3.0d
 * manually corrected the .xml-file (surprise, surprise: PDFtoMusic Pro' OCR 
 is not »perfect« ;-))
 * reconverted the file to LilyPond using musicxml2ly
 * opened the .xml-file with Finale NotePad 2012, Finale 2011 Demo, Sibelius 
 6 Demo, MuseScore v1.1
 
 And these are the results (first page only):
 
 Thank you for doing this test!  The results are valuable; i'd say that
 it works reasonably.  (however it would also be good to test a more
 complicated piece - could you try it with first pages of attached
 scores?)
 From what i undestand, the most important comparison is between first
 and last file (IMSLP74045-PMLP148535-256-16_pls.png and
 IMSLP74045-PMLP148535-256-16_pls_p2mp_pls.png) - the first one is the
 original LilyPond engraving, and the second one is what you got after
 converting to musicXML and back to .ly?
Yes, you're right.  But I'd say the other results are also interesting because 
they show that the same .xml-file is represented differently by different 
notation softwares (e.g. concerning page breaks , lyrics...)

I could try it again with a more complicated piece if you want.  Any 
suggestions?

hth,
patrick

P.S.: I don't think I will find time to do some more testing before the next 
weekend, though. Sorry.
 
 thanks,
 Janek


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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-21 Thread Janek Warchoł
On Tue, Feb 21, 2012 at 10:41 PM, pls p.l.schm...@gmx.de wrote:
 Yes, you're right.  But I'd say the other results are also interesting 
 because they show that the same .xml-file is represented differently by 
 different notation softwares (e.g. concerning page breaks , lyrics...)

Sure; it's far from being perfect.  The worst thing is different page
break in MuseScore.

 I could try it again with a more complicated piece if you want.  Any 
 suggestions?

Oops, i forgot to attach the attachment to the previous mail.  See the
attached archive; there are two directories containing one .ly file
each (and some included files, ignore them).  First page from both
would be enough.
(there's no rush ofc)

thanks,
Janek


musicXMLtest.tar.gz
Description: GNU Zip compressed data
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: Google Summer of Code - Ideas List, please discuss

2012-02-21 Thread Han-Wen Nienhuys
On Tue, Feb 21, 2012 at 7:17 PM, Janek Warchoł janek.lilyp...@gmail.com wrote:
 In another thread Han-Wen wrote:

 On Fri, Feb 17, 2012 at 1:58 PM, Han-Wen Nienhuys hanw...@gmail.com wrote:
 Also, nowadays, fontforge supports Python scripting. We could redo all
 the craziness involving generated files and legacy .pe scripts in
 plain Python.

 It would be a nice and meaty project for someone to get their hands
 dirty (gsoc, frogs?)

 Looks appropriate, however i'm not sure if i understood it correctly.
 You mean sth like:
 Rewrite font building system.  Create a robust, scalable and easily
 maintainable system for creating Open Type Fonts from Metafont code
 (merging and dividing fontsets, handling different design sizes) using
 Fontforge's built-in Python scripting support.  Requirements: Python,
 basic font and Metafont skills.
 Han-Wen, could you confirm that i got it right?

You'll also need to understand or learn a fair bit about how font formats work.

Somewhat independently, there is a mf2pt1.pl Perl script that
(shudder) generates .pe script to transform a metapost output to a
Type 1 font.  I guess that could be done more concisely directly as a
python script.

-- 
Han-Wen Nienhuys - han...@xs4all.nl - http://www.xs4all.nl/~hanwen

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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-21 Thread Werner LEMBERG

 Somewhat independently, there is a mf2pt1.pl Perl script that
 (shudder) generates .pe script to transform a metapost output to a
 Type 1 font.  I guess that could be done more concisely directly as
 a python script.

This sounds like a very nice addition.  Maybe generating Python should
be the default, retaining the old .pe approach with as an option.  The
FontForge list is quite helpful in case questions arise.

Scott Pakin, author of mf2pt1, will certainly add any improvements.


Werner

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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-16 Thread Han-Wen Nienhuys
On Wed, Feb 15, 2012 at 1:21 PM, Reinhold Kainhofer
reinh...@kainhofer.com wrote:
 It is much easier to export just the music contents (in scheme, just
 using the output of the iterators), but that solves only part of the
 problem. To be able to provide solutions for composers in the
 professional music publishing world, layout information is essential in
 the MusicXML export.

 Currently, if you are using LilyPond, you are locked in to LilyPond. If
 any composer writes a piece in lilypond, it's practically impossible to
 find a publisher. The publishers usually only accept finished (i.e.
 layout done!) Finale/Sibelius/SCORE files, and probably MusicXML. But if
 the LilyPond users sends them the MusicXML of the finished LilyPond
 file, the publisher will have just the raw data and needs to do all the
 layout themselves again (and proably reject the files)...

 So, just a basic MusicMXL export functionality is not able to fulfill
 all the needs of the users. To be able to compete in the professional
 market, LilyPond also needs to export the positioning (and MusicXML is
 moving more and more into that direction, now also including full audio
 support). MusicXML 1.0 was just about the musical contents, MusicXML 2.0
 added mainly layout information, and MusicXML 3.0 adds lots of audio
 information.

 Also notice that many MusicXML viewer are not able to lay out the
 musical contents themselves, but depend on the positioning information
 in the MusicXML file.

Does that really work? Each software has different fonts; unless
symbol dimensions are standardized, the results will still require a
lot of postprocessing, won't they?

What happens if you take a fully formatted file from Finale and load
it into Sibelius via the musicxml route, and the reverse? Is anyone
able to post the before and after PDFs of such a transition?

-- 
Han-Wen Nienhuys - han...@xs4all.nl - http://www.xs4all.nl/~hanwen

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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-16 Thread catchall

Quoting Han-Wen Nienhuys hanw...@gmail.com:


What happens if you take a fully formatted file from Finale and load
it into Sibelius via the musicxml route, and the reverse? Is anyone
able to post the before and after PDFs of such a transition?


Sibelius will not export in MusicXML format.


This message was sent using IMP, the Internet Messaging Program.




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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-16 Thread pls

Am 16.02.2012 um 13:25 schrieb catch...@philholmes.me.uk:

 Quoting Han-Wen Nienhuys hanw...@gmail.com:
 
 What happens if you take a fully formatted file from Finale and load
 it into Sibelius via the musicxml route, and the reverse? Is anyone
 able to post the before and after PDFs of such a transition?
Sorry, my first mail didn't get through because of the size of the attached 
files.

I can't really say what happens when you interchange a fully formatted MusicXML 
generated by Finale but this is what I did to test the different output:

* engraved a piece with LilyPond
* converted it to MusicXML using PDFtoMusic Pro v1.3.0d
* manually corrected the .xml-file (surprise, surprise: PDFtoMusic Pro's OCR is 
not »perfect« ;-))
* reconverted the file to LilyPond using musicxml2ly
* opened the .xml-file with Finale NotePad 2012, Finale 2011 Demo, Sibelius 6 
Demo, MuseScore v1.1

And here are the results (first page only): 
http://dl.dropbox.com/u/21383326/png.zip


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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-15 Thread Reinhold Kainhofer
On 12/02/2012 12:03, Janek Warchoł wrote:
 Hi all,

 SUMMARY: in order to participate in Google Summer of Code ($$$), we
 need an Ideas List.

 (to learn more about GSoC, go here
 http://www.google-melange.com/gsoc/homepage/google/gsoc2012)

 An Ideas List should be a list of suggested student projects.  This
 list is meant to introduce contributors to the project's needs and to
 provide inspiration to would-be student applicants.

 For an example, go here:
 http://community.kde.org/GSoC/2011/Ideas#Project:_KStars:_Improve_the_observation_planner_and_logging_feature

 Below are my suggestions for our Ideas List.  Please comment on them
 and give your suggested projects.



 General student prerequisites: (basic?) git knowledge

 1) Fixing problems with synchronization of grace notes, together with
 all underlying architecture (issue 34). Requirements: C++, MIDI;
 familiarity with basic music notation recommended

I think for this problem, a basic understanding of the lilypond code is
really necessary. It goes straight into the timing code. Also, it's hard
to judge the real effort required to solve it, so I don't think this is
a very good candidate for a project.

 2) Adding comprehensive MusicXML import and export features, together
 with test suites for it.  Requirements: ? (no idea in which language
 this would be written), MusicXML, basic LilyPond and music notation
 knowledge; familiarity with other scorewriters would be a nice bonus
 (for cross-testing).  The goal would be considered achieved when a
 (previously chosen) not-so-complicated score could be imported from
 MusicXML and exported back with no (unintentional) loss of data.

That is definitely a good project. It is self-contained, and there is
not a success-or-fail outcome, but the possible outcomes vary from
basic support to full support in a continuous range.

 5) Build System Improvement: if we want to ever move away from make,
 this would be a good opportunity.  Issues like thousands of errors and
 warnings during compilation should be removed, all dependancies fixed
 (so that one doesn't need to remove fonts folder to have fonts
 rebuilt).  Requirements: Python, Make and (optionally) another build
 system.

Janitor work sounds very boring to me for a summer job...

Cheers,
Reinhold


-- 
--
Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
 * Financial  Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org


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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-15 Thread Reinhold Kainhofer
On 12/02/2012 15:43, Janek Warchoł wrote:
 W dniu 12 lutego 2012 15:13 użytkownik Graham Percival
 gra...@percival-music.ca napisał:
 umm, you know that we already have musicxml2ly import, right?
 Yes.  I had some issues with it - dynamics got attached to wrong
 notes.  

The problem is that in LilyPond, each dynamic is attached to a note,
while in MusicXML it is attached to a staff and placed via x-offsets.
It's mostly not so trivial to find the proper note to attach the
dynamics to (and even if you do, you'll need to obtain a proper x-offset
to override LilyPond's default placement).

Cheers,
Reinhold

-- 
--
Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
 * Financial  Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org


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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-15 Thread Reinhold Kainhofer
On 12/02/2012 15:13, Graham Percival wrote:
 On Sun, Feb 12, 2012 at 12:03:48PM +0100, Janek Warchoł wrote:
 2) Adding comprehensive MusicXML import and export features, together
 with test suites for it.  Requirements: ? (no idea in which language
 this would be written), MusicXML, basic LilyPond and music notation
 knowledge; familiarity with other scorewriters would be a nice bonus
 (for cross-testing).  The goal would be considered achieved when a
 (previously chosen) not-so-complicated score could be imported from
 MusicXML and exported back with no (unintentional) loss of data.
 umm, you know that we already have musicxml2ly import, right?

 I agree with having this on the ideas list, but it should
 definitely mention musicxml2ly.py and basic familiarity with
 python.  The export would most likely be in scheme, although it's
 not impossible to imagine that somebody might write a relatively
 simple scheme exporter to an intermediate format (or just use
 \displaymusic{} ), then use python to construct the actual
 musicxml file.

That's bound to fail. LilyPond has so much processing going on in the
engravers, that the MusicXML exporter would have to duplicate most of
that. To me it makes much more sense to build on the result of the
iterators and engravers, rather than having to duplicate most of them in
custom code.

Cheers,
Reinhold

-- 
--
Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
 * Financial  Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org


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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-15 Thread Reinhold Kainhofer
On 12/02/2012 12:51, m...@apollinemike.com wrote:
 2) Adding comprehensive MusicXML import and export features, together
  with test suites for it.  Requirements: ? (no idea in which language
  this would be written), MusicXML, basic LilyPond and music notation
  knowledge; familiarity with other scorewriters would be a nice bonus
  (for cross-testing).  The goal would be considered achieved when a
  (previously chosen) not-so-complicated score could be imported from
  MusicXML and exported back with no (unintentional) loss of data.
  
 I worked on this a little bit - it is totally possible and would likely weigh 
 in @ 500-1000 lines of Scheme.  I'd recommend not worrying about placement 
 data and stopping at the engraver level.  This is more or less the same thing 
 as a MIDI plus stuff like articulations, slurs, etc..  Placement data would 
 be doable but hard: it'd be better to just get the info from engravers first.

It is much easier to export just the music contents (in scheme, just
using the output of the iterators), but that solves only part of the
problem. To be able to provide solutions for composers in the
professional music publishing world, layout information is essential in
the MusicXML export.

Currently, if you are using LilyPond, you are locked in to LilyPond. If
any composer writes a piece in lilypond, it's practically impossible to
find a publisher. The publishers usually only accept finished (i.e.
layout done!) Finale/Sibelius/SCORE files, and probably MusicXML. But if
the LilyPond users sends them the MusicXML of the finished LilyPond
file, the publisher will have just the raw data and needs to do all the
layout themselves again (and proably reject the files)...

So, just a basic MusicMXL export functionality is not able to fulfill
all the needs of the users. To be able to compete in the professional
market, LilyPond also needs to export the positioning (and MusicXML is
moving more and more into that direction, now also including full audio
support). MusicXML 1.0 was just about the musical contents, MusicXML 2.0
added mainly layout information, and MusicXML 3.0 adds lots of audio
information.

Also notice that many MusicXML viewer are not able to lay out the
musical contents themselves, but depend on the positioning information
in the MusicXML file.



My suggestion would be to implement MusicXML export with the following
steps:
-) Handle basic musical content export like the MIDI export (i.e. using
dedicated exporter classes, derived from the translator class)
-) Build the XML tree of the basic musical content, add a connection
from music event to XML tag
-) Let all engravers do their jost
-) add ability to link each output object (basically each stencil /
group of stencils) to the music cause (and thus to the XML tag in the
XML tree)
-) Add a XML output backend, which can then add the layout information
for each output object to the XML tags

This would probably be the most generic and extensible solution
(although it is definitely not the easiest road). Basic export could
already be implemented using some translator-derived classes collecting
all interesting events.

Cheers,
Reinhold

-- 
--
Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
 * Financial  Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org


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


Re: google summer of code

2012-02-15 Thread Reinhold Kainhofer
On 11/02/2012 14:00, Graham Percival wrote:
 I believe that one of the major things that GSoC looks are is how
 good is the list of tasks suggested by that project.

Yes, most applicants (who are not yet involved with a project) will
simply look at the list and select one of the suggested projects.
Students, who are already developers for a project, tend to have their
own suggestions.

At least that's my experience a while ago as a SoC mentor for KDE.

 Except that the mentor needs to (IIRC) sign an agreement
 specifying that they *will* continue to do that.  And it needs to
 be a single mentor.

I can't remember any formal agreement. But anyway, Google was not that
strict, and my students didn't need any help (I was co-mentoring with
someone else, but I can't remember any time-consuming problems with the
students)

 It's sounding as though lilypond is a bad fit for GSoC, so perhaps
 we should just drop it.

Don't worry. The lilypond developer community consists of many brilliant
heads, who can and probably will help out, if a mentor is tied up with
something else. No one says that a student must only communicate with
the mentor.

My feeling was also that Google gave the project a loot of freedom to
decide on the accepted projects, how to administer them and how to
decide on the success of the students.

Cheers,
Reinhold

-- 
--
Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
 * Financial  Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org


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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-14 Thread Łukasz Czerwiński
The list can be quite long. We don't have to limit it to 2 projects :)

Łukasz

On 13 February 2012 12:51, Han-Wen Nienhuys hanw...@gmail.com wrote:

 On Sun, Feb 12, 2012 at 9:03 AM, Janek Warchoł janek.lilyp...@gmail.com
 wrote:
  Hi all,
 
  SUMMARY: in order to participate in Google Summer of Code ($$$), we
  need an Ideas List.


 I think the most interesting is probably #1 (grace note
 synchronization) and #2 (musicxml).  Of those, I recommend #2 over #1,
 since the grace note code is small but difficult and tricky to
 understand. It's much more complicated than the note collision code,
 for example.

 --
 Han-Wen Nienhuys - han...@xs4all.nl - http://www.xs4all.nl/~hanwen

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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-13 Thread Han-Wen Nienhuys
On Sun, Feb 12, 2012 at 9:03 AM, Janek Warchoł janek.lilyp...@gmail.com wrote:
 Hi all,

 SUMMARY: in order to participate in Google Summer of Code ($$$), we
 need an Ideas List.


I think the most interesting is probably #1 (grace note
synchronization) and #2 (musicxml).  Of those, I recommend #2 over #1,
since the grace note code is small but difficult and tricky to
understand. It's much more complicated than the note collision code,
for example.

-- 
Han-Wen Nienhuys - han...@xs4all.nl - http://www.xs4all.nl/~hanwen

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


Google Summer of Code - Ideas List, please discuss

2012-02-12 Thread Janek Warchoł
Hi all,

SUMMARY: in order to participate in Google Summer of Code ($$$), we
need an Ideas List.

(to learn more about GSoC, go here
http://www.google-melange.com/gsoc/homepage/google/gsoc2012)

An Ideas List should be a list of suggested student projects.  This
list is meant to introduce contributors to the project's needs and to
provide inspiration to would-be student applicants.

For an example, go here:
http://community.kde.org/GSoC/2011/Ideas#Project:_KStars:_Improve_the_observation_planner_and_logging_feature

Below are my suggestions for our Ideas List.  Please comment on them
and give your suggested projects.



General student prerequisites: (basic?) git knowledge

1) Fixing problems with synchronization of grace notes, together with
all underlying architecture (issue 34). Requirements: C++, MIDI;
familiarity with basic music notation recommended

2) Adding comprehensive MusicXML import and export features, together
with test suites for it.  Requirements: ? (no idea in which language
this would be written), MusicXML, basic LilyPond and music notation
knowledge; familiarity with other scorewriters would be a nice bonus
(for cross-testing).  The goal would be considered achieved when a
(previously chosen) not-so-complicated score could be imported from
MusicXML and exported back with no (unintentional) loss of data.

3) Horizontal Spacing of Objects Attached to Notes, esp. Accidentals:
make spacing depend on tightness of the music.  This is thoroughly
explained in issues 2141, 2142, 2143 ans 2144.  Also, the
infrastructure needed to solve 2142 should be generic and extensible,
so as to cover other types of grobs like dots, arpeggios etc (see
comment 8 on issue 2142 -
http://code.google.com/p/lilypond/issues/detail?id=2142#c8).
Requirements:

4) Currently some glyphs come in two varieties: for use on staff lines
and between them (an example of noteheads with varying hole size is
here 
http://lilypond.googlecode.com/issues/attachment?aid=1839001name=hole+sizes+and+stem+thicknesses.pngtoken=hQOK78AGtkqG3PmB5YSWI0g1I68%3A1329042576520inline=1).
 It would be nice to add such variants to other glyphs, for example
accidentals and flags, together with a generic infrasctucture to
support them.  Also, narrower and shorter variants of some glyphs
would be handy, see
http://code.google.com/p/lilypond/issues/detail?id=2145 and
http://code.google.com/p/lilypond/issues/detail?id=2203. Requirements:
MetaFont, C++(?), good eye for details; basic LilyPond knowledge
recommended(?).

5) Build System Improvement: if we want to ever move away from make,
this would be a good opportunity.  Issues like thousands of errors and
warnings during compilation should be removed, all dependancies fixed
(so that one doesn't need to remove fonts folder to have fonts
rebuilt).  Requirements: Python, Make and (optionally) another build
system.

6) Grand SlurTie Project - quite often LilyPond produces bad-looking
slurs and ties, ties on enharmonic notes are not supported { cis'~
des' }, ties broken by clef or staff change aren't supprted well,
etc. (as for bad shapes, i have a big report on ties halfway done, and
slur examples would need to be collected from mutopia or from users).
Requirements: C++, experience with writing heuristics; basic Scheme,
music notation and LilyPond knowledge recommended.  This project seems
really big to me, unless all of the research and testing would be done
by someone else (bad idea).

7) Grand Beam Project - there are cases of badly-looking beaming, even
in very simple snippets (again, i have a huge report on this matter
halfway-done). Also, beaming should depend on context and neighbor
notes (see http://icking-music-archive.org/lists/sottisier/sottieng.pdf
section 2.2, i can also give some more examples).  Changing beam code
to do this looks like a fairly complicated matter. Requirements: C++,
experience with writing heuristics; basic music notation knowledge
recommended.

I have two more Grand Projects, but they are totally undocumented now.

cheers,
Janek

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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-12 Thread m...@apollinemike.com
All of these look good.

On Feb 12, 2012, at 12:03 PM, Janek Warchoł wrote:

 General student prerequisites: (basic?) git knowledge
 
 1) Fixing problems with synchronization of grace notes, together with
 all underlying architecture (issue 34). Requirements: C++, MIDI;
 familiarity with basic music notation recommended
 

I have no clue how broken this is as the last time I used a grace note in a 
MIDI was 1998, but it seems like it's a reasonable thing to fix.

 2) Adding comprehensive MusicXML import and export features, together
 with test suites for it.  Requirements: ? (no idea in which language
 this would be written), MusicXML, basic LilyPond and music notation
 knowledge; familiarity with other scorewriters would be a nice bonus
 (for cross-testing).  The goal would be considered achieved when a
 (previously chosen) not-so-complicated score could be imported from
 MusicXML and exported back with no (unintentional) loss of data.
 

I worked on this a little bit - it is totally possible and would likely weigh 
in @ 500-1000 lines of Scheme.  I'd recommend not worrying about placement data 
and stopping at the engraver level.  This is more or less the same thing as a 
MIDI plus stuff like articulations, slurs, etc..  Placement data would be 
doable but hard: it'd be better to just get the info from engravers first.

 3) Horizontal Spacing of Objects Attached to Notes, esp. Accidentals:
 make spacing depend on tightness of the music.  This is thoroughly
 explained in issues 2141, 2142, 2143 ans 2144.  Also, the
 infrastructure needed to solve 2142 should be generic and extensible,
 so as to cover other types of grobs like dots, arpeggios etc (see
 comment 8 on issue 2142 -
 http://code.google.com/p/lilypond/issues/detail?id=2142#c8).
 Requirements:

This is a cool idea but wouldn't be a lot of work - in C++ it'd require 
20-50ish lines of code.

 4) Currently some glyphs come in two varieties: for use on staff lines
 and between them (an example of noteheads with varying hole size is
 here 
 http://lilypond.googlecode.com/issues/attachment?aid=1839001name=hole+sizes+and+stem+thicknesses.pngtoken=hQOK78AGtkqG3PmB5YSWI0g1I68%3A1329042576520inline=1).
 It would be nice to add such variants to other glyphs, for example
 accidentals and flags, together with a generic infrasctucture to
 support them.  Also, narrower and shorter variants of some glyphs
 would be handy, see
 http://code.google.com/p/lilypond/issues/detail?id=2145 and
 http://code.google.com/p/lilypond/issues/detail?id=2203. Requirements:
 MetaFont, C++(?), good eye for details; basic LilyPond knowledge
 recommended(?).

This could be combined with the above to be a full project.

 
 5) Build System Improvement: if we want to ever move away from make,
 this would be a good opportunity.  Issues like thousands of errors and
 warnings during compilation should be removed, all dependancies fixed
 (so that one doesn't need to remove fonts folder to have fonts
 rebuilt).  Requirements: Python, Make and (optionally) another build
 system.
 

No clue how this stuff works, but sounds like a good idea.

 6) Grand SlurTie Project - quite often LilyPond produces bad-looking
 slurs and ties, ties on enharmonic notes are not supported { cis'~
 des' }, ties broken by clef or staff change aren't supprted well,
 etc. (as for bad shapes, i have a big report on ties halfway done, and
 slur examples would need to be collected from mutopia or from users).
 Requirements: C++, experience with writing heuristics; basic Scheme,
 music notation and LilyPond knowledge recommended.  This project seems
 really big to me, unless all of the research and testing would be done
 by someone else (bad idea).

This would take the entire summer if you added intelligent non-convex slurs.  
Here I could most certainly help out - it was on my summer-of-lily list but I'd 
gladly delegate to someone else!

 
 7) Grand Beam Project - there are cases of badly-looking beaming, even
 in very simple snippets (again, i have a huge report on this matter
 halfway-done). Also, beaming should depend on context and neighbor
 notes (see http://icking-music-archive.org/lists/sottisier/sottieng.pdf
 section 2.2, i can also give some more examples).  Changing beam code
 to do this looks like a fairly complicated matter. Requirements: C++,
 experience with writing heuristics; basic music notation knowledge
 recommended.
 

Most beam problems that don't involve cross-staff or broken beams are fixable 
with 1-20 lines of code.  If you send me concrete examples, I can likely 
estimate how long it'd take.

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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-12 Thread Janek Warchoł
W dniu 12 lutego 2012 12:51 użytkownik m...@apollinemike.com
m...@apollinemike.com napisał:

 3) Horizontal Spacing of Objects Attached to Notes, esp. Accidentals:
 make spacing depend on tightness of the music.  This is thoroughly
 explained in issues 2141, 2142, 2143 ans 2144.  Also, the
 infrastructure needed to solve 2142 should be generic and extensible,
 so as to cover other types of grobs like dots, arpeggios etc (see
 comment 8 on issue 2142 -
 http://code.google.com/p/lilypond/issues/detail?id=2142#c8).
 Requirements:

 This is a cool idea but wouldn't be a lot of work - in C++ it'd require 
 20-50ish lines of code.

Really?  All these issues, and extending this to all sorts of grobs?  Wow!

 4) Currently some glyphs come in two varieties: for use on staff lines
 and between them (an example of noteheads with varying hole size is
 here 
 http://lilypond.googlecode.com/issues/attachment?aid=1839001name=hole+sizes+and+stem+thicknesses.pngtoken=hQOK78AGtkqG3PmB5YSWI0g1I68%3A1329042576520inline=1).
 It would be nice to add such variants to other glyphs, for example
 accidentals and flags, together with a generic infrasctucture to
 support them.  Also, narrower and shorter variants of some glyphs
 would be handy, see
 http://code.google.com/p/lilypond/issues/detail?id=2145 and
 http://code.google.com/p/lilypond/issues/detail?id=2203. Requirements:
 MetaFont, C++(?), good eye for details; basic LilyPond knowledge
 recommended(?).

 This could be combined with the above to be a full project.

And i would be glad to take it.

 6) Grand SlurTie Project - quite often LilyPond produces bad-looking
 slurs and ties, ties on enharmonic notes are not supported { cis'~
 des' }, ties broken by clef or staff change aren't supprted well,
 etc. (as for bad shapes, i have a big report on ties halfway done, and
 slur examples would need to be collected from mutopia or from users).
 Requirements: C++, experience with writing heuristics; basic Scheme,
 music notation and LilyPond knowledge recommended.  This project seems
 really big to me, unless all of the research and testing would be done
 by someone else (bad idea).

 This would take the entire summer if you added intelligent non-convex slurs.  
 Here I could most certainly help out - it was on my summer-of-lily list but 
 I'd gladly delegate to someone else!

Great!

 7) Grand Beam Project - there are cases of badly-looking beaming, even
 in very simple snippets (again, i have a huge report on this matter
 halfway-done). Also, beaming should depend on context and neighbor
 notes (see http://icking-music-archive.org/lists/sottisier/sottieng.pdf
 section 2.2, i can also give some more examples).  Changing beam code
 to do this looks like a fairly complicated matter. Requirements: C++,
 experience with writing heuristics; basic music notation knowledge
 recommended.

 Most beam problems that don't involve cross-staff or broken beams are fixable 
 with 1-20 lines of code.  If you send me concrete examples, I can likely 
 estimate how long it'd take.

I have 500+ examples that need to be sorted, described and (in some
cases) decided how the proper beaming should look like...  Wanna
Catch'em All? :P
And i meant to include cross-staff beams of course :)

Thanks for review!
Janek

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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-12 Thread Graham Percival
On Sun, Feb 12, 2012 at 12:03:48PM +0100, Janek Warchoł wrote:
 2) Adding comprehensive MusicXML import and export features, together
 with test suites for it.  Requirements: ? (no idea in which language
 this would be written), MusicXML, basic LilyPond and music notation
 knowledge; familiarity with other scorewriters would be a nice bonus
 (for cross-testing).  The goal would be considered achieved when a
 (previously chosen) not-so-complicated score could be imported from
 MusicXML and exported back with no (unintentional) loss of data.

umm, you know that we already have musicxml2ly import, right?

I agree with having this on the ideas list, but it should
definitely mention musicxml2ly.py and basic familiarity with
python.  The export would most likely be in scheme, although it's
not impossible to imagine that somebody might write a relatively
simple scheme exporter to an intermediate format (or just use
\displaymusic{} ), then use python to construct the actual
musicxml file.

 5) Build System Improvement: if we want to ever move away from make,
 this would be a good opportunity.  Issues like thousands of errors and
 warnings during compilation should be removed, all dependancies fixed
 (so that one doesn't need to remove fonts folder to have fonts
 rebuilt).  Requirements: Python, Make and (optionally) another build
 system.

I think this item needs rewriting.  If Phil and Julien want to
highlight exactly what is left, great; otherwise I'd be tempted to
leave it out.

Then again, it's just possible that Phil or Julien might be
interested in being student in GSoC, in which case we should
definitely include this as a project.

 6) Grand SlurTie Project - quite often LilyPond produces bad-looking

Don't call it Grand.  It would be a big chunk of work, sure, but
don't underestimate how much can be done in full-time work.




I'd add another item to the list:
n+1) clean up compiler warnings, static code analysis, and
valgrind warnings.  Automatic code analysis tools (warnings in g++
and clang) and analysis tools like valgrind memory leak detection
and callgrind code profilers provide valuable information about
possible flaws in C++ code.  It would be great if somebody could
clean up those warnings, as this would allow us to automatically
reject any patch which introduced extra warnings.  Once compiler
warnings are fixed, analysis of memory leaks and profiling would
be great.

- Graham

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


Re: Google Summer of Code - Ideas List, please discuss

2012-02-12 Thread Janek Warchoł
W dniu 12 lutego 2012 15:13 użytkownik Graham Percival
gra...@percival-music.ca napisał:
 On Sun, Feb 12, 2012 at 12:03:48PM +0100, Janek Warchoł wrote:
 2) Adding comprehensive MusicXML import and export features, together
 with test suites for it.  Requirements: ? (no idea in which language
 this would be written), MusicXML, basic LilyPond and music notation
 knowledge; familiarity with other scorewriters would be a nice bonus
 (for cross-testing).  The goal would be considered achieved when a
 (previously chosen) not-so-complicated score could be imported from
 MusicXML and exported back with no (unintentional) loss of data.

 umm, you know that we already have musicxml2ly import, right?

Yes.  I had some issues with it - dynamics got attached to wrong
notes.  So i basically meant improve import and add export.

 I agree with having this on the ideas list, but it should
 definitely mention musicxml2ly.py and basic familiarity with
 python.

Sure.

 5) Build System Improvement: if we want to ever move away from make,
 this would be a good opportunity.  Issues like thousands of errors and
 warnings during compilation should be removed, all dependancies fixed
 (so that one doesn't need to remove fonts folder to have fonts
 rebuilt).  Requirements: Python, Make and (optionally) another build
 system.

 I think this item needs rewriting.  If Phil and Julien want to
 highlight exactly what is left, great; otherwise I'd be tempted to
 leave it out.

 Then again, it's just possible that Phil or Julien might be
 interested in being student in GSoC, in which case we should
 definitely include this as a project.

Students can add their own proposals, ideas list is more like a
guideline.  So there will be no problem leaving this out and then
having Phil or Julien formulate their own proposal when they apply.

 I'd add another item to the list:
 n+1) clean up compiler warnings, static code analysis, and
 valgrind warnings.  Automatic code analysis tools (warnings in g++
 and clang) and analysis tools like valgrind memory leak detection
 and callgrind code profilers provide valuable information about
 possible flaws in C++ code.  It would be great if somebody could
 clean up those warnings, as this would allow us to automatically
 reject any patch which introduced extra warnings.  Once compiler
 warnings are fixed, analysis of memory leaks and profiling would
 be great.

that's nice.

thanks,
Janek

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


Re: google summer of code

2012-02-11 Thread David Kastrup
Janek Warchoł janek.lilyp...@gmail.com writes:

 2012/2/9 Graham Percival gra...@percival-music.ca:
 Does anybody feel like submitting a proposal to google summer of
 code?  IIRC students must be registered at a school, so this isn't
 something that would help any senior developer, but it's still
 $5500 for any student that ends up working on lilypond over the
 summer, plus $500 for the organization.

 http://www.google-melange.com/gsoc/homepage/google/gsoc2012

 [some discussion]

 So, are there any reasons not to do it?

I don't think so.

 In particular, do you think we might have problems with availability
 of mentors?

If the student does not expect the mentor to be dragging him all the way
(and LilyPond is not exactly beginner's terrain), I don't see much of a
problem here.  Maybe I am naive.

-- 
David Kastrup


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


Re: google summer of code

2012-02-11 Thread Łukasz Czerwiński
2012/2/10 David Kastrup address@hidden:

* Don't get me wrong: it is probably quite enough work for getting someone*
* started.  I'm just not sure whether it will be easy to sell it off.  The*
* largest part of the work would realistically consist in digging oneself*
* into sparsely documented areas, just in order to be able to come up with*
* a good plan and implementation that would, if you discounted all dead*
* corners, take two days to do.*
**
* It seems a bit like visiting a term of art classes in order to make a*
* convincing sketch at its end.  The real deal is not the sketch, but the*
* ability to do so.  And if all you are going to do is that one sketch,*
* the exercise seems a bit pointless.*
**
* But of course, if you want to turn sketches into a living, having*
* someone pay what it takes to do the first sketch is going to be a _big_*
* help.*


Like Janek, I'm also thinking of participating in GSoC. If one of us works
on that bug during GSoC and moreover while coding also adds some
documentation to the poorly commented code, this will result in far more
than one sketch, because we will stay connected with Lilypond after the
end of GSoC 2012.

If you think that Issue #34 is too little for GSoC, you could add to that
some other similar issues with MIDI or grace notes in a form similar to:
http://community.kde.org/GSoC/2011/Ideas#Project:_KStars:_Improve_the_observation_planner_and_logging_feature

Best wishes,
Łukasz
___
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel


Re: google summer of code

2012-02-11 Thread David Kastrup
Łukasz Czerwiński milimet...@gmail.com writes:

 2012/2/10 David Kastrup address@hidden:
 Don't get me wrong: it is probably quite enough work for getting someone
 started.  I'm just not sure whether it will be easy to sell it off.  The
 largest part of the work would realistically consist in digging oneself
 into sparsely documented areas, just in order to be able to come up with
 a good plan and implementation that would, if you discounted all dead
 corners, take two days to do.

 It seems a bit like visiting a term of art classes in order to make a
 convincing sketch at its end.  The real deal is not the sketch, but the
 ability to do so.  And if all you are going to do is that one sketch,
 the exercise seems a bit pointless.

 But of course, if you want to turn sketches into a living, having
 someone pay what it takes to do the first sketch is going to be a _big_
 help.

 Like Janek, I'm also thinking of participating in GSoC. If one of us
 works on that bug during GSoC and moreover while coding also adds some
 documentation to the poorly commented code, this will result in far
 more than one sketch, because we will stay connected with Lilypond
 after the end of GSoC 2012.

 If you think that Issue #34 is too little for GSoC, you could add to
 that some other similar issues with MIDI or grace notes in a form
 similar
 to: http://community.kde.org/GSoC/2011/Ideas#Project:_KStars:_Improve_the_
 observation_planner_and_logging_feature

I was just thinking of a story I wanted to share in this context.  In my
high school days, I was in some sort of school band.  I played
electrical guitar, another one (with a classical guitar education I
believe) bass, I somehow managed to get the son of a resident music
school director to play drums, and we had a flutist who had just changed
from recorder to regular flute and was rather fond of experimenting
around.

Not much came off that, but the flutist kept the first real piece we
had been doing in his repertoire for quite a while.

Now fast forward a dozen years, and the younger brother of the flutist,
the unmusical brother, calls me.  The flutist is getting married, and
the younger brother has the idea that at his wedding, he'll play that
old first piece on the flute.  It is my job to write down the notes (it
would be nice to put in some LilyPond angle in here, but in truth I just
wrote them by hand on notepaper) and to play the guitar.  I write down
the notes (still know them by heart more or less) and start thinking.

Several phone calls and letters later it turns out that the drummer is
living in Ireland by now, but will be in Aachen because of a friend's
wedding.  So if we organize a drum kit...  The bass player is living in
Munich, but considers the gag worth his trouble to drive a whole day
just to make an entrance, if we are getting him a bass guitar for the
occasion.  I actually still have my own guitar, so I'm the one actually
playing on original material.

Three days before the wedding, the brother makes his first appearance at
my house.  He has taken the notes to a friend playing flute, and has
been working for close to half a year getting the scale he needs into
shape.  Rhythm and interplay are all wrong.  After the first day, he got
the rhythm more or less right.  After the second day, we are playing
this together smoothly and I stop worrying about this becoming a total
catastrophe.  On the third, he starts improvising solos.  It was like
high school all over again.  Unmusical or not, it was obvious which
family he was from.

On the wedding, I made some sort of lame speech, put the flutist (who
can play pretty much everything) at the bass and picked up the guitar,
then we started, and I stopped, saying that is not good.  Take the
drums instead, I think I have a bass player here.  Who actually arrived
just 20 minutes ago, having been stuck in traffic almost all the way, so
we had no real practice together.  The same game with the drums, and we
had the original drummer pick up the drums instead, and gave the flutist
a flute.  His brother was doing the PA stuff all the while (actually,
that was stuff he was good at in his youth as well), and was now holding
the mic for his brother.  And then the same that is not good.  Take the
mic instead, give the flute to your brother.  Of course everyone knew
that the flutist was being led on all the while, but nobody had a clue
just where.  And the brother stood there with a puzzled look at the
flute while the flutist now held the mic, while we others played the
intro.  And then the brother played.

A few days after the wedding, he handed back the borrowed flute and
stopped doing music again.

It was pretty much the single sketch equivalent, but it was something
that a lot of people won't forget.  It was totally silly but worth doing
for some reason, and a number of people put in their smaller (but still
considerable) contributions of letting it happen.

-- 
David Kastrup


Re: google summer of code

2012-02-11 Thread Janek Warchoł
2012/2/11 David Kastrup d...@gnu.org:
 Łukasz Czerwiński milimet...@gmail.com writes:

 2012/2/10 David Kastrup address@hidden:
 Don't get me wrong: it is probably quite enough work for getting someone
 started.  I'm just not sure whether it will be easy to sell it off.  The
 largest part of the work would realistically consist in digging oneself
 into sparsely documented areas, just in order to be able to come up with
 a good plan and implementation that would, if you discounted all dead
 corners, take two days to do.

 It seems a bit like visiting a term of art classes in order to make a
 convincing sketch at its end.  The real deal is not the sketch, but the
 ability to do so.  And if all you are going to do is that one sketch,
 the exercise seems a bit pointless.

 But of course, if you want to turn sketches into a living, having
 someone pay what it takes to do the first sketch is going to be a _big_
 help.

 Like Janek, I'm also thinking of participating in GSoC. If one of us
 works on that bug during GSoC and moreover while coding also adds some
 documentation to the poorly commented code, this will result in far
 more than one sketch, because we will stay connected with Lilypond
 after the end of GSoC 2012.

 If you think that Issue #34 is too little for GSoC, you could add to
 that some other similar issues with MIDI or grace notes in a form
 similar
 to: http://community.kde.org/GSoC/2011/Ideas#Project:_KStars:_Improve_the_
 observation_planner_and_logging_feature

 I was just thinking of a story I wanted to share in this context.  In my
 high school days, I was in some sort of school band.  I played
 electrical guitar, another one (with a classical guitar education I
 believe) bass, I somehow managed to get the son of a resident music
 school director to play drums, and we had a flutist who had just changed
 from recorder to regular flute and was rather fond of experimenting
 around.

 Not much came off that, but the flutist kept the first real piece we
 had been doing in his repertoire for quite a while.

 Now fast forward a dozen years, and the younger brother of the flutist,
 the unmusical brother, calls me.  The flutist is getting married, and
 the younger brother has the idea that at his wedding, he'll play that
 old first piece on the flute.  It is my job to write down the notes (it
 would be nice to put in some LilyPond angle in here, but in truth I just
 wrote them by hand on notepaper) and to play the guitar.  I write down
 the notes (still know them by heart more or less) and start thinking.

 Several phone calls and letters later it turns out that the drummer is
 living in Ireland by now, but will be in Aachen because of a friend's
 wedding.  So if we organize a drum kit...  The bass player is living in
 Munich, but considers the gag worth his trouble to drive a whole day
 just to make an entrance, if we are getting him a bass guitar for the
 occasion.  I actually still have my own guitar, so I'm the one actually
 playing on original material.

 Three days before the wedding, the brother makes his first appearance at
 my house.  He has taken the notes to a friend playing flute, and has
 been working for close to half a year getting the scale he needs into
 shape.  Rhythm and interplay are all wrong.  After the first day, he got
 the rhythm more or less right.  After the second day, we are playing
 this together smoothly and I stop worrying about this becoming a total
 catastrophe.  On the third, he starts improvising solos.  It was like
 high school all over again.  Unmusical or not, it was obvious which
 family he was from.

 On the wedding, I made some sort of lame speech, put the flutist (who
 can play pretty much everything) at the bass and picked up the guitar,
 then we started, and I stopped, saying that is not good.  Take the
 drums instead, I think I have a bass player here.  Who actually arrived
 just 20 minutes ago, having been stuck in traffic almost all the way, so
 we had no real practice together.  The same game with the drums, and we
 had the original drummer pick up the drums instead, and gave the flutist
 a flute.  His brother was doing the PA stuff all the while (actually,
 that was stuff he was good at in his youth as well), and was now holding
 the mic for his brother.  And then the same that is not good.  Take the
 mic instead, give the flute to your brother.  Of course everyone knew
 that the flutist was being led on all the while, but nobody had a clue
 just where.  And the brother stood there with a puzzled look at the
 flute while the flutist now held the mic, while we others played the
 intro.  And then the brother played.

 A few days after the wedding, he handed back the borrowed flute and
 stopped doing music again.

 It was pretty much the single sketch equivalent, but it was something
 that a lot of people won't forget.  It was totally silly but worth doing
 for some reason, and a number of people put in their smaller (but still
 considerable) 

Re: google summer of code

2012-02-11 Thread Janek Warchoł
W dniu 11 lutego 2012 13:33 użytkownik Graham Percival
gra...@percival-music.ca napisał:
 Time+effort required to write a proposal.  Would you be happy
 delaying the 2.16 for, say, a month, while we spend effort writing
 that proposal (which may or may not be accepted) ?  When all's
 said and done, I wouldn't be surprised if it worked out to that
 much effort.

I'll gladly spend some time on preparing the proposal.

 The mentor is expected to spend some amount of time with the
 student.  Maybe it's one hour per week; maybe it's an hour each
 working day.  I'm not certain -- check their FAQ.

They suggest it turns out to be more like 5 hrs/week, although i think
it's about the case when the student is completely new to the project.
We can set prerequisites like C++, git and music (notation) knowledge,
so that we won't have to mentor people about this (takes a lot of
time).
Also, we have a nice CG, it's possible that it'll cut mentoring time
substantially.

W dniu 11 lutego 2012 14:00 użytkownik Graham Percival
gra...@percival-music.ca napisał:
 On Sat, Feb 11, 2012 at 01:43:06PM +0100, David Kastrup wrote:
 It would be rather pointless to recruit people not already
 familiar with LilyPond development.

 But that's the whole point of GSoC.

In the FAQ Google explicitly says that people familiar with the
project can participate.

cheers,
Janek

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


Re: google summer of code

2012-02-11 Thread Graham Percival
On Sat, Feb 11, 2012 at 02:32:31PM +0100, Janek Warchoł wrote:
 W dniu 11 lutego 2012 13:33 użytkownik Graham Percival
 gra...@percival-music.ca napisał:
  Time+effort required to write a proposal.  Would you be happy
  delaying the 2.16 for, say, a month, while we spend effort writing
  that proposal (which may or may not be accepted) ?  When all's
  said and done, I wouldn't be surprised if it worked out to that
  much effort.
 
 I'll gladly spend some time on preparing the proposal.

Ok, maybe spend an hour or two and see what you come up with.

 We can set prerequisites like C++, git and music (notation) knowledge,
 so that we won't have to mentor people about this (takes a lot of
 time).

Agreed about git.  Not certain about music notation; there's a lot
of good work that somebody can do even if they have difficulty
finding FACE on a treble cleff.  OTOH, it might be nice
advertising for us -- it would make lilypond stand out in the
list of project requirements.

I'm very uncertain about listing C++.  There's a ton of stuff that
people can do with scheme only.  If anything, we might want to
list scheme... but then again, there's a lot of things that can be
done without scheme.

  But that's the whole point of GSoC.
 
 In the FAQ Google explicitly says that people familiar with the
 project can participate.

ok, but the application definitely shouldn't say that previous
experience with lilypond is required.

- Graham

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


Re: google summer of code

2012-02-10 Thread Phil Holmes
- Original Message - 
From: David Kastrup d...@gnu.org

To: lilypond-devel@gnu.org
Sent: Friday, February 10, 2012 5:44 AM
Subject: Re: google summer of code



Janek Warchoł janek.lilyp...@gmail.com writes:


2012/2/9 Graham Percival gra...@percival-music.ca:


Probably something like GSoC for grace timing would be overkill.
OTOH, if a student starts from a blank slate and mentoring is not
doing half the job already on its own, there might be less time left
after a _good_ solution has been implemented than one might think.


Sorry, i don't understand.  Do you think that grace timing is too
small or too big for GSoC?


It _sounds_ too small, but may turn out to be quite a number.
Basically, it requires a solid understanding of iterators, analyzing the
music events occuring in grace situations, designing iteration orders
useful for typesetting and MIDI replay, and making everything work with
them.  Iterators are not really the best documented corner of LilyPond.

--
David Kastrup



That might be another good avenue for a GSoC proposal - improving code 
documentation, which would therefore make it easier to get new contributors 
on board.


--
Phil Holmes



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


Re: google summer of code

2012-02-10 Thread David Kastrup
Phil Holmes m...@philholmes.net writes:

 - Original Message - 
 From: David Kastrup d...@gnu.org
 To: lilypond-devel@gnu.org
 Sent: Friday, February 10, 2012 5:44 AM
 Subject: Re: google summer of code


 Janek Warchoł janek.lilyp...@gmail.com writes:

 2012/2/9 Graham Percival gra...@percival-music.ca:

 Probably something like GSoC for grace timing would be overkill.
 OTOH, if a student starts from a blank slate and mentoring is not
 doing half the job already on its own, there might be less time left
 after a _good_ solution has been implemented than one might think.

 Sorry, i don't understand.  Do you think that grace timing is too
 small or too big for GSoC?

 It _sounds_ too small, but may turn out to be quite a number.
 Basically, it requires a solid understanding of iterators, analyzing the
 music events occuring in grace situations, designing iteration orders
 useful for typesetting and MIDI replay, and making everything work with
 them.  Iterators are not really the best documented corner of LilyPond.

 That might be another good avenue for a GSoC proposal - improving code
 documentation, which would therefore make it easier to get new
 contributors on board.

Well, code janitor training must be one of the least sexiest projects
imaginable.  Of course, companies will be battering down your door for
such a rare and ass-saving skill set.  The NIH-annihilator.

-- 
David Kastrup

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


  1   2   >