Re: Fwd: Interested in GNU Lilypond Google Summer of Code Beaming Fixing Project Idea
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
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
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
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
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
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
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
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
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!
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
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
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
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
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
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)
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)
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)
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
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
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
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
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)
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
- 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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/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
Ł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/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
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
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
- 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
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