X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Documentation%2Fweb%2Fcommunity.itexi;h=214ee64d40fa0174e556a661da27970ad4dba6d8;hb=b25b4262c8124b4d4279527ce00f1c7dd705a9c7;hp=5b7621d65cd669773b6bea8a16976e148988368d;hpb=ba4a7e62dfb6fd1973a0974e84b019f43d58ea49;p=lilypond.git diff --git a/Documentation/web/community.itexi b/Documentation/web/community.itexi index 5b7621d65c..214ee64d40 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 @@ -48,11 +49,14 @@ discussing LilyPond. @ref{Development}: for contributors and testers. @item -@ref{GSoC 2012}: our ideas for 2012 edition of Google Summer of Code. +@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 @@ -83,8 +87,9 @@ discussing LilyPond. * Help us:: * Sponsoring:: * Development:: -* GSoC 2012:: +* Google Summer of Code:: * Authors:: +* Acknowledgements:: * Publications:: * Old news:: * Attic:: @@ -129,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 @@ -173,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} @@ -182,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} @@ -228,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, @@ -253,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, @@ -272,13 +271,16 @@ archive3} @warning{Before sending a message to the bug list, please read our guidelines for @ref{Bug reports}.} -@divEnd -@divClass{column-right-bottom} -@subheading Sensitive emails +@subsubheading Translation mailing list: @code{translations@@lilynet.org} -Private matters should be sent to Graham Percival (project -manager), who will discuss it with those concerned. +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 @@ -410,7 +412,7 @@ then that is a bug. We may already know about this bug. Check here: @example -@uref{http://code.google.com/p/lilypond/issues/list} +@uref{http://sourceforge.net/p/testlilyissues/issues/} @end example @warning{Please @strong{DO NOT} add bug reports directly to the @@ -487,14 +489,14 @@ report. 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. +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. +any activity on the bug occurs. This requires you have a google account +login. @divEnd @divClass{column-center-bottom} @@ -780,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 @@ -800,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 @@ -823,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 @@ -853,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 @@ -869,163 +878,257 @@ manuals can be found at @url{http://lilypond.org}} -@node GSoC 2012 -@unnumberedsec GSoC 2012 +@node Google Summer of Code +@unnumberedsec Google Summer of Code @divClass{column-center-top} @subheading What is Google Summer of Code? -It is a global program run by Google that offers students stipends -for working on open source software projects during summer vacations. +@uref{https://developers.google.com/open-source/gsoc/, GSoC} is a global +program that offers students stipends to write code for free software +and open source projects during the summer. It is an excellent +opportunity for students to gain experience with real-world software +development and make a contribution that benefits everyone. It brings +new contributors to LilyPond and enables students who are already +involved to become more involved. LilyPond participates in GSoC as part +of the @uref{http://www.gnu.org/, GNU project}. -The LilyPond Team decided that this 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 -for 2012 edition of the program as part of the -@uref{http://www.gnu.org/, GNU project}; -we hope to participate in future editions as well. +We have had GSoC participants in 2012 and 2015 and encourage students to +apply for future summers. + +If you have questions or would like to apply, send us an email on our +developer mailing list (see @ref{Contact}). @divEnd -@divClass{column-center-bottom} -@subheading Our 2012 Ideas List +@divClass{column-center-middle-color2} +@subheading Project Ideas List -Below is a list of projects that we suggested for GSoC 2012 students. -Although the application period is over, we decided to keep this webpage -online as an inspiration for anyone who is interested in developing LilyPond. -Some members of the development team are willing to help people who would like -to tackle these projects. +Below is a list of suggested projects for GSoC or for anyone who is +interested in helping to improve LilyPond. (Last updated: February 2016) -Of course, there are many more things to improve in LilyPond, including -very small ones. A full list of all known issues can be found -@uref{http://code.google.com/p/lilypond/issues/list, here}. +Mentor availability varies from project to project and from year to year. +Send us an email on our developer mailing list (see @ref{Contact}), and +we will help you find a mentor for a project that fits your interests +and skills. -@subheading Grace notes +If you have ideas for a GSoC project that is not listed below you can +send us an email as well. There are a number of areas where LilyPond +could be improved, and our development team is always willing to help +those who would like to tackle a project like those listed below. -Fix problems with synchronization of grace notes, -together with all underlying architecture (see -@uref{http://code.google.com/p/lilypond/issues/detail?id=34, -issue 34 in our tracker}). Grace notes are confusing to LilyPond's -timing because they're like going back in time. This causes weird -effects, especially when one staff has a grace note and the other -doesn't. +A full list of all the current open issues can be found +@uref{http://sourceforge.net/p/testlilyissues/issues/, here}. -@strong{Difficulty:} medium +@divEnd -@strong{Requirements:} C++, MIDI +@divClass{column-center-middle-color3} +@subheading Improve internal chord structure -@strong{Recommended:} familiarity with LilyPond internals +The internal representation of LilyPond chords is not powerful enough +to capture the nomenclature of jazz chords. Currently the chord has +a root, a bass and an inversion. It would be nice to be able to handle +stacked or polychords, minor/major, etc. In order to do this, an +internal representation with the ability to capture the essence of +complex chords must be developed. As a bonus, once the internal +representation is developed, the output formatting of chord names can +be improved. -@strong{Mentor(s):} Mike Solomon, Carl Sorensen +@strong{Difficulty:} Easy/medium +@strong{Requirements:} Scheme (Guile), but the level necessary can be +easily learned +@strong{Recommended:} Chord theory and naming +@strong{Mentor:} Carl Sorensen -@subheading MusicXML +@divEnd -Adding comprehensive MusicXML export and improving import, -together with tests checking that it works. Depending on time available, -implement some or all of the following: +@divClass{column-center-middle-color3} +@subheading ScholarLY -@divClass{keep-bullets} -@itemize +ScholarLY is a library in +@uref{https://openlilylib.org, openLilyLib} that provides functionality +for annotating scores, making it possible to manage scholarly workflows +completely in the context of the score document. So far it is possible +to enter annotations of different types, produce clickable messages in +the console output and export to text and LaTeX files. -@item -Handle basic musical content export like the MIDI export (i.e. using -dedicated exporter classes, derived from the translator class) +There are numerous feature requests to turn this library into an +even more powerful and comprehensive tool. Some examples: Inserting +music examples, producing footnotes, automatically applying styles +to the annotated item (e.g. dash a slur, parenthesize an accidental), +creating reports with point-and-click entries. For a full description +of this project suggestion please visit +@uref{https://github.com/openlilylib/scholarly/wiki/GSoC, this Wiki page}. -@item -Build the XML tree of the basic musical content, -add a connection from music event to XML tag +@strong{Difficulty:} medium +@strong{Requirements:} Scheme, possibly LaTeX, (optionally Python) +@strong{Recommended:} Experience with or interest in scholarly +edition and collaborative workflows. +@strong{Mentor:} Urs Liska -@item -Let all LilyPond engravers do their job +@divEnd + +@divClass{column-center-middle-color3} +@subheading Adding variants of font glyphs + +@divClass{keep-bullets} +@itemize @item -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) +Adding @q{on} and @q{between} staff-line variants. @item -Add a XML output backend, which can then add the layout information -for each output object to the XML tags +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 -The goal will be considered achieved when a (previously chosen) score -could be imported from MusicXML and exported back with no unintentional -loss of data. +@strong{Difficulty:} easy +@strong{Requirements:} MetaFont, C++, good eye for details +@strong{Recommended knowledge:} basic LilyPond knowledge +@strong{Mentor:} Werner Lemberg -@strong{Difficulty:} medium +@divEnd -@strong{Requirements:} MusicXML, Python, basic LilyPond knowledge +@divClass{column-center-middle-color3} +@subheading Grace notes -@strong{Mentor(s):} Reinhold Kainhofer, Mike Solomon +Fix problems with synchronization of grace notes. Grace notes can +interfere with LilyPond's timing and cause odd effects, especially when +multiple staffs are used where some have grace notes and others don't. +This is one of the longest-standing and one of the more embarrassing +@uref{https://sourceforge.net/p/testlilyissues/issues/34/,bugs} in +LilyPond. -Familiarity with other scorewriters (for cross-testing) would be a nice -bonus. +@strong{Difficulty:} medium +@strong{Requirements:} C++, MIDI +@strong{Recommended:} familiarity with LilyPond internals +@strong{Potential Mentors:} Mike Solomon (not available for GSoC 2016), +Carl Sorensen -@subheading Improve slurs and ties +@divEnd -The default shape of slur and tie curves is often unsatisfactory. -Ties on enharmonic notes @code{@{ cis'~ des' @}} are not supported, -ties "broken" by clef or staff change aren't supported well. -The project includes collecting and sorting examples of bad output, -deciding on the intended output and writing the actual code. +@divClass{column-center-middle-color3} +@subheading Improve default beam positioning -@strong{Difficulty:} hard +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{Potential Mentors:} Mike Solomon (not available for GSoC 2016), +Carl Sorensen -@strong{Recommended knowledge:} LilyPond knowledge, aesthetic sense +@divEnd -@strong{Mentor(s):} Mike Solomon +@divClass{column-center-middle-color3} +@subheading Allow spanners to cross voices -@subheading Adding special variant of font glyphs -Adding on-staff-line, between-staff-line, shorter and narrower variants -of some glyphs, for example accidentals, together with a generic -infrastructure to support them. An example is ancient notation breve -notehead coming in two variants, with smaller and bigger hole. +Currently all sorts of spanners (ties, slurs, dynamics, text spanners, +trills etc.) have to be ended in the context they were started. However, +this doesn't reflect the reality of notation in most polyphonic settings. +Awkward workarounds with hidden voices are currently necessary to achieve +cross-voice spanners. -@strong{Difficulty:} easy +New ways of addressing this issue should be explored, for example by -@strong{Requirements:} MetaFont, C++, good eye for details +@divClass{keep-bullets} +@itemize -@strong{Recommended knowledge:} basic LilyPond knowledge +@item specifying a “target context” where the end of the spanner is +expected -@strong{Mentor(s):} Werner Lemberg +@item explicitly specifying the ending object with an ID -@subheading Improve beaming +@end itemize +@divEnd -Default positioning of regular, cross-staff, broken and kneed beams -should be improved. 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, reduce beaming computation time. +This feature would solve many problems that are commonly faced with +piano music and combined parts. + +@strong{Difficulty:} medium (?) +@strong{Requirements:} C++, Scheme +@strong{Potential Mentor:} Urs Liska +@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{Potential Mentors:} Reinhold Kainhofer (not available for GSoC +2016), Joe Neeman -@strong{Requirements:} C++, experience with writing heuristics +@divEnd -@strong{Recommended knowledge:} aesthetic sense +@divClass{column-center-middle-color3} +@subheading MusicXML -@strong{Mentor(s):} Mike Solomon, Carl Sorensen +Improving MusicXML import and export functions: -@subheading Clean up various compilation warnings +@divClass{keep-bullets} +@itemize -Clean up compiler warnings, static code analysis, and valgrind warnings. -Automatic code analysis tools (warnings in @code{g++} and @code{clang}) -and analysis tools like valgrind memory leak detection and callgrind -code profilers provide valuable information about possible flaws in C++ -code. Cleaning these warnings would allow us to automatically reject -any patch which introduced extra warnings. +@item +Handle basic musical content export like the MIDI export (i.e. using +dedicated exporter classes, derived from the translator class). -@strong{Difficulty:} medium +@item +Build the XML tree of the basic musical content, add a connection from +music event to XML tag. -@strong{Requirements:} C++ +@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). -@strong{Mentor(s):} Joe Neeman, Reinhold Kainhofer +@item +Add an XML output backend, which can then add layout information for +each output object to the XML tags. +@end itemize @divEnd +There are several possibilities for this project, including building upon +the MusicXML export project from GSoC 2015. +@strong{Difficulty:} medium +@strong{Requirements:} MusicXML, Python, Scheme, basic LilyPond knowledge +@strong{Potential Mentors:} Reinhold Kainhofer, Mike Solomon (both not +available for GSoC 2016) + +Familiarity with other scorewriters (for cross-testing) would also help. + +@divEnd + +@divClass{column-center-middle-color3} +@subheading Improve slurs and ties + +The engraving quality of slurs and ties is 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{Potential Mentors:} Mike Solomon, Janek Warchoł (both not available for +GSoC 2016) + +@divEnd @node Authors @@ -1112,6 +1215,16 @@ any patch which introduced extra warnings. @divEnd @divEnd +@node Acknowledgements +@unnumberedsec Acknowledgements + +@divClass{column-center-top} +@subheading Acknowledgements + +@divClass{keep-bullets} +@acknowledgementsCurrent +@divEnd +@divEnd @node Publications @@ -1160,6 +1273,7 @@ the @ref{Attic}} @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}, @@ -1173,6 +1287,7 @@ Announcements and news by version: @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}, @@ -1188,10 +1303,27 @@ Descriptive list of changes by version: @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 -Developpers' changelogs by version: +Developers' changelogs by version: @miscLink{ChangeLog-2.10,v2.10}, @miscLink{ChangeLog-2.3,v2.3}, @miscLink{ChangeLog-2.1,v2.1},