Hi Tsz Kiu Pang (which of these names would you like to be called, or
should I use all of them like I did?)
Am 21.03.19 um 06:58 schrieb Tsz Kiu Pang:
Hi all,
I am writing to express my interest in working on LilyPond as part of GNU
in the Google Summer of Code.
I was just looking at the project suggestions, and am interested in working
on contemporary notations.
This would be great. While all of our GSoC suggestions would be very
welcome additions this one would maybe provide the most "visible" and
spectacular addition, opening up LilyPond for a whole range of
applications and therefore potential users.
As a composer myself, I do find using Lilypond a
very steep learning curve, especially for contemporary music, where a lot
of workarounds are needed.
That's true, and one major issue with that (which a package would
address) is that so many things have to be done from scratch over and
over again, for each new project, or at least by each new user dealing
with them.
I hope I can use this opportunity to create an
infrastructure for contemporary notations that will make composers' life
easier. I am also interested in creating a package that covers the style of
composers such as Iannis Xenakis or Elliott Carter.
A specific composer's package would be a secondary package built on top
of a general package, and I think it would be great to aim at starting
one for one specific composer (the one I had always thought of as a
basis was Lachenmann, but Xenakis or Carter are equally valid choices),
although it is not a requirement to achieve /comprehensive/ coverage of
a composer.
I am just wondering if there are any suggestions in applying for GSoC and
writing a project proposal?
Basically you'd have to discuss a proposal on this list or in a somewhat
more private circle (although generally as much as possible
communication should be in public space) and find a way to show us your
qualification, potential and way of communication until April 9. A bit
more on that below.
As for qualifications, I did my undergraduate in Music, majored in
Composition during my honours year, so I have good knowledge in
contemporary notation techniques and the capacity to research further if
required. I am currently a Master student in electrical engineering at the
University of Melbourne. I have only started programming last year but now
I am a tutor in programming/computing in C at the University. Though
scheme/guile is not my strong suit yet (I know the basic syntax and list
operations, but still struggling to count the parentheses), I am willing to
learn more and I believe I will have a good command in scheme/guile in a
few weeks.
The Scheme/Guile part has three steps for you to consider:
* "Counting parentheses" (i.e. the language basics)
Depending on how far you've got https://scheme-book.ursliska.de
might be a useful resource for you. It goes only that far but it
specifically addresses a) the Scheme language from a dedicated
LilyPond perspective and b) users counting parentheses (i.e. giving
a pretty slow-paced introduction)
* Understanding how Scheme is hooked into LilyPond (on a general level)
* (Learning how openLilyLib ist structured)
* Learning how to retrieve the relevant information about score
elements and how to modify them in appropriate places.
The last one is probably the hardest one since it is pretty opaque and
terribly documented. But it's the crucial one for a contemporary
notation package - and it's the one where such a package will make it
hugely easier for people to work with non-standard notation.
Just last week I've decided to start with a new openLilyLib package:
https://github.com/openlilylib/grob-tools. The repository on Github is
empty, and right now I only have one single uncommited function locally,
but the idea is to create building blocks for recurring tasks like
getting the exact position of objects relative to the staff or to
another object, enumerating all NoteColumns included in a slur or
similar things. This will be very much relevant for a contemporary
notation package. One could either say that you should put much of your
results in that package, or we can try to make development of that
package a community effort so that would take work from you, giving you
the freedom to go further with the specific challenges.
###
What you should do now is:
* [of course dive more into Scheme]
* get an understanding of openLilyLib with
a) https://github.com/openlilylib/oll-core/wiki
b) the code in that repository
c) looking at how other openLilyLib packages are built within that
infrastructure
* Form an idea how a contemporary notation package could be approached
and discuss that with us
* Find some small things you could do to openLilyLib package(s) to a)
practice and b) give us an opportunity to assess your work. If we
have some idea about your current familiarity with the matter we can
find some suggestions for that.
HTH
Urs
Kind regards,
Tsz-Kiu
_______________________________________________
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