X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fweb%2Fcommunity.itexi;h=fa6826b541fc5f1a0549a1d773f2dcb5d70af015;hb=674ed28bf0355426499a9ce19562d11d1addca42;hp=80ad40ccdd4c6f1c62b60a83c5db57e894d25d42;hpb=ff092354107e43a7c29abad74226b302d9a93faa;p=lilypond.git diff --git a/Documentation/web/community.itexi b/Documentation/web/community.itexi index 80ad40ccdd..fa6826b541 100644 --- a/Documentation/web/community.itexi +++ b/Documentation/web/community.itexi @@ -7,6 +7,7 @@ Guide, node Updating translation committishes.. @end ignore +@include included/acknowledge.itexi @include included/authors.itexi @include included/helpus.itexi @@ -41,12 +42,21 @@ discussing LilyPond. @item @ref{Help us}: your assistance is requested. +@item +@ref{Sponsoring}: financial contributions. + @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 @@ -61,6 +71,9 @@ discussing LilyPond. @item @ref{Old news}: an archive. +@item +@ref{Attic}: announcements and changelogs from past versions. + @end itemize @divEnd @@ -72,10 +85,14 @@ discussing LilyPond. * Tiny examples:: * Bug reports:: * Help us:: +* Sponsoring:: * Development:: +* Google Summer of Code:: * Authors:: +* Acknowledgements:: * Publications:: * Old news:: +* Attic:: @end menu @divEnd @@ -117,7 +134,7 @@ in your own works. See what other people have written, 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 @@ -161,8 +178,8 @@ be useful for others would better be posted to one of the mailing lists. @subsubheading Other languages @quotation -@uref{http://lists.gnu.org/mailman/listinfo/lilypond-es, -Spanish mailing list} +@uref{http://lists.gnu.org/mailman/listinfo/lilypond-user-fr, +French mailing list} @uref{http://www.lilypondforum.de/, German forum} @@ -170,26 +187,19 @@ German forum} @uref{http://groups.google.com/group/lilypond-brasil, Portuguese group} -@uref{http://lists.gnu.org/mailman/listinfo/lilypond-user-fr, -French mailing list} - -@uref{http://www.lilypondforum.nl/, -Dutch forum} +@uref{http://lists.gnu.org/mailman/listinfo/lilypond-es, +Spanish mailing list} @end quotation - @divEnd @divClass{column-right-top} -@subheading Stay Informed +@subheading The LilyPond Blog -@subsubheading LilyPond Report - -The easiest way to keep touch is by reading our community -newsletter, the LilyPond Report: +Read our community blog, @q{Scores of Beauty}: @example -@uref{http://news.lilynet.net} +@uref{http://lilypondblog.org} @end example @subsubheading Releases mailing list: @code{info-lilypond@@gnu.org} @@ -216,12 +226,12 @@ archive3} @divClass{column-right-bottom} -@subheading Developer Discussion +@subheading Developer Discussions and Translations @subsubheading Developer mailing list: @code{lilypond-devel@@gnu.org} -Most developer discussion takes place on this list. Patches -should be sent here. +Developer discussions take place on this list. Patches can also be sent +here. @quotation @uref{http://lists.gnu.org/mailman/listinfo/lilypond-devel, @@ -241,7 +251,8 @@ send to lilypond-devel with gmane} @subsubheading Bug mailing list: @code{bug-lilypond@@gnu.org} -Bug-specific discussion takes place here. +Bug reports and discussions should be sent here. Do not send patches +to this list. @quotation @uref{http://lists.gnu.org/mailman/listinfo/bug-lilypond, @@ -260,8 +271,18 @@ archive3} @warning{Before sending a message to the bug list, please read our guidelines for @ref{Bug reports}.} -@divEnd +@subsubheading Translation mailing list: @code{translations@@lilynet.org} + +All discussions about translating LilyPond manuals should be sent here. +Do not send patches to this list. + +@quotation +@uref{http://lilypond-translations.3384276.n2.nabble.com/, +Translation mailing list archive} +@end quotation + +@divEnd @node Tiny examples @@ -270,7 +291,7 @@ guidelines for @ref{Bug reports}.} @divClass{column-center-top} @subheading What are @qq{Tiny examples}? -A tiny example is an example from which nothing can be removed. +A tiny example is an example from which @strong{nothing} can be removed. @divEnd @divClass{column-left-bottom} @@ -284,12 +305,12 @@ The simpler the example is, the quicker potential helpers can understand it and help you. @item -A simple example demonstrates that you have put effort towards +A tiny example demonstrates that you have put effort towards solving the problem yourself. When people send huge portions of -input, it looks like they don't care how if we help them or not. +input, it looks like they don't care if we help them or not. @item -Creating a tiny example forces you to understand what is +Creating a tiny example helps you to understand what is happening. Many false problem reports can be avoided by attempting to create a tiny example; if you cannot replicate a @qq{bug} in a tiny example, then the problem was probably an @@ -302,50 +323,93 @@ insufficient understanding of LilyPond, not an actual bug! @divClass{column-right-bottom} -@subheading How do I create them? +@subheading How to create them? @divClass{keep-bullets} @itemize @item -Include the \version number. +Include the @code{\version} number. @item Make it small! Examples about spacing or page layout might require many bars of music, but most issues can be reproduced -using only a single measure. +using less than a single measure. @item When trying to create an example, try commenting out @w{(@code{%} -or @code{%@{ @dots{} %@}})} sections of your file. If you can -comment something while still demonstrating the main idea, then -remove the commented-material! +or @code{%@{ @dots{} %@}})} sections of your file. If you +can comment something while still demonstrating the main idea, +then remove the commented-material. @item -Avoid using complicated notes, keys, or time signatures, unless +Avoid using complicated notes, keys or time signatures, unless the bug is about the behavior of those items. @item Do not use @code{\override} or @code{\set} commands unless the bug -is about those particular commands. +is about those specific commands. + +@item +Optionally, attach an image showing the desired graphical output. @end itemize @divEnd @divEnd +@divClass{column-center-bottom} +@subheading How tiny should they be? + +Is the code below a minimal example? + +@example +\version "2.14.1" +\include "english.ly" + +\score @{ + \new Staff @{ + \key d \major + \numericTimeSignature + \time 2/4 + 16 8. + %% Here: the tie on the D's looks funny + %% Too tall? Left-hand endpoint is not aligned with the B tie? + ~ + 8 [ ] + @} +@} +@end example + +Well, it is not very big, but a truly minimal example is here: + +@example +\version "2.14.1" +@{ + % middle tie looks funny here: + 8. ~ 8 +@} +@end example +Very few tiny examples exceed 10 lines of code - +quite often 4 lines are enough to demonstrate the problem! + +@divEnd @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} @@ -361,25 +425,25 @@ free to add more information to that report.} @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: @example -%% the octavation command doesn't -%% change the output at all! - -\version "2.10.0" -\relative c''' @{ - c1 - #(set-octavation 1) - c1 +% Accidentals should be printed for only +% the first note in a tie, but this version +% prints flats on both notes. +\version "2.10.1" + +\relative c'' @{ + bes1 ~ + bes1 @} @end example @@ -418,19 +482,35 @@ report. @end itemize @divEnd +@divEnd + +@divClass{column-center-bottom} +@subheading Step 4: Wait for a response + +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. + +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} +@subheading Optional help: show the desired behavior -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 an issue has been added to the tracker, it can be very +helpful if we can see the desired output. Feel free to add input +code and/or images (possibly created with other tools) which +demonstrate what you think it should look like! -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. @divEnd + @node Help us @unnumberedsec Help us @@ -441,14 +521,94 @@ account. @divClass{column-left-top} @divClass{keep-bullets} -@helpusTasks +@helpusSimple + +@divEnd +@divEnd + +@divClass{column-right-top} +@helpusAdvanced @divEnd + + +@node Sponsoring +@unnumberedsec Sponsoring + +@divClass{keep-bullets} +@divClass{column-left-top} +@subheading Bounties + +In the past, + +@itemize +@item some users have paid for new features +@item some developers have added new features for hire +@end itemize + +The LilyPond project does not organize such efforts; we neither +endorse nor discourage such agreements. Any contracts between +private individuals is the business of those individuals, not +ours. + @divEnd @divClass{column-right-top} -@helpusProjects +@subheading Guidelines + +Any user wanting to offer money in exchange for work should bear +in mind the following points: + +@itemize +@item +LilyPond developers may advertise their services on the lilypond +email lists from time to time. +@item +Any agreements between private individuals should include the +normal precautions when conducting business: who pays, how much do +they pay, with what method of payment, and upon what set of +conditions. We suggest that any ambiguity or uncertainty in these +questions should be resolved before any work begins. + +@end itemize + +@divEnd + +@divClass{column-center-bottom} +@subheading Interested developers + +Here is a list of people who have expressed an interest in +bounties. Note that the amount of work done by individuals varies +quite a bit throughout the years. We do not guarantee that this +list is up-to-date, nor do we guarantee that the people listed +here have any ability. The only criteria is "XYZ asked to be +listed on this page". + +Looking at the git history is a good way to determine who the most +active and experienced developers are. Statistics up to version +@versionDevel{}: + +@multitable @columnfractions .3 .3 .3 +@item @uref{http://lilypond.org/~graham/gitstats-all/, overall history} +@tab @uref{http://lilypond.org/~graham/gitstats-1year/, past year} +@tab @uref{http://lilypond.org/~graham/gitstats-3months/, past three months} +@end multitable + +Interested developers: +@table @asis +@item @email{dak@@gnu.org, David Kastrup} +Donations are required to let me continue my current fulltime work on +LilyPond. I focus on user and programmer interface design, coherence, +implementation, simplification, documentation, and debugging. + +@c Format +@c @item @email{name@@adress.domain, Name} +@c area of interest (256 chars max) + +@end table + +@divEnd @divEnd @@ -622,6 +782,7 @@ manuals can be found at @url{http://lilypond.org}} @divClass{normal-table} @multitable @columnfractions .3 .3 .3 @headitem Introduction + @item @docLinkSplit{Learning,learning,@manualDevelLearningSplit} @tab @@ -642,7 +803,9 @@ manuals can be found at @url{http://lilypond.org}} @docLinkBig{Essay,essay,@manualDevelEssayBig} @tab @docLinkPdf{Essay,essay,@manualDevelEssayPdf} +@end multitable +@multitable @columnfractions .3 .3 .3 @headitem Regular @item @@ -665,7 +828,9 @@ manuals can be found at @url{http://lilypond.org}} @docLinkBig{Snippets,snippets,@manualDevelSnippetsBig} @tab @docLinkPdf{Snippets,snippets,@manualDevelSnippetsPdf} +@end multitable +@multitable @columnfractions .3 .3 .3 @headitem Infrequent @item @@ -695,15 +860,17 @@ manuals can be found at @url{http://lilypond.org}} @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 @@ -711,6 +878,161 @@ manuals can be found at @url{http://lilypond.org}} +@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 @@ -795,6 +1117,16 @@ manuals can be found at @url{http://lilypond.org}} @divEnd @divEnd +@node Acknowledgements +@unnumberedsec Acknowledgements + +@divClass{column-center-top} +@subheading Acknowledgements + +@divClass{keep-bullets} +@acknowledgementsCurrent +@divEnd +@divEnd @node Publications @@ -811,10 +1143,8 @@ manuals can be found at @url{http://lilypond.org}} @divEnd @divClass{column-center-bottom} - @subheading What people did with LilyPond - @divClass{keep-bullets} @include others-did.itexi @@ -828,6 +1158,85 @@ manuals can be found at @url{http://lilypond.org}} @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