Guide, node Updating translation committishes..
@end ignore
+@include included/acknowledge.itexi
@include included/authors.itexi
@include included/helpus.itexi
@item
@ref{Development}: for contributors and testers.
+@item
+@ref{Google Summer of Code}: ideas for Google Summer of Code (GSoC).
+
@item
@ref{Authors}: the people who made LilyPond what it is today.
+@item
+@ref{Acknowledgements}: projects and institutions that support LilyPond
+
@end itemize
@divEnd
@item
@ref{Old news}: an archive.
+@item
+@ref{Attic}: announcements and changelogs from past versions.
+
@end itemize
@divEnd
* Help us::
* Sponsoring::
* Development::
+* Google Summer of Code::
* Authors::
+* Acknowledgements::
* Publications::
* Old news::
+* Attic::
@end menu
@divEnd
and add your own!
@example
-@uref{http://lsr.dsi.unimi.it}
+@uref{http://lsr.di.unimi.it}
@end example
Particularly instructive examples from LSR are included in our
@node Bug reports
@unnumberedsec Bug reports
+
+@divClass{heading-center}
+If you have input that results in a crash or wrong output,
+then that is a bug.
+@divEnd
+
@divClass{column-center-top}
@subheading Step 1: Known bugs
-If you have input that results in a crash or an erroneous output,
-then that is a bug. There is a list of current bugs on our google
-bug tracker,
+We may already know about this bug. Check here:
@example
@uref{http://code.google.com/p/lilypond/issues/list}
@divClass{column-left-bottom}
@subheading Step 2: Creating a bug report
-If you have discovered a bug which is not listed, please help us
-by creating a bug report.
+If you have discovered a bug which is not listed,
+please help us by creating a bug report.
-@warning{We only accept bug reports in the form of
-@ref{Tiny examples}. We have very limited resources to deal with
-bug reports, so any non-minimal example will be rejected. Almost
+@warning{We only accept reports in the form of
+@ref{Tiny examples}. We have very limited resources,
+so any non-minimal example will be rejected. Almost
every bug can be demonstrated in four notes or less!}
Here is an example of a good bug report:
@divClass{column-center-bottom}
@subheading Step 4: Wait for a response
-Once your bug has been sent to the list, our Bug Squad will
-examine the report. Please allow up to 24 hours, as we have a
-limited number of volunteers for this task. They may ask you for
-more information, or may add the report to the tracker and let you
-know what the issue number is.
+Once your bug report has been sent to the list, our Bug Squad will
+examine it; they may ask you for more information. You will be notified
+when the report will be added to the bug tracker. Please allow up to 4
+days, as we have a limited number of volunteers for this task.
-You may mark the bug so that you automatically receive emails when
-any activity on the bug occurs. This requires you have a google
-account.
+Once a bug has been added to the tracker, you can comment it to add
+more information about it.
+You may also mark the bug so that you automatically receive emails when
+any activity on the bug occurs. This requires you have a google account
+login.
@divEnd
@divClass{column-center-bottom}
@divClass{column-left-top}
@divClass{keep-bullets}
-@helpusTasks
+@helpusSimple
@divEnd
@divEnd
@divClass{column-right-top}
-@helpusProjects
+@helpusAdvanced
@divEnd
@itemize
@item
-LilyPond developers may advertise their services on the lilypnod
+LilyPond developers may advertise their services on the lilypond
email lists from time to time.
@item
@divClass{normal-table}
@multitable @columnfractions .3 .3 .3
@headitem Introduction
+
@item
@docLinkSplit{Learning,learning,@manualDevelLearningSplit}
@tab
@docLinkBig{Essay,essay,@manualDevelEssayBig}
@tab
@docLinkPdf{Essay,essay,@manualDevelEssayPdf}
+@end multitable
+@multitable @columnfractions .3 .3 .3
@headitem Regular
@item
@docLinkBig{Snippets,snippets,@manualDevelSnippetsBig}
@tab
@docLinkPdf{Snippets,snippets,@manualDevelSnippetsPdf}
+@end multitable
+@multitable @columnfractions .3 .3 .3
@headitem Infrequent
@item
@docLinkBig{Internals,internals,@manualDevelInternalsBig}
@tab
@docLinkPdf{Internals,internals,@manualDevelInternalsPdf}
+@end multitable
@ifset web_version
+@multitable @columnfractions .3
@headitem Downloadable
@item
@doctarballDevel
+@end multitable
@end ifset
-@end multitable
@divEnd
@divEnd
+@node Google Summer of Code
+@unnumberedsec Google Summer of Code
+
+@divClass{column-center-top}
+@subheading What is Google Summer of Code?
+
+A global program run by Google that offers students stipends for working
+on open source software projects during summer vacations.
+
+It is an excellent opportunity to find new contributors, and encourage
+students already participating in LilyPond development, to become more
+involved. One of our contributors was accepted in the 2012 program as
+part of the @uref{http://www.gnu.org/, GNU project}; and we are always
+looking for others to participate in future programs.
+
+@divEnd
+
+@divClass{column-center-middle-color2}
+@subheading Our Ideas List
+
+Below is a list of projects that were suggested for the GSoC 2012
+students and is retained here as an inspiration for anyone
+who is interested in developing LilyPond for future GSoC projects.
+
+There are many more things that can be done to improve LilyPond and
+members of the LilyPond development team are always willing to help
+those who would like to tackle projects such as those listed below.
+
+A full list of all the current open issues can be found
+@uref{http://code.google.com/p/lilypond/issues/list, here}.
+
+@divEnd
+
+@divClass{column-center-middle-color3}
+@subheading Grace notes
+
+Fix problems with synchronization of grace notes. Grace notes can
+intefere with LilyPond's timing and cause odd effects, especially when
+multiple staffs are used where some have grace notes and others don't.
+
+@strong{Difficulty:} medium
+@strong{Requirements:} C++, MIDI
+@strong{Recommended:} familiarity with LilyPond internals
+@strong{Mentor(s):} Mike Solomon, Carl Sorensen
+
+@divEnd
+
+@divClass{column-center-middle-color3}
+@subheading MusicXML
+
+Improving MusicXML import and export functions:
+
+@divClass{keep-bullets}
+@itemize
+
+@item
+Handle basic musical content export like the MIDI export (i.e. using
+dedicated exporter classes, derived from the translator class).
+
+@item
+Build the XML tree of the basic musical content, add a connection from
+music event to XML tag.
+
+@item
+Let all LilyPond engravers do their job.
+
+@item
+Link each output object (i.e. each stencil or group of stencils) to the
+music cause (and thus to the XML tag in the XML tree).
+
+@item
+Add an XML output backend, which can then add layout information for
+each output object to the XML tags.
+
+@end itemize
+@divEnd
+
+@strong{Difficulty:} medium
+@strong{Requirements:} MusicXML, Python, basic LilyPond knowledge
+@strong{Mentor(s):} Reinhold Kainhofer, Mike Solomon
+
+Familiarity with other scorewriters (for cross-testing) would also help.
+
+@divEnd
+
+@divClass{column-center-middle-color3}
+@subheading Improve slurs and ties
+
+The default curves of slurs and ties are often unsatisfactory. Ties
+@q{broken} by clef or staff changes are not handled well. The project
+could include collecting and sorting examples of bad output, deciding on
+the intended output and writing code to improve them.
+
+@strong{Difficulty:} hard
+@strong{Requirements:} C++, experience with writing heuristics
+@strong{Recommended knowledge:} LilyPond knowledge, aesthetic sense
+@strong{Mentor(s):} Mike Solomon
+
+@divEnd
+
+@divClass{column-center-middle-color3}
+@subheading Adding variants of font glyphs
+
+@divClass{keep-bullets}
+@itemize
+
+@item
+Adding @q{on} and @q{between} staff-line variants.
+
+@item
+Shorter and narrower variants of some glyphs for example, accidentals.
+Another, more specific example could be an ancient notation breve
+notehead coming in two variants one with a small or big @q{hole} within
+it.
+
+@end itemize
+@divEnd
+
+@strong{Difficulty:} easy
+@strong{Requirements:} MetaFont, C++, good eye for details
+@strong{Recommended knowledge:} basic LilyPond knowledge
+@strong{Mentor(s):} Werner Lemberg
+
+@divEnd
+
+@divClass{column-center-middle-color3}
+@subheading Improve default beam positioning
+
+For regular, cross-staff, broken and kneed beams. Beaming should depend
+on context and neighbor notes
+(see @uref{http://icking-music-archive.org/lists/sottisier/sottieng.pdf,
+section 2.2 here}). If possible also reduce beaming-computation time.
+
+@strong{Difficulty:} medium
+@strong{Requirements:} C++, experience with writing heuristics
+@strong{Recommended knowledge:} aesthetic sense
+@strong{Mentor(s):} Mike Solomon, Carl Sorensen
+
+@divEnd
+
+@divClass{column-center-middle-color3}
+@subheading Help improve compilation behavior
+
+Automatic code analysis tools, like valgrind memory leak detection or
+callgrind code profilers, provide valuable information about possible
+flaws in our C++ code. Cleaning up warnings would allow us to automate
+the rejection of any patch which introduced extra warnings.
+
+@strong{Difficulty:} medium
+@strong{Requirements:} C++
+@strong{Mentor(s):} Joe Neeman, Reinhold Kainhofer
+
+@divEnd
+
+
@node Authors
@unnumberedsec Authors
@divEnd
@divEnd
+@node Acknowledgements
+@unnumberedsec Acknowledgements
+
+@divClass{column-center-top}
+@subheading Acknowledgements
+
+@divClass{keep-bullets}
+@acknowledgementsCurrent
+@divEnd
+@divEnd
@node Publications
@divEnd
@divClass{column-center-bottom}
-
@subheading What people did with LilyPond
-
@divClass{keep-bullets}
@include others-did.itexi
@node Old news
@unnumberedsec Old news
+@divClass{heading-center}
+@warning{Many old announcements and changelogs can be found in
+the @ref{Attic}}
+@divEnd
+
@include web/news-front.itexi
@include web/news.itexi
+
+
+@node Attic
+@unnumberedsec Attic
+
+@divClass{column-center-top}
+@subheading Announcements
+
+Announcements and news by version:
+@uref{http://lilypond.org/doc/v2.16/Documentation/web/index#Lilypond-2_002e16_002e0-released_0021-August-24_002c-2012-1,v2.16},
+@uref{http://lilypond.org/doc/v2.14/Documentation/web/index#LilyPond-2_002e14_002e0-released_0021-June-6_002c-2011,v2.14},
+@miscLink{announce-v2.12,v2.12},
+@miscLink{announce-v2.10,v2.10},
+@miscLink{announce-v2.8,v2.8},
+@miscLink{announce-v2.6,v2.6},
+@miscLink{announce-v2.4,v2.4},
+@miscLink{announce-v2.2,v2.2},
+@miscLink{announce-v2.0,v2.0},
+@miscLink{ANNOUNCE-1.2,v1.2},
+@miscLink{ANNOUNCE-1.0,v1.0},
+@miscLink{ANNOUNCE-0.1,v0.1}
+
+Descriptive list of changes by version:
+@uref{http://lilypond.org/doc/v2.16/Documentation/changes/index.html,v2.16},
+@uref{http://lilypond.org/doc/v2.14/Documentation/changes/index.html,v2.14},
+@uref{http://lilypond.org/doc/v2.12/Documentation/topdocs/NEWS,v2.12},
+@uref{http://lilypond.org/doc/v2.10/Documentation/topdocs/NEWS,v2.10},
+@uref{http://lilypond.org/doc/v2.8/Documentation/topdocs/NEWS,v2.8},
+@uref{http://lilypond.org/doc/v2.6/Documentation/topdocs/NEWS,v2.6},
+@uref{http://lilypond.org/doc/v2.4/Documentation/topdocs/out-www/NEWS,v2.4},
+@uref{http://lilypond.org/doc/v2.2/Documentation/topdocs/out-www/NEWS,v2.2},
+@uref{http://lilypond.org/doc/v2.0/Documentation/topdocs/out-www/NEWS,v2.0},
+@uref{http://lilypond.org/doc/v1.8/Documentation/topdocs/out-www/NEWS,v1.8},
+@uref{http://lilypond.org/doc/v1.6/Documentation/out-www/NEWS,v1.6},
+@miscLink{NEWS-1.4,v1.4},
+@miscLink{NEWS-1.2,v1.2}
+
+@divEnd
+
+@divClass{column-center-bottom}
+@subheading Thanks
+
+Thanks to developers, contributors, bug hunters and suggestions for
+@miscLink{THANKS-2.16,v2.16},
+@miscLink{THANKS-2.14,v2.14},
+@miscLink{THANKS-2.12,v2.12},
+@miscLink{THANKS-2.10,v2.10},
+@miscLink{THANKS-2.8,v2.8},
+@miscLink{THANKS-2.6,v2.6},
+@miscLink{THANKS-2.4,v2.4},
+@miscLink{THANKS-2.2,v2.2},
+@miscLink{THANKS-2.0,v2.0},
+@miscLink{THANKS-1.8,v1.8}
+
+@divEnd
+
+@divClass{column-center-bottom}
+@subheading Changelogs
+
+Developers' changelogs by version:
+@miscLink{ChangeLog-2.10,v2.10},
+@miscLink{ChangeLog-2.3,v2.3},
+@miscLink{ChangeLog-2.1,v2.1},
+@miscLink{ChangeLog-1.5,v1.5 (1)},
+@miscLink{CHANGES-1.5,v1.5 (2)},
+@miscLink{CHANGES-1.4,v1.4},
+@miscLink{CHANGES-1.3,v1.3},
+@miscLink{CHANGES-1.2,v1.2},
+@miscLink{CHANGES-1.1,v1.1},
+@miscLink{CHANGES-1.0,v1.0},
+@miscLink{CHANGES-0.1,v0.1},
+@miscLink{CHANGES-0.0,v0.0}
+
+@divEnd