]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/web/community.itexi
Web: link to ab2ly and lilypond-book regtests.
[lilypond.git] / Documentation / web / community.itexi
1 @c -*- coding: utf-8; mode: texinfo; -*-
2 @ignore
3     Translation of GIT committish: FILL-IN-HEAD-COMMITTISH
4
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..
8 @end ignore
9
10 @include included/authors.itexi
11 @include included/helpus.itexi
12
13 @node Community
14 @unnumbered Community
15
16
17 @divClass{column-center-top}
18 @subheading Interacting with the community
19
20 @itemize
21
22 @item
23 @ref{Contact}: get help, discuss, and keep in touch!
24
25 @item
26 @ref{Tiny examples}: these are @emph{highly} recommended when
27 discussing LilyPond.
28
29 @item
30 @ref{Bug reports}: something went wrong.
31
32 @end itemize
33 @divEnd
34
35 @divClass{column-left-bottom}
36 @subheading Making LilyPond better
37
38 @itemize
39
40 @item
41 @ref{Help us}: your assistance is requested.
42
43 @item
44 @ref{Development}: for contributors and testers.
45
46 @item
47 @ref{Authors}: the people who made LilyPond what it is today.
48
49 @end itemize
50 @divEnd
51
52 @divClass{column-right-bottom}
53 @subheading Miscellaneous
54
55 @itemize
56
57 @item
58 @ref{Publications}: what we wrote, and have had written about us.
59
60 @item
61 @ref{Old news}: an archive.
62
63 @end itemize
64 @divEnd
65
66
67 @divClass{hide}
68 @menu
69 * Contact::
70 * Tiny examples::
71 * Bug reports::
72 * Help us::
73 * Development::
74 * Authors::
75 * Publications::
76 * Old news::
77 @end menu
78 @divEnd
79
80
81 @node Contact
82 @unnumberedsec Contact
83
84
85 @divClass{column-left-bottom}
86 @subheading User Discussions and Help
87
88 @subsubheading User mailing list: @code{lilypond-user@@gnu.org}
89
90 This mailing list is the main place for users to discuss and help
91 each other.
92
93 @quotation
94 @uref{http://lists.gnu.org/mailman/listinfo/lilypond-user,
95 lilypond-user subscribe and info}
96
97 @uref{http://lists.gnu.org/archive/html/lilypond-user/,
98 user archive1}
99 @uref{http://www.mail-archive.com/lilypond-user@@gnu.org/,
100 archive2}
101 @uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.general,
102 archive3}
103
104 @uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.general,
105 send to lilypond-user with gmane}
106 @end quotation
107
108 @warning{When asking questions, please use @ref{Tiny examples}!}
109
110 @subsubheading LilyPond Snippet Repository
111
112 The LilyPond Snippet Repository is a large collection of
113 user-submitted examples, which can freely be copied and used
114 in your own works.  See what other people have written,
115 and add your own!
116
117 @example
118 @uref{http://lsr.dsi.unimi.it}
119 @end example
120
121 Particularly instructive examples from LSR are included in our
122 official documentation, in @ref{Snippets}.
123
124
125 @subsubheading IRC
126
127 Some level of support is provided on our IRC channel,
128
129 @example
130 @uref{irc://irc.freenode.net/lilypond, #lilypond@@irc.freenode.net}
131 @end example
132
133 This channel has no public archive, so any question that may
134 be useful for others would better be posted to one of the mailing lists.
135
136 @html
137 <form action="http://webchat.freenode.net"
138       method="get"
139       name="f_lily_irc"
140   <label>irc name:
141     <input name="nick" type="text" size="15" value="">
142   </label>
143   <input name="channels" type="hidden" value="lilypond">
144   <input type="submit" value="Join #lilypond IRC Chat">
145 </form>
146
147 <script language="JavaScript" type="text/javascript">
148   var username = "web";
149   var lang = window.navigator.userLanguage ? window.navigator.userLanguage
150   : window.navigator.language;
151   username += '-' + lang.substr(0, 2);
152   username += '-' + navigator.appName.substr(0, 2);
153   username += navigator.appCodeName.replace (" ", "").substr(0, 2);
154   username += navigator.platform.replace (" ", "").replace("nux", "").replace("n32", "");
155   document.forms["f_lily_irc"].nick.value = username;
156 </script>
157 @end html
158
159 @subsubheading Other languages
160
161 @quotation
162 @uref{http://lists.gnu.org/mailman/listinfo/lilypond-es,
163 Spanish mailing list}
164
165 @uref{http://www.lilypondforum.de/,
166 German forum}
167
168 @uref{http://groups.google.com/group/lilypond-brasil,
169 Portuguese group}
170
171 @uref{http://lists.gnu.org/mailman/listinfo/lilypond-user-fr,
172 French mailing list}
173
174 @uref{http://www.lilypondforum.nl/,
175 Dutch forum}
176 @end quotation
177
178 @divEnd
179
180
181 @divClass{column-right-top}
182 @subheading Stay Informed
183
184 @subsubheading LilyPond Report
185
186 The easiest way to keep touch is by reading our community
187 newsletter, the LilyPond Report:
188
189 @example
190 @uref{http://news.lilynet.net}
191 @end example
192
193 @subsubheading Releases mailing list: @code{info-lilypond@@gnu.org}
194
195 This mailing list is a low-volume, read-only list which receives
196 notifications of new releases.
197
198 @quotation
199 @uref{http://lists.gnu.org/mailman/listinfo/info-lilypond,
200 info-lilypond subscribe and info}
201
202 @uref{http://lists.gnu.org/archive/html/info-lilypond/,
203 info archive1}
204 @uref{http://www.mail-archive.com/info-lilypond@@gnu.org/,
205 archive2}
206 @uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.announce,
207 archive3}
208
209 @c don't include gmane posting here.  -gp
210 @end quotation
211
212
213 @divEnd
214
215
216 @divClass{column-right-bottom}
217 @subheading Developer Discussion
218
219 @subsubheading Developer mailing list: @code{lilypond-devel@@gnu.org}
220
221 Most developer discussion takes place on this list.  Patches
222 should be sent here.
223
224 @quotation
225 @uref{http://lists.gnu.org/mailman/listinfo/lilypond-devel,
226 lilypond-devel subscribe and info}
227
228 @uref{http://lists.gnu.org/archive/html/lilypond-devel/,
229 devel archive1}
230 @uref{http://www.mail-archive.com/lilypond-devel@@gnu.org/,
231 archive2}
232 @uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.devel,
233 archive3}
234
235 @uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.devel,
236 send to lilypond-devel with gmane}
237 @end quotation
238
239
240 @subsubheading Bug mailing list: @code{bug-lilypond@@gnu.org}
241
242 Bug-specific discussion takes place here.
243
244 @quotation
245 @uref{http://lists.gnu.org/mailman/listinfo/bug-lilypond,
246 bug-lilypond subscribe and info}
247
248 @uref{http://lists.gnu.org/archive/html/bug-lilypond/,
249 bug archive1}
250 @uref{http://www.mail-archive.com/bug-lilypond@@gnu.org/,
251 archive2}
252 @uref{http://dir.gmane.org/gmane.comp.gnu.lilypond.bugs,
253 archive3}
254
255 @c don't include gmane posting here.  -gp
256 @end quotation
257
258 @warning{Before sending a message to the bug list, please read our
259 guidelines for @ref{Bug reports}.}
260
261 @divEnd
262
263
264
265 @node Tiny examples
266 @unnumberedsec Tiny examples
267
268 @divClass{column-center-top}
269 @subheading What are @qq{Tiny examples}?
270
271 A tiny example is an example from which nothing can be removed.
272 @divEnd
273
274 @divClass{column-left-bottom}
275 @subheading Why create them?
276
277 @divClass{keep-bullets}
278 @itemize
279
280 @item
281 The simpler the example is, the quicker potential helpers can
282 understand it and help you.
283
284 @item
285 A simple example demonstrates that you have put effort towards
286 solving the problem yourself.  When people send huge portions of
287 input, it looks like they don't care how if we help them or not.
288
289 @item
290 Creating a tiny example forces you to understand what is
291 happening.  Many false problem reports can be avoided by
292 attempting to create a tiny example; if you cannot replicate a
293 @qq{bug} in a tiny example, then the problem was probably an
294 insufficient understanding of LilyPond, not an actual bug!
295
296 @end itemize
297 @divEnd
298
299 @divEnd
300
301
302 @divClass{column-right-bottom}
303 @subheading How do I create them?
304
305 @divClass{keep-bullets}
306 @itemize
307
308 @item
309 Include the \version number.
310
311 @item
312 Make it small!  Examples about spacing or page layout might
313 require many bars of music, but most issues can be reproduced
314 using only a single measure.
315
316 @item
317 When trying to create an example, try commenting out @w{(@code{%}
318 or @code{%@{ @dots{} %@}})} sections of your file.  If you can
319 comment something while still demonstrating the main idea, then
320 remove the commented-material!
321
322 @item
323 Avoid using complicated notes, keys, or time signatures, unless
324 the bug is about the behavior of those items.
325
326 @item
327 Do not use @code{\override} or @code{\set} commands unless the bug
328 is about those particular commands.
329
330 @end itemize
331 @divEnd
332
333 @divEnd
334
335
336
337
338 @node Bug reports
339 @unnumberedsec Bug reports
340
341 @divClass{column-center-top}
342 @subheading Step 1: Known bugs
343
344 If you have input that results in a crash or an erroneous output,
345 then that is a bug.  There is a list of current bugs on our google
346 bug tracker,
347
348 @example
349 @uref{http://code.google.com/p/lilypond/issues/list}
350 @end example
351
352 @warning{Please @strong{DO NOT} add bug reports directly to the
353 bug tracker.  Once an issue has been added to the tracker, feel
354 free to add more information to that report.}
355
356 @divEnd
357
358
359 @divClass{column-left-bottom}
360 @subheading Step 2: Creating a bug report
361
362 If you have discovered a bug which is not listed, please help us
363 by creating a bug report.
364
365 @warning{We only accept bug reports in the form of
366 @ref{Tiny examples}.  We have very limited resources to deal with
367 bug reports, so any non-minimal example will be rejected.  Almost
368 every bug can be demonstrated in four notes or less!}
369
370 Here is an example of a good bug report:
371
372 @example
373 %% the octavation command doesn't
374 %% change the output at all!
375
376 \version "2.10.0"
377 \relative c''' @{
378   c1
379   #(set-octavation 1)
380   c1
381 @}
382 @end example
383
384 @divEnd
385
386 @divClass{column-right-bottom}
387 @subheading Step 3: Sending a bug report
388
389 Once you have verified that the issue is not already known and
390 created a bug report, please send it to us!
391
392 @divClass{keep-bullets}
393 @itemize
394
395 @item
396 If you are subscribed to the @uref{mailto:bug-lilypond@@gnu.org,
397 bug-lilypond@@gnu.org} mailing list, send an email like normal.
398
399 @item
400 If you are not subscribed, you can still post a bug report with
401 the
402 @uref{http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs,
403 gmane lilypond.bugs web interface}.
404
405 However, there is a strict @qq{no top-posting} check on the gmane
406 interface, which is often incorrectly triggered by lilypond files.
407 To avoid this, please add:
408
409 @example
410 > I'm not top posting.
411 @end example
412
413 @noindent
414 (you @emph{must} include the @code{>} ) to the top of your bug
415 report.
416
417 @end itemize
418 @divEnd
419
420 Once your bug has been sent to the list, our Bug Squad will
421 examine the report.  Please allow up to 24 hours, as we have a
422 limited number of volunteers for this task.  They may ask you for
423 more information, or may add the report to the tracker and let you
424 know what the issue number is.
425
426 You may mark the bug so that you automatically receive emails when
427 any activity on the bug occurs.  This requires you have a google
428 account.
429 @divEnd
430
431
432 @node Help us
433 @unnumberedsec Help us
434
435 @divClass{column-center-top}
436 @helpusNeed
437
438 @divEnd
439
440 @divClass{column-left-top}
441 @divClass{keep-bullets}
442 @helpusTasks
443
444 @divEnd
445 @divEnd
446
447 @divClass{column-right-top}
448 @helpusProjects
449
450 @divEnd
451
452
453 @node Development
454 @unnumberedsec Development
455
456 @divClass{heading-center}
457 @ifclear web_version
458   @heading Development for LilyPond @version
459 @end ifclear
460 @ifset web_version
461   @heading Development for LilyPond @versionDevel
462 @end ifset
463
464
465 @warning{These are @emph{unstable development} versions.  If you
466 have the slightest doubt about how to use or install LilyPond, we
467 urge you to use the stable @ref{Download}, and read the stable
468 @ref{Manuals}.}
469
470 @divEnd
471
472 @divClass{column-center-top}
473 @subheading Release numbers
474
475 There are two sets of releases for LilyPond: stable releases, and
476 unstable development releases.  Stable versions have an
477 even-numbered @q{minor} version number (e.g., 2.8, 2.10, 2.12).
478 Development versions have an odd-numbered @q{minor} version number
479 (e.g., 2.7, 2.9, 2.11).
480
481 @divEnd
482
483
484 @divClass{column-left-top}
485 @subheading Download
486
487 Instructions for git and compiling are in the Contributor's Guide.
488
489 @quotation
490 @uref{http://git.sv.gnu.org/gitweb/?p=lilypond.git, lilypond git repository}
491 @end quotation
492
493 Documentation writers and testers will generally want to download
494 the latest binary:
495
496 @quotation
497
498 @downloadDevelLinuxNormal
499
500 @downloadDevelLinuxBig
501
502 @downloadDevelLinuxPPC
503
504 @downloadDevelFreeBSDNormal
505
506 @downloadDevelFreeBSDBig
507
508 @downloadDevelDarwinNormal
509
510 @downloadDevelDarwinPPC
511
512 @downloadDevelWindows
513
514 @downloadDevelSource
515
516 @end quotation
517
518 @divEnd
519
520
521 @divClass{column-right-top}
522 @subheading Contributor's Guide
523
524 LilyPond development is a fairly complicated matter.  In order to
525 help new contributors, and to keep the whole system (mostly)
526 stable, we have written a manual for development tasks.
527
528 @docLinksBare{Contributor's Guide, contributor,
529   @rcontribnamed{Top,Contributor's Guide},
530   @manualDevelContributorSplit,
531   @manualDevelContributorBig, 500 kB,
532   @manualDevelContributorPdf, 2.8 MB}
533
534 @divEnd
535
536
537 @divClass{column-center-top}
538 @subheading Regression tests
539
540 @divClass{keep-bullets}
541
542 @ifclear web_version
543
544 @itemize
545 @item
546 @uref{../../input/regression/collated-files.html, Regression tests}:
547 This release's regtests.
548 (@uref{../../input/regression/collated-files.pdf, pdf version})
549
550 @item
551 @uref{../../input/regression/musicxml/collated-files.html, MusicXML tests}:
552 This release's musicXML tests.
553 (@uref{../../input/regression/musicxml/collated-files.pdf, pdf version})
554
555 @item
556 @uref{../../input/regression/abc2ly/collated-files.html, abc2ly tests}:
557 This release's abc2ly tests.
558 (@uref{../../input/regression/abc2ly/collated-files.pdf, pdf version})
559
560 @item
561 @uref{../../input/regression/lilypond-book/collated-files.html, lilypond-book tests}:
562 This release's lilypond-book tests.
563 (@uref{../../input/regression/lilypond-book/collated-files.pdf, pdf version})
564 @end itemize
565
566 @end ifclear
567
568 @ifset web_version
569 @subsubheading Development version
570
571 @itemize
572 @item @regtestDevel (@regtestDevelPdf{})
573
574 @item @regtestDevelXml (@regtestDevelXmlPdf{})
575
576 @item @regtestDevelAbc (@regtestDevelAbcPdf{})
577
578 @item @regtestDevelLilypondBook (@regtestDevelLilypondBookPdf{})
579 @end itemize
580
581 @subsubheading Stable version
582
583 @itemize
584 @item @regtestStable (@regtestStablePdf{})
585
586 @item @regtestStableXml (@regtestStableXmlPdf{})
587
588 @item @regtestStableAbc (@regtestStableAbcPdf{})
589
590 @item @regtestStableLilypondBook (@regtestStableLilypondBookPdf{})
591 @end itemize
592 @end ifset
593
594
595 @subsubheading All versions
596
597 @itemize
598 @item @uref{http://lilypond.org/test, Archive of regression tests}:
599 Comparisons between versions.
600 @end itemize
601
602 @divEnd
603 @divEnd
604
605
606
607 @divClass{column-center-bottom}
608 @subheading Manuals
609
610 @ifclear web_version
611 @warning{These manuals are for LilyPond @version{}; the latest
612 manuals can be found at @url{http://lilypond.org}}
613 @end ifclear
614
615 @divClass{normal-table}
616 @multitable @columnfractions .3 .3 .3
617 @headitem Introduction
618 @item
619 @docLinkSplit{Learning,learning,@manualDevelLearningSplit}
620 @tab
621 @docLinkBig{Learning,learning,@manualDevelLearningBig}
622 @tab
623 @docLinkPdf{Learning,learning,@manualDevelLearningPdf}
624
625 @item
626 @docLinkSplit{Glossary,music-glossary,@manualDevelGlossarySplit}
627 @tab
628 @docLinkBig{Glossary,music-glossary,@manualDevelGlossaryBig}
629 @tab
630 @docLinkPdf{Glossary,music-glossary,@manualDevelGlossaryPdf}
631
632 @item
633 @docLinkSplit{Essay,essay,@manualDevelEssaySplit}
634 @tab
635 @docLinkBig{Essay,essay,@manualDevelEssayBig}
636 @tab
637 @docLinkPdf{Essay,essay,@manualDevelEssayPdf}
638
639 @headitem Regular
640
641 @item
642 @docLinkSplit{Notation,notation,@manualDevelNotationSplit}
643 @tab
644 @docLinkBig{Notation,notation,@manualDevelNotationBig}
645 @tab
646 @docLinkPdf{Notation,notation,@manualDevelNotationPdf}
647
648 @item
649 @docLinkSplit{Usage,usage,@manualDevelUsageSplit}
650 @tab
651 @docLinkBig{Usage,usage,@manualDevelUsageBig}
652 @tab
653 @docLinkPdf{Usage,usage,@manualDevelUsagePdf}
654
655 @item
656 @docLinkSplit{Snippets,snippets,@manualDevelSnippetsSplit}
657 @tab
658 @docLinkBig{Snippets,snippets,@manualDevelSnippetsBig}
659 @tab
660 @docLinkPdf{Snippets,snippets,@manualDevelSnippetsPdf}
661
662 @headitem Infrequent
663
664 @item
665 @docLinkSplit{Web,web,@manualDevelWebSplit}
666 @tab
667 @docLinkBig{Web,web,@manualDevelWebBig}
668 @tab
669 @docLinkPdf{Web,web,@manualDevelWebPdf}
670
671 @item
672 @docLinkSplit{Changes,changes,@manualDevelChangesSplit}
673 @tab
674 @docLinkBig{Changes,changes,@manualDevelChangesBig}
675 @tab
676 @docLinkPdf{Changes,changes,@manualDevelChangesPdf}
677
678 @item
679 @docLinkSplit{Extending,extending,@manualDevelExtendingSplit}
680 @tab
681 @docLinkBig{Extending,extending,@manualDevelExtendingBig}
682 @tab
683 @docLinkPdf{Extending,extending,@manualDevelExtendingPdf}
684
685 @item
686 @docLinkSplit{Internals,internals,@manualDevelInternalsSplit}
687 @tab
688 @docLinkBig{Internals,internals,@manualDevelInternalsBig}
689 @tab
690 @docLinkPdf{Internals,internals,@manualDevelInternalsPdf}
691
692 @ifset web_version
693 @headitem Downloadable
694
695 @item
696 @doctarballDevel
697 @end ifset
698
699 @end multitable
700
701 @divEnd
702 @divEnd
703
704
705
706
707 @node Authors
708 @unnumberedsec Authors
709
710 @divClass{column-left-top}
711 @subheading Current Development Team
712
713 @divClass{keep-bullets}
714 @developersCurrent
715 @divEnd
716 @divEnd
717
718 @divClass{column-right-top}
719 @subheading Previous Development Team
720
721 @divClass{keep-bullets}
722 @developersPrevious
723 @divEnd
724 @divEnd
725
726
727 @divClass{column-center-top}
728 @subheading Current Contributors
729
730 @divClass{keep-bullets}
731 @subsubheading Programming
732
733 @coreCurrent
734
735 @subsubheading Font
736
737 @fontCurrent
738
739 @subsubheading Documentation
740
741 @docCurrent
742
743 @subsubheading Bug squad
744
745 @bugsquadCurrent
746
747 @subsubheading Support
748
749 @supportCurrent
750
751 @subsubheading Translation
752
753 @translationsCurrent
754
755 @divEnd
756 @divEnd
757
758
759 @divClass{column-center-bottom}
760 @subheading Previous Contributors
761
762 @divClass{keep-bullets}
763 @subsubheading Programming
764
765 @corePrevious
766
767 @subsubheading Font
768
769 @fontPrevious
770
771 @subsubheading Documentation
772
773 @docPrevious
774
775 @c    uncomment when we have any previous members -gp
776 @c @subsubheading Bug squad
777
778 @c @bugsquadCurrent
779
780 @subsubheading Support
781
782 @supportPrevious
783
784 @subsubheading Translation
785
786 @translationsPrevious
787
788 @divEnd
789 @divEnd
790
791
792
793 @node Publications
794 @unnumberedsec Publications
795
796 @divClass{column-center-top}
797 @subheading What we wrote about LilyPond
798
799 @divClass{keep-bullets}
800 @itemize
801
802 @item
803 Han-Wen Nienhuys, @emph{LilyPond, Automated music formatting and
804 the Art of Shipping}.  Forum Internacional Software Livre 2006
805 (FISL7.0) (@uref{http://lilypond.org/web/images/FISL7-slides.pdf,
806 PDF 1095k})
807
808 @item
809 Erik Sandberg, @emph{Separating input language and formatter in
810 GNU LilyPond}. Master's Thesis, Uppsala University, Department of
811 Information Technology March 2006.
812 (@uref{http://lilypond.org/web/images/thesis-erik-sandberg.pdf,
813 PDF 750k})
814
815 @item
816 Han-Wen Nienhuys and Jan Nieuwenhuizen, @emph{LilyPond, a system
817 for automated music engraving}.  Proceedings of the XIV Colloquium
818 on Musical Informatics (XIV CIM 2003), Firenze, Italy, May 2003.
819 (@uref{ http://lilypond.org/web/images/xivcim.pdf, PDF 95k})
820
821 @end itemize
822
823 @divEnd
824 @divEnd
825
826
827 @divClass{column-center-bottom}
828
829 @subheading What people did with LilyPond
830
831
832 @divClass{keep-bullets}
833 @itemize
834
835 @item
836 Graham Percival, Tosten Anders, and George Tzanetakis,
837 @emph{Generating Targeted Rhythmic Exercises for Music Students
838 with Constraint Satisfaction Programming}, International Computer
839 Music Conference 2008.
840
841 @item
842 Alexandre Tachard Passos, Marcos Sampaio, Pedro Kröger, Givaldo de Cidra,
843 @emph{Functional Harmonic Analysis and Computational Musicology
844 in Rameau}, Proceedings of the 12th Brazilian Symposium on Computer
845 Music, 2009, pp. 207-210.
846
847 @item
848 Alberto Simões, Anália Lourenço and José João Almeida,
849 @emph{Using Text Mining Techniques for Classical Music Scores Analysis},
850 New Trends in Artificial Intelligence, 2007 J. Neves et al ed.
851
852 @item
853
854 Kevin C. Baird 2005,
855 @emph{Real-time generation of music notation via audience interaction using
856 python and GNU lilypond}. Proceedings of the 2005 Conference on New interfaces
857 For Musical Expression (Vancouver, Canada, May 26 - 28, 2005).
858
859
860 @end itemize
861
862 @divEnd
863 @divEnd
864
865
866 @node Old news
867 @unnumberedsec Old news
868
869 @include web/news-front.itexi
870
871 @include web/news.itexi
872
873