]> git.donarmstrong.com Git - lilypond.git/blob - Documentation/web/community.itexi
Web: thinko.
[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 owm 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 Portugese 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 @itemize
542
543 @ifclear web_version
544
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 @end ifclear
555
556 @ifset web_version
557 @item @regtestDevel (@regtestDevelPdf{})
558
559 @item @regtestDevelXml (@regtestDevelXmlPdf{})
560
561 @item @regtestStable (@regtestStablePdf{})
562
563 @item @regtestStableXml (@regtestStableXmlPdf{})
564 @end ifset
565
566
567 @item @uref{http://lilypond.org/test, Archive of regression tests}:
568 Comparisons between versions.
569
570 @end itemize
571 @divEnd
572 @divEnd
573
574
575
576 @divClass{column-center-bottom}
577 @subheading Manuals
578
579 @ifclear web_version
580 @warning{These manuals are for LilyPond @version{}; the latest
581 manuals can be found at @url{http://lilypond.org}}
582 @end ifclear
583
584 @divClass{normal-table}
585 @multitable @columnfractions .3 .3 .3
586 @headitem Introduction
587 @item
588 @docLinkSplit{Learning,learning,@manualDevelLearningSplit}
589 @tab
590 @docLinkBig{Learning,learning,@manualDevelLearningBig}
591 @tab
592 @docLinkPdf{Learning,learning,@manualDevelLearningPdf}
593
594 @item
595 @docLinkSplit{Glossary,music-glossary,@manualDevelGlossarySplit}
596 @tab
597 @docLinkBig{Glossary,music-glossary,@manualDevelGlossaryBig}
598 @tab
599 @docLinkPdf{Glossary,music-glossary,@manualDevelGlossaryPdf}
600
601 @item
602 @docLinkSplit{Essay,essay,@manualDevelEssaySplit}
603 @tab
604 @docLinkBig{Essay,essay,@manualDevelEssayBig}
605 @tab
606 @docLinkPdf{Essay,essay,@manualDevelEssayPdf}
607
608 @headitem Regular
609
610 @item
611 @docLinkSplit{Notation,notation,@manualDevelNotationSplit}
612 @tab
613 @docLinkBig{Notation,notation,@manualDevelNotationBig}
614 @tab
615 @docLinkPdf{Notation,notation,@manualDevelNotationPdf}
616
617 @item
618 @docLinkSplit{Usage,usage,@manualDevelUsageSplit}
619 @tab
620 @docLinkBig{Usage,usage,@manualDevelUsageBig}
621 @tab
622 @docLinkPdf{Usage,usage,@manualDevelUsagePdf}
623
624 @item
625 @docLinkSplit{Snippets,snippets,@manualDevelSnippetsSplit}
626 @tab
627 @docLinkBig{Snippets,snippets,@manualDevelSnippetsBig}
628 @tab
629 @docLinkPdf{Snippets,snippets,@manualDevelSnippetsPdf}
630
631 @headitem Infrequent
632
633 @item
634 @docLinkSplit{Web,web,@manualDevelWebSplit}
635 @tab
636 @docLinkBig{Web,web,@manualDevelWebBig}
637 @tab
638 @docLinkPdf{Web,web,@manualDevelWebPdf}
639
640 @item
641 @docLinkSplit{Changes,changes,@manualDevelChangesSplit}
642 @tab
643 @docLinkBig{Changes,changes,@manualDevelChangesBig}
644 @tab
645 @docLinkPdf{Changes,changes,@manualDevelChangesPdf}
646
647 @item
648 @docLinkSplit{Extending,extending,@manualDevelExtendingSplit}
649 @tab
650 @docLinkBig{Extending,extending,@manualDevelExtendingBig}
651 @tab
652 @docLinkPdf{Extending,extending,@manualDevelExtendingPdf}
653
654 @item
655 @docLinkSplit{Internals,internals,@manualDevelInternalsSplit}
656 @tab
657 @docLinkBig{Internals,internals,@manualDevelInternalsBig}
658 @tab
659 @docLinkPdf{Internals,internals,@manualDevelInternalsPdf}
660
661 @ifset web_version
662 @headitem Downloadable
663
664 @item
665 @doctarballDevel
666 @end ifset
667
668 @end multitable
669
670 @divEnd
671 @divEnd
672
673
674
675
676 @node Authors
677 @unnumberedsec Authors
678
679 @divClass{column-left-top}
680 @subheading Current Development Team
681
682 @divClass{keep-bullets}
683 @developersCurrent
684 @divEnd
685 @divEnd
686
687 @divClass{column-right-top}
688 @subheading Previous Development Team
689
690 @divClass{keep-bullets}
691 @developersPrevious
692 @divEnd
693 @divEnd
694
695
696 @divClass{column-center-top}
697 @subheading Current Contributors
698
699 @divClass{keep-bullets}
700 @subsubheading Programming
701
702 @coreCurrent
703
704 @subsubheading Font
705
706 @fontCurrent
707
708 @subsubheading Documentation
709
710 @docCurrent
711
712 @subsubheading Bug squad
713
714 @bugsquadCurrent
715
716 @subsubheading Support
717
718 @supportCurrent
719
720 @subsubheading Translation
721
722 @translationsCurrent
723
724 @divEnd
725 @divEnd
726
727
728 @divClass{column-center-bottom}
729 @subheading Previous Contributors
730
731 @divClass{keep-bullets}
732 @subsubheading Programming
733
734 @corePrevious
735
736 @subsubheading Font
737
738 @fontPrevious
739
740 @subsubheading Documentation
741
742 @docPrevious
743
744 @c    uncomment when we have any previous members -gp
745 @c @subsubheading Bug squad
746
747 @c @bugsquadCurrent
748
749 @subsubheading Support
750
751 @supportPrevious
752
753 @subsubheading Translation
754
755 @translationsPrevious
756
757 @divEnd
758 @divEnd
759
760
761
762 @node Publications
763 @unnumberedsec Publications
764
765 @divClass{column-center-top}
766 @subheading What we wrote about LilyPond
767
768 @divClass{keep-bullets}
769 @itemize
770
771 @item
772 Han-Wen Nienhuys, @emph{LilyPond, Automated music formatting and
773 the Art of Shipping}.  Forum Internacional Software Livre 2006
774 (FISL7.0) (@uref{http://lilypond.org/web/images/FISL7-slides.pdf,
775 PDF 1095k})
776
777 @item
778 Erik Sandberg, @emph{Separating input language and formatter in
779 GNU LilyPond}. Master's Thesis, Uppsala University, Department of
780 Information Technology March 2006.
781 (@uref{http://lilypond.org/web/images/thesis-erik-sandberg.pdf,
782 PDF 750k})
783
784 @item
785 Han-Wen Nienhuys and Jan Nieuwenhuizen, @emph{LilyPond, a system
786 for automated music engraving}.  Proceedings of the XIV Colloquium
787 on Musical Informatics (XIV CIM 2003), Firenze, Italy, May 2003.
788 (@uref{ http://lilypond.org/web/images/xivcim.pdf, PDF 95k})
789
790 @end itemize
791
792 @divEnd
793 @divEnd
794
795
796 @divClass{column-center-bottom}
797
798 @subheading What people did with LilyPond
799
800
801 @divClass{keep-bullets}
802 @itemize
803
804 @item
805 Graham Percival, Tosten Anders, and George Tzanetakis,
806 @emph{Generating Targeted Rhythmic Exercises for Music Students
807 with Constraint Satisfaction Programming}, International Computer
808 Music Conference 2008.
809
810 @item
811 A. Passos, M. Silva, P. Kroger, and G. Cidra,
812 @emph{Functional Harmonic Analysis and Computational Musicology
813 in Rameau}, Proceedings of the 12th Brazilian Symposium on Compute
814 Music, 2009, pp. 207-210.
815
816 @item
817 Alberto Simões, Anália Lourenço and José João Almeida,
818 @emph{Using Text Mining Techniques for Classical Music Scores Analysis},
819 New Trends in Artificial Intelligence, 2007 J. Neves et al ed.
820
821 @item
822
823 Kevin C. Baird 2005.
824 @emph{Real-time generation of music notation via audience interaction using
825 python and GNU lilypond}. Proceedings of the 2005 Conference on New interfaces
826 For Musical Expression (Vancouver, Canada, May 26 - 28, 2005).
827 New Interfaces For Musical Expression. National University of Singapore, Singapore, 240-241.
828
829 @end itemize
830
831 @divEnd
832 @divEnd
833
834
835 @node Old news
836 @unnumberedsec Old news
837
838 @include web/news-front.itexi
839
840 @include web/news.itexi
841
842