1 @c -*- coding: utf-8; mode: texinfo; -*-
3 Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
5 When revising a translation, copy the HEAD committish of the
6 version that you are working on. For details, see the Contributors'
7 Guide, node Updating translation committishes..
10 @include included/acknowledge.itexi
11 @include included/authors.itexi
12 @include included/helpus.itexi
17 @divClass{link-headings}
19 @divClass{column-center-top}
20 @subheading Interacting with the community
25 @ref{Contact}: get help, discuss, and keep in touch!
28 @ref{Tiny examples}: these are @emph{highly} recommended when
32 @ref{Bug reports}: something went wrong.
37 @divClass{column-left-bottom}
38 @subheading Making LilyPond better
43 @ref{Help us}: your assistance is requested.
46 @ref{Sponsoring}: financial contributions.
49 @ref{Development}: for contributors and testers.
52 @ref{Google Summer of Code}: ideas for Google Summer of Code (GSoC).
55 @ref{Authors}: the people who made LilyPond what it is today.
58 @ref{Acknowledgements}: projects and institutions that support LilyPond
63 @divClass{column-right-bottom}
64 @subheading Miscellaneous
69 @ref{Publications}: what we wrote, and have had written about us.
72 @ref{Old news}: an archive.
75 @ref{Attic}: announcements and changelogs from past versions.
90 * Google Summer of Code::
101 @unnumberedsec Contact
104 @divClass{column-left-bottom}
105 @subheading User Discussions and Help
107 @subsubheading User mailing list: @code{lilypond-user@@gnu.org}
109 This mailing list is the main place for users to discuss and help
113 @uref{http://lists.gnu.org/mailman/listinfo/lilypond-user,
114 lilypond-user subscribe and info}
116 @uref{http://lists.gnu.org/archive/html/lilypond-user/,
118 @uref{http://www.mail-archive.com/lilypond-user@@gnu.org/,
120 @uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.general,
123 @uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.general,
124 send to lilypond-user with gmane}
127 @warning{When asking questions, please use @ref{Tiny examples}!}
129 @subsubheading LilyPond Snippet Repository
131 The LilyPond Snippet Repository is a large collection of
132 user-submitted examples, which can freely be copied and used
133 in your own works. See what other people have written,
137 @uref{http://lsr.di.unimi.it}
140 Particularly instructive examples from LSR are included in our
141 official documentation, in @ref{Snippets}.
146 Some level of support is provided on our IRC channel,
149 @uref{irc://irc.freenode.net/lilypond, #lilypond@@irc.freenode.net}
152 This channel has no public archive, so any question that may
153 be useful for others would better be posted to one of the mailing lists.
156 <form action="http://webchat.freenode.net"
160 <input name="nick" type="text" size="15" value="">
162 <input name="channels" type="hidden" value="lilypond">
163 <input type="submit" value="Join #lilypond IRC Chat">
166 <script language="JavaScript" type="text/javascript">
167 var username = "web";
168 var lang = window.navigator.userLanguage ? window.navigator.userLanguage
169 : window.navigator.language;
170 username += '-' + lang.substr(0, 2);
171 username += '-' + navigator.appName.substr(0, 2);
172 username += navigator.appCodeName.replace (" ", "").substr(0, 2);
173 username += navigator.platform.replace (" ", "").replace("nux", "").replace("n32", "");
174 document.forms["f_lily_irc"].nick.value = username;
178 @subsubheading Other languages
181 @uref{http://lists.gnu.org/mailman/listinfo/lilypond-user-fr,
184 @uref{http://www.lilypondforum.de/,
187 @uref{http://groups.google.com/group/lilypond-brasil,
190 @uref{http://lists.gnu.org/mailman/listinfo/lilypond-es,
191 Spanish mailing list}
196 @divClass{column-right-top}
197 @subheading The LilyPond Blog
199 Read our community blog, @q{Scores of Beauty}:
202 @uref{http://lilypondblog.org}
205 @subsubheading Releases mailing list: @code{info-lilypond@@gnu.org}
207 This mailing list is a low-volume, read-only list which receives
208 notifications of new releases.
211 @uref{http://lists.gnu.org/mailman/listinfo/info-lilypond,
212 info-lilypond subscribe and info}
214 @uref{http://lists.gnu.org/archive/html/info-lilypond/,
216 @uref{http://www.mail-archive.com/info-lilypond@@gnu.org/,
218 @uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.announce,
221 @c don't include gmane posting here. -gp
228 @divClass{column-right-bottom}
229 @subheading Developer Discussions and Translations
231 @subsubheading Developer mailing list: @code{lilypond-devel@@gnu.org}
233 Developer discussions take place on this list. Patches can also be sent
237 @uref{http://lists.gnu.org/mailman/listinfo/lilypond-devel,
238 lilypond-devel subscribe and info}
240 @uref{http://lists.gnu.org/archive/html/lilypond-devel/,
242 @uref{http://www.mail-archive.com/lilypond-devel@@gnu.org/,
244 @uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.devel,
247 @uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.devel,
248 send to lilypond-devel with gmane}
252 @subsubheading Bug mailing list: @code{bug-lilypond@@gnu.org}
254 Bug reports and discussions should be sent here. Do not send patches
258 @uref{http://lists.gnu.org/mailman/listinfo/bug-lilypond,
259 bug-lilypond subscribe and info}
261 @uref{http://lists.gnu.org/archive/html/bug-lilypond/,
263 @uref{http://www.mail-archive.com/bug-lilypond@@gnu.org/,
265 @uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.bugs,
268 @c don't include gmane posting here. -gp
271 @warning{Before sending a message to the bug list, please read our
272 guidelines for @ref{Bug reports}.}
275 @subsubheading Translation mailing list: @code{translations@@lilynet.org}
277 All discussions about translating LilyPond manuals should be sent here.
278 Do not send patches to this list.
281 @uref{http://lilypond-translations.3384276.n2.nabble.com/,
282 Translation mailing list archive}
289 @unnumberedsec Tiny examples
291 @divClass{column-center-top}
292 @subheading What are @qq{Tiny examples}?
294 A tiny example is an example from which @strong{nothing} can be removed.
297 @divClass{column-left-bottom}
298 @subheading Why create them?
300 @divClass{keep-bullets}
304 The simpler the example is, the quicker potential helpers can
305 understand it and help you.
308 A tiny example demonstrates that you have put effort towards
309 solving the problem yourself. When people send huge portions of
310 input, it looks like they don't care if we help them or not.
313 Creating a tiny example helps you to understand what is
314 happening. Many false problem reports can be avoided by
315 attempting to create a tiny example; if you cannot replicate a
316 @qq{bug} in a tiny example, then the problem was probably an
317 insufficient understanding of LilyPond, not an actual bug!
325 @divClass{column-right-bottom}
326 @subheading How to create them?
328 @divClass{keep-bullets}
332 Include the @code{\version} number.
335 Make it small! Examples about spacing or page layout might
336 require many bars of music, but most issues can be reproduced
337 using less than a single measure.
340 When trying to create an example, try commenting out @w{(@code{%}
341 or @code{%@{ @dots{} %@}})} sections of your file. If you
342 can comment something while still demonstrating the main idea,
343 then remove the commented-material.
346 Avoid using complicated notes, keys or time signatures, unless
347 the bug is about the behavior of those items.
350 Do not use @code{\override} or @code{\set} commands unless the bug
351 is about those specific commands.
354 Optionally, attach an image showing the desired graphical output.
361 @divClass{column-center-bottom}
362 @subheading How tiny should they be?
364 Is the code below a minimal example?
368 \include "english.ly"
373 \numericTimeSignature
375 <cs' d'' b''>16 <cs' d'' b''>8.
376 %% Here: the tie on the D's looks funny
377 %% Too tall? Left-hand endpoint is not aligned with the B tie?
379 <cs' d'' b''>8 [ <b d'' a''> ]
384 Well, it is not very big, but a truly minimal example is here:
389 % middle tie looks funny here:
390 <c' d'' b''>8. ~ <c' d'' b''>8
394 Very few tiny examples exceed 10 lines of code -
395 quite often 4 lines are enough to demonstrate the problem!
401 @unnumberedsec Bug reports
404 @divClass{heading-center}
405 If you have input that results in a crash or wrong output,
409 @divClass{column-center-top}
410 @subheading Step 1: Known bugs
412 We may already know about this bug. Check here:
415 @uref{http://sourceforge.net/p/testlilyissues/issues/}
418 @warning{Please @strong{DO NOT} add bug reports directly to the
419 bug tracker. Once an issue has been added to the tracker, feel
420 free to add more information to that report.}
425 @divClass{column-left-bottom}
426 @subheading Step 2: Creating a bug report
428 If you have discovered a bug which is not listed,
429 please help us by creating a bug report.
431 @warning{We only accept reports in the form of
432 @ref{Tiny examples}. We have very limited resources,
433 so any non-minimal example will be rejected. Almost
434 every bug can be demonstrated in four notes or less!}
436 Here is an example of a good bug report:
439 % Accidentals should be printed for only
440 % the first note in a tie, but this version
441 % prints flats on both notes.
452 @divClass{column-right-bottom}
453 @subheading Step 3: Sending a bug report
455 Once you have verified that the issue is not already known and
456 created a bug report, please send it to us!
458 @divClass{keep-bullets}
462 If you are subscribed to the @uref{mailto:bug-lilypond@@gnu.org,
463 bug-lilypond@@gnu.org} mailing list, send an email like normal.
466 If you are not subscribed, you can still post a bug report with
468 @uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs,
469 gmane lilypond.bugs web interface}.
471 However, there is a strict @qq{no top-posting} check on the gmane
472 interface, which is often incorrectly triggered by lilypond files.
473 To avoid this, please add:
476 > I'm not top posting.
480 (you @emph{must} include the @code{>} ) to the top of your bug
487 @divClass{column-center-bottom}
488 @subheading Step 4: Wait for a response
490 Once your bug report has been sent to the list, our Bug Squad will
491 examine it; they may ask you for more information. You will be notified
492 when the report will be added to the bug tracker. Please allow up to 4
493 days, as we have a limited number of volunteers for this task.
495 Once a bug has been added to the tracker, you can comment it to add
496 more information about it.
497 You may also mark the bug so that you automatically receive emails when
498 any activity on the bug occurs. This requires you have a google account
502 @divClass{column-center-bottom}
503 @subheading Optional help: show the desired behavior
505 Once an issue has been added to the tracker, it can be very
506 helpful if we can see the desired output. Feel free to add input
507 code and/or images (possibly created with other tools) which
508 demonstrate what you think it should look like!
515 @unnumberedsec Help us
517 @divClass{column-center-top}
522 @divClass{column-left-top}
523 @divClass{keep-bullets}
529 @divClass{column-right-top}
536 @unnumberedsec Sponsoring
538 @divClass{keep-bullets}
539 @divClass{column-left-top}
545 @item some users have paid for new features
546 @item some developers have added new features for hire
549 The LilyPond project does not organize such efforts; we neither
550 endorse nor discourage such agreements. Any contracts between
551 private individuals is the business of those individuals, not
556 @divClass{column-right-top}
557 @subheading Guidelines
559 Any user wanting to offer money in exchange for work should bear
560 in mind the following points:
564 LilyPond developers may advertise their services on the lilypond
565 email lists from time to time.
568 Any agreements between private individuals should include the
569 normal precautions when conducting business: who pays, how much do
570 they pay, with what method of payment, and upon what set of
571 conditions. We suggest that any ambiguity or uncertainty in these
572 questions should be resolved before any work begins.
578 @divClass{column-center-bottom}
579 @subheading Interested developers
581 Here is a list of people who have expressed an interest in
582 bounties. Note that the amount of work done by individuals varies
583 quite a bit throughout the years. We do not guarantee that this
584 list is up-to-date, nor do we guarantee that the people listed
585 here have any ability. The only criteria is "XYZ asked to be
586 listed on this page".
588 Looking at the git history is a good way to determine who the most
589 active and experienced developers are. Statistics up to version
592 @multitable @columnfractions .3 .3 .3
593 @item @uref{http://lilypond.org/~graham/gitstats-all/, overall history}
594 @tab @uref{http://lilypond.org/~graham/gitstats-1year/, past year}
595 @tab @uref{http://lilypond.org/~graham/gitstats-3months/, past three months}
598 Interested developers:
600 @item @email{dak@@gnu.org, David Kastrup}
601 Donations are required to let me continue my current fulltime work on
602 LilyPond. I focus on user and programmer interface design, coherence,
603 implementation, simplification, documentation, and debugging.
606 @c @item @email{name@@adress.domain, Name}
607 @c area of interest (256 chars max)
616 @unnumberedsec Development
618 @divClass{heading-center}
620 @heading Development for LilyPond @version
623 @heading Development for LilyPond @versionDevel
627 @c we normally don't allow named references, but in this case
628 @c it's good to emphasize the "stable" part. -gp
629 @warning{These are @emph{unstable development} versions. If you
630 have the slightest doubt about how to use or install LilyPond, we
631 urge you to use the @ref{Download, stable Download}, and read the
632 @ref{Manuals, stable Manuals}.}
636 @divClass{column-center-top}
637 @subheading Release numbers
639 There are two sets of releases for LilyPond: stable releases, and
640 unstable development releases. Stable versions have an
641 even-numbered @q{minor} version number (e.g., 2.8, 2.10, 2.12).
642 Development versions have an odd-numbered @q{minor} version number
643 (e.g., 2.7, 2.9, 2.11).
648 @divClass{column-left-top}
651 Instructions for git and compiling are in the Contributor's Guide.
654 @uref{http://git.sv.gnu.org/gitweb/?p=lilypond.git, lilypond git repository}
657 Documentation writers and testers will generally want to download
662 @downloadDevelLinuxNormal
664 @downloadDevelLinuxBig
666 @downloadDevelLinuxPPC
668 @downloadDevelFreeBSDNormal
670 @downloadDevelFreeBSDBig
672 @downloadDevelDarwinNormal
674 @downloadDevelDarwinPPC
676 @downloadDevelWindows
685 @divClass{column-right-top}
686 @subheading Contributor's Guide
688 LilyPond development is a fairly complicated matter. In order to
689 help new contributors, and to keep the whole system (mostly)
690 stable, we have written a manual for development tasks.
692 @docLinksBare{Contributor's Guide, contributor,
693 @rcontribnamed{Top,Contributor's Guide},
694 @manualDevelContributorSplit,
695 @manualDevelContributorBig, 500 kB,
696 @manualDevelContributorPdf, 2.8 MB}
701 @divClass{column-center-top}
702 @subheading Regression tests
704 @divClass{keep-bullets}
710 @uref{../../input/regression/collated-files.html, Regression tests}:
711 This release's regtests.
712 (@uref{../../input/regression/collated-files.pdf, pdf version})
715 @uref{../../input/regression/musicxml/collated-files.html, MusicXML tests}:
716 This release's musicXML tests.
717 (@uref{../../input/regression/musicxml/collated-files.pdf, pdf version})
720 @uref{../../input/regression/abc2ly/collated-files.html, abc2ly tests}:
721 This release's abc2ly tests.
722 (@uref{../../input/regression/abc2ly/collated-files.pdf, pdf version})
725 @uref{../../input/regression/lilypond-book/collated-files.html, lilypond-book tests}:
726 This release's lilypond-book tests.
727 (@uref{../../input/regression/lilypond-book/collated-files.pdf, pdf version})
733 @subsubheading Development version
736 @item @regtestDevel (@regtestDevelPdf{})
738 @item @regtestDevelXml (@regtestDevelXmlPdf{})
740 @item @regtestDevelAbc (@regtestDevelAbcPdf{})
742 @item @regtestDevelLilypondBook (@regtestDevelLilypondBookPdf{})
745 @subsubheading Stable version
748 @item @regtestStable (@regtestStablePdf{})
750 @item @regtestStableXml (@regtestStableXmlPdf{})
752 @item @regtestStableAbc (@regtestStableAbcPdf{})
754 @item @regtestStableLilypondBook (@regtestStableLilypondBookPdf{})
759 @subsubheading All versions
762 @item @uref{http://lilypond.org/test, Comparisons between regression tests}
764 @item @uref{http://lilypond.org/downloads/binaries/test-output/,
765 Archive of all regression tests}
774 @divClass{column-center-bottom}
778 @warning{These manuals are for LilyPond @version{}; the latest
779 manuals can be found at @url{http://lilypond.org}}
782 @divClass{normal-table}
783 @multitable @columnfractions .3 .3 .3
784 @headitem Introduction
787 @docLinkSplit{Learning,learning,@manualDevelLearningSplit}
789 @docLinkBig{Learning,learning,@manualDevelLearningBig}
791 @docLinkPdf{Learning,learning,@manualDevelLearningPdf}
794 @docLinkSplit{Glossary,music-glossary,@manualDevelGlossarySplit}
796 @docLinkBig{Glossary,music-glossary,@manualDevelGlossaryBig}
798 @docLinkPdf{Glossary,music-glossary,@manualDevelGlossaryPdf}
801 @docLinkSplit{Essay,essay,@manualDevelEssaySplit}
803 @docLinkBig{Essay,essay,@manualDevelEssayBig}
805 @docLinkPdf{Essay,essay,@manualDevelEssayPdf}
808 @multitable @columnfractions .3 .3 .3
812 @docLinkSplit{Notation,notation,@manualDevelNotationSplit}
814 @docLinkBig{Notation,notation,@manualDevelNotationBig}
816 @docLinkPdf{Notation,notation,@manualDevelNotationPdf}
819 @docLinkSplit{Usage,usage,@manualDevelUsageSplit}
821 @docLinkBig{Usage,usage,@manualDevelUsageBig}
823 @docLinkPdf{Usage,usage,@manualDevelUsagePdf}
826 @docLinkSplit{Snippets,snippets,@manualDevelSnippetsSplit}
828 @docLinkBig{Snippets,snippets,@manualDevelSnippetsBig}
830 @docLinkPdf{Snippets,snippets,@manualDevelSnippetsPdf}
833 @multitable @columnfractions .3 .3 .3
837 @docLinkSplit{Web,web,@manualDevelWebSplit}
839 @docLinkBig{Web,web,@manualDevelWebBig}
841 @docLinkPdf{Web,web,@manualDevelWebPdf}
844 @docLinkSplit{Changes,changes,@manualDevelChangesSplit}
846 @docLinkBig{Changes,changes,@manualDevelChangesBig}
848 @docLinkPdf{Changes,changes,@manualDevelChangesPdf}
851 @docLinkSplit{Extending,extending,@manualDevelExtendingSplit}
853 @docLinkBig{Extending,extending,@manualDevelExtendingBig}
855 @docLinkPdf{Extending,extending,@manualDevelExtendingPdf}
858 @docLinkSplit{Internals,internals,@manualDevelInternalsSplit}
860 @docLinkBig{Internals,internals,@manualDevelInternalsBig}
862 @docLinkPdf{Internals,internals,@manualDevelInternalsPdf}
866 @multitable @columnfractions .3
867 @headitem Downloadable
881 @node Google Summer of Code
882 @unnumberedsec Google Summer of Code
884 @divClass{column-center-top}
885 @subheading What is Google Summer of Code?
887 @uref{https://developers.google.com/open-source/gsoc/, GSoC} is a global
888 program that offers students stipends to write code for free software
889 and open source projects during the summer. It is an excellent
890 opportunity for students to gain experience with real-world software
891 development and make a contribution that benefits everyone. It brings
892 new contributors to LilyPond and enables students who are already
893 involved to become more involved. LilyPond participates in GSoC as part
894 of the @uref{http://www.gnu.org/, GNU project}.
896 We have had GSoC participants in 2012 and 2015 and encourage students to
897 apply for future summers.
899 If you have questions or would like to apply, send us an email on our
900 developer mailing list (see @ref{Contact}).
904 @divClass{column-center-middle-color2}
905 @subheading Project Ideas List
907 Below is a list of suggested projects for GSoC or for anyone who is
908 interested in helping to improve LilyPond. (Last updated: February 2016)
910 Mentor availability varies from project to project and from year to year.
911 Send us an email on our developer mailing list (see @ref{Contact}), and
912 we will help you find a mentor for a project that fits your interests
915 If you have ideas for a GSoC project that is not listed below you can
916 send us an email as well. There are a number of areas where LilyPond
917 could be improved, and our development team is always willing to help
918 those who would like to tackle a project like those listed below.
920 A full list of all the current open issues can be found
921 @uref{http://sourceforge.net/p/testlilyissues/issues/, here}.
925 @divClass{column-center-middle-color3}
926 @subheading Improve internal chord structure
928 The internal representation of LilyPond chords is not powerful enough
929 to capture the nomenclature of jazz chords. Currently the chord has
930 a root, a bass and an inversion. It would be nice to be able to handle
931 stacked or polychords, minor/major, etc. In order to do this, an
932 internal representation with the ability to capture the essence of
933 complex chords must be developed. As a bonus, once the internal
934 representation is developed, the output formatting of chord names can
937 @strong{Difficulty:} Easy/medium
938 @strong{Requirements:} Scheme (Guile), but the level necessary can be
940 @strong{Recommended:} Chord theory and naming
941 @strong{Mentor:} Carl Sorensen
945 @divClass{column-center-middle-color3}
946 @subheading ScholarLY
948 ScholarLY is a library in
949 @uref{https://openlilylib.org, openLilyLib} that provides functionality
950 for annotating scores, making it possible to manage scholarly workflows
951 completely in the context of the score document. So far it is possible
952 to enter annotations of different types, produce clickable messages in
953 the console output and export to text and LaTeX files.
955 There are numerous feature requests to turn this library into an
956 even more powerful and comprehensive tool. Some examples: Inserting
957 music examples, producing footnotes, automatically applying styles
958 to the annotated item (e.g. dash a slur, parenthesize an accidental),
959 creating reports with point-and-click entries. For a full description
960 of this project suggestion please visit
961 @uref{https://github.com/openlilylib/scholarly/wiki/GSoC, this Wiki page}.
963 @strong{Difficulty:} medium
964 @strong{Requirements:} Scheme, possibly LaTeX, (optionally Python)
965 @strong{Recommended:} Experience with or interest in scholarly
966 edition and collaborative workflows.
967 @strong{Mentor:} Urs Liska
971 @divClass{column-center-middle-color3}
972 @subheading Adding variants of font glyphs
974 @divClass{keep-bullets}
978 Adding @q{on} and @q{between} staff-line variants.
981 Shorter and narrower variants of some glyphs for example, accidentals.
982 Another, more specific example could be an ancient notation breve
983 notehead coming in two variants one with a small or big @q{hole} within
989 @strong{Difficulty:} easy
990 @strong{Requirements:} MetaFont, C++, good eye for details
991 @strong{Recommended knowledge:} basic LilyPond knowledge
992 @strong{Mentor:} Werner Lemberg
996 @divClass{column-center-middle-color3}
997 @subheading Grace notes
999 Fix problems with synchronization of grace notes. Grace notes can
1000 interfere with LilyPond's timing and cause odd effects, especially when
1001 multiple staffs are used where some have grace notes and others don't.
1002 This is one of the longest-standing and one of the more embarrassing
1003 @uref{https://sourceforge.net/p/testlilyissues/issues/34/,bugs} in
1006 @strong{Difficulty:} medium
1007 @strong{Requirements:} C++, MIDI
1008 @strong{Recommended:} familiarity with LilyPond internals
1009 @strong{Potential Mentors:} Mike Solomon (not available for GSoC 2016),
1014 @divClass{column-center-middle-color3}
1015 @subheading Improve default beam positioning
1017 For regular, cross-staff, broken and kneed beams. Beaming should depend
1018 on context and neighbor notes (see section 2.2 of
1019 @uref{http://imslp.org/wiki/Repository_of_Music-Notation_Mistakes_%28Coulon%2C_Jean-Pierre%29,
1020 this book}). If possible also reduce beaming-computation time.
1022 @strong{Difficulty:} medium
1023 @strong{Requirements:} C++, experience with writing heuristics
1024 @strong{Recommended knowledge:} aesthetic sense
1025 @strong{Potential Mentors:} Mike Solomon (not available for GSoC 2016),
1030 @divClass{column-center-middle-color3}
1031 @subheading Allow spanners to cross voices
1033 Currently all sorts of spanners (ties, slurs, dynamics, text spanners,
1034 trills etc.) have to be ended in the context they were started. However,
1035 this doesn't reflect the reality of notation in most polyphonic settings.
1036 Awkward workarounds with hidden voices are currently necessary to achieve
1037 cross-voice spanners.
1039 New ways of addressing this issue should be explored, for example by
1041 @divClass{keep-bullets}
1044 @item specifying a âtarget contextâ where the end of the spanner is
1047 @item explicitly specifying the ending object with an ID
1052 This feature would solve many problems that are commonly faced with
1053 piano music and combined parts.
1055 @strong{Difficulty:} medium (?)
1056 @strong{Requirements:} C++, Scheme
1057 @strong{Potential Mentor:} Urs Liska
1060 @divClass{column-center-middle-color3}
1061 @subheading Help improve compilation behavior
1063 Automatic code analysis tools, like valgrind memory leak detection or
1064 callgrind code profilers, provide valuable information about possible
1065 flaws in our C++ code. Cleaning up warnings would allow us to automate
1066 the rejection of any patch which introduced extra warnings.
1068 @strong{Difficulty:} medium
1069 @strong{Requirements:} C++
1070 @strong{Potential Mentors:} Reinhold Kainhofer (not available for GSoC
1075 @divClass{column-center-middle-color3}
1076 @subheading MusicXML
1078 Improving MusicXML import and export functions:
1080 @divClass{keep-bullets}
1084 Handle basic musical content export like the MIDI export (i.e. using
1085 dedicated exporter classes, derived from the translator class).
1088 Build the XML tree of the basic musical content, add a connection from
1089 music event to XML tag.
1092 Let all LilyPond engravers do their job.
1095 Link each output object (i.e. each stencil or group of stencils) to the
1096 music cause (and thus to the XML tag in the XML tree).
1099 Add an XML output backend, which can then add layout information for
1100 each output object to the XML tags.
1105 There are several possibilities for this project, including building upon
1106 the MusicXML export project from GSoC 2015.
1108 @strong{Difficulty:} medium
1109 @strong{Requirements:} MusicXML, Python, Scheme, basic LilyPond knowledge
1110 @strong{Potential Mentors:} Reinhold Kainhofer, Mike Solomon (both not
1111 available for GSoC 2016)
1113 Familiarity with other scorewriters (for cross-testing) would also help.
1117 @divClass{column-center-middle-color3}
1118 @subheading Improve slurs and ties
1120 The engraving quality of slurs and ties is often unsatisfactory. Ties
1121 @q{broken} by clef or staff changes are not handled well. The project
1122 could include collecting and sorting examples of bad output, deciding on
1123 the intended output and writing code to improve them.
1125 @strong{Difficulty:} hard
1126 @strong{Requirements:} C++, experience with writing heuristics
1127 @strong{Recommended knowledge:} LilyPond knowledge, aesthetic sense
1128 @strong{Potential Mentors:} Mike Solomon, Janek WarchoĊ (both not available for
1135 @unnumberedsec Authors
1137 @divClass{column-left-top}
1138 @subheading Current Development Team
1140 @divClass{keep-bullets}
1145 @divClass{column-right-top}
1146 @subheading Previous Development Team
1148 @divClass{keep-bullets}
1154 @divClass{column-center-top}
1155 @subheading Current Contributors
1157 @divClass{keep-bullets}
1158 @subsubheading Programming
1166 @subsubheading Documentation
1170 @subsubheading Bug squad
1174 @subsubheading Support
1178 @subsubheading Translation
1180 @translationsCurrent
1186 @divClass{column-center-bottom}
1187 @subheading Previous Contributors
1189 @divClass{keep-bullets}
1190 @subsubheading Programming
1198 @subsubheading Documentation
1202 @c uncomment when we have any previous members -gp
1203 @c @subsubheading Bug squad
1207 @subsubheading Support
1211 @subsubheading Translation
1213 @translationsPrevious
1218 @node Acknowledgements
1219 @unnumberedsec Acknowledgements
1221 @divClass{column-center-top}
1222 @subheading Acknowledgements
1224 @divClass{keep-bullets}
1225 @acknowledgementsCurrent
1231 @unnumberedsec Publications
1233 @divClass{column-center-top}
1234 @subheading What we wrote about LilyPond
1236 @divClass{keep-bullets}
1238 @include we-wrote.itexi
1243 @divClass{column-center-bottom}
1244 @subheading What people did with LilyPond
1246 @divClass{keep-bullets}
1248 @include others-did.itexi
1253 @contactUsAbout{academic papers}
1257 @unnumberedsec Old news
1259 @divClass{heading-center}
1260 @warning{Many old announcements and changelogs can be found in
1264 @include web/news-front.itexi
1266 @include web/news.itexi
1270 @unnumberedsec Attic
1272 @divClass{column-center-top}
1273 @subheading Announcements
1275 Announcements and news by version:
1276 @uref{http://lilypond.org/doc/v2.16/Documentation/web/index#Lilypond-2_002e16_002e0-released_0021-August-24_002c-2012-1,v2.16},
1277 @uref{http://lilypond.org/doc/v2.14/Documentation/web/index#LilyPond-2_002e14_002e0-released_0021-June-6_002c-2011,v2.14},
1278 @miscLink{announce-v2.12,v2.12},
1279 @miscLink{announce-v2.10,v2.10},
1280 @miscLink{announce-v2.8,v2.8},
1281 @miscLink{announce-v2.6,v2.6},
1282 @miscLink{announce-v2.4,v2.4},
1283 @miscLink{announce-v2.2,v2.2},
1284 @miscLink{announce-v2.0,v2.0},
1285 @miscLink{ANNOUNCE-1.2,v1.2},
1286 @miscLink{ANNOUNCE-1.0,v1.0},
1287 @miscLink{ANNOUNCE-0.1,v0.1}
1289 Descriptive list of changes by version:
1290 @uref{http://lilypond.org/doc/v2.16/Documentation/changes/index.html,v2.16},
1291 @uref{http://lilypond.org/doc/v2.14/Documentation/changes/index.html,v2.14},
1292 @uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS,v2.12},
1293 @uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS,v2.10},
1294 @uref{http://lilypond.org/doc/v2.8/Documentation/topdocs/NEWS,v2.8},
1295 @uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/NEWS,v2.6},
1296 @uref{http://lilypond.org/doc/v2.4/Documentation/topdocs/out-www/NEWS,v2.4},
1297 @uref{http://lilypond.org/doc/v2.2/Documentation/topdocs/out-www/NEWS,v2.2},
1298 @uref{http://lilypond.org/doc/v2.0/Documentation/topdocs/out-www/NEWS,v2.0},
1299 @uref{http://lilypond.org/doc/v1.8/Documentation/topdocs/out-www/NEWS,v1.8},
1300 @uref{http://lilypond.org/doc/v1.6/Documentation/out-www/NEWS,v1.6},
1301 @miscLink{NEWS-1.4,v1.4},
1302 @miscLink{NEWS-1.2,v1.2}
1306 @divClass{column-center-bottom}
1309 Thanks to developers, contributors, bug hunters and suggestions for
1310 @miscLink{THANKS-2.16,v2.16},
1311 @miscLink{THANKS-2.14,v2.14},
1312 @miscLink{THANKS-2.12,v2.12},
1313 @miscLink{THANKS-2.10,v2.10},
1314 @miscLink{THANKS-2.8,v2.8},
1315 @miscLink{THANKS-2.6,v2.6},
1316 @miscLink{THANKS-2.4,v2.4},
1317 @miscLink{THANKS-2.2,v2.2},
1318 @miscLink{THANKS-2.0,v2.0},
1319 @miscLink{THANKS-1.8,v1.8}
1323 @divClass{column-center-bottom}
1324 @subheading Changelogs
1326 Developers' changelogs by version:
1327 @miscLink{ChangeLog-2.10,v2.10},
1328 @miscLink{ChangeLog-2.3,v2.3},
1329 @miscLink{ChangeLog-2.1,v2.1},
1330 @miscLink{ChangeLog-1.5,v1.5 (1)},
1331 @miscLink{CHANGES-1.5,v1.5 (2)},
1332 @miscLink{CHANGES-1.4,v1.4},
1333 @miscLink{CHANGES-1.3,v1.3},
1334 @miscLink{CHANGES-1.2,v1.2},
1335 @miscLink{CHANGES-1.1,v1.1},
1336 @miscLink{CHANGES-1.0,v1.0},
1337 @miscLink{CHANGES-0.1,v0.1},
1338 @miscLink{CHANGES-0.0,v0.0}