]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge commit '65dd8bb'
authorJoe Neeman <joeneeman@gmail.com>
Wed, 4 Jul 2007 00:21:00 +0000 (10:21 +1000)
committerJoe Neeman <joeneeman@gmail.com>
Wed, 4 Jul 2007 00:21:00 +0000 (10:21 +1000)
64 files changed:
Documentation/GNUmakefile
Documentation/TRANSLATION
Documentation/de/user/basic-notation.itely
Documentation/es/user/cheatsheet.itely
Documentation/fr/user/basic-notation.itely
Documentation/fr/user/working.itely
Documentation/po/de.po
Documentation/po/es.po
Documentation/po/fr.po
Documentation/po/lilypond-doc.pot
Documentation/user/basic-notation.itely
Documentation/user/lilypond-book.itely
buildscripts/add_html_footer.py
buildscripts/makelsr.py
buildscripts/update-snippets.py [new file with mode: 0644]
input/lsr/GNUmakefile
input/lsr/LSR.ly
input/lsr/engravers/engravers-one-by-one.ly [new file with mode: 0644]
input/lsr/engravers/removing-time-signature-and-bar-lines.ly [new file with mode: 0644]
input/lsr/expressive/attaching-an-arpeggio-to-different-voices-inside-a-same-staff.ly [new file with mode: 0644]
input/lsr/instrument-specific/AAA-intro.ly [deleted file]
input/lsr/instrument-specific/GNUmakefile [deleted file]
input/lsr/instrument-specific/SConscript [deleted file]
input/lsr/instrument/AAA-intro.ly [new file with mode: 0644]
input/lsr/instrument/GNUmakefile [new file with mode: 0644]
input/lsr/instrument/SConscript [new file with mode: 0644]
input/lsr/instrument/adding-drum-parts.ly [new file with mode: 0644]
input/lsr/non-music/AAA-intro.ly [deleted file]
input/lsr/non-music/GNUmakefile [deleted file]
input/lsr/non-music/SConscript [deleted file]
input/lsr/non-music/clip-systems.ly [deleted file]
input/lsr/non-music/toc.ly [deleted file]
input/lsr/nonmusic/AAA-intro.ly [new file with mode: 0644]
input/lsr/nonmusic/GNUmakefile [new file with mode: 0644]
input/lsr/nonmusic/SConscript [new file with mode: 0644]
input/lsr/nonmusic/all-headers.ly [new file with mode: 0644]
input/lsr/nonmusic/clip-systems.ly [new file with mode: 0644]
input/lsr/nonmusic/toc.ly [new file with mode: 0644]
input/lsr/other/adding-drum-parts.ly [deleted file]
input/lsr/other/all-headers.ly [deleted file]
input/lsr/other/engravers-one-by-one.ly [deleted file]
input/lsr/other/removing-time-signature-and-bar-lines.ly [deleted file]
input/lsr/pitch/combining-two-parts-on-the-same-staff.ly [new file with mode: 0644]
input/lsr/pitch/forced-and-cautionary-accidentals.ly [new file with mode: 0644]
input/lsr/pitch/preventing-stem-extension.ly [new file with mode: 0644]
input/lsr/pitch/rest-styles.ly [new file with mode: 0644]
input/new/GNUmakefile
input/new/instrument-specific/AAA-intro.ly [deleted file]
input/new/instrument-specific/GNUmakefile [deleted file]
input/new/instrument-specific/SConscript [deleted file]
input/new/instrument/AAA-intro.ly [new file with mode: 0644]
input/new/instrument/GNUmakefile [new file with mode: 0644]
input/new/instrument/SConscript [new file with mode: 0644]
input/new/non-music/AAA-intro.ly [deleted file]
input/new/non-music/GNUmakefile [deleted file]
input/new/non-music/SConscript [deleted file]
input/new/non-music/clip-systems.ly [deleted file]
input/new/non-music/toc.ly [deleted file]
input/new/nonmusic/AAA-intro.ly [new file with mode: 0644]
input/new/nonmusic/GNUmakefile [new file with mode: 0644]
input/new/nonmusic/SConscript [new file with mode: 0644]
input/new/nonmusic/clip-systems.ly [new file with mode: 0644]
input/new/nonmusic/toc.ly [new file with mode: 0644]
make/doclang-targets.make

index 84466887e07a1552f4e3dd56525fe101b94904ff..a2b1730e02d3c34b0c1d7deded1ff606de739a08 100644 (file)
@@ -30,6 +30,9 @@ txt-to-html:
 po-update:
        make -C po po-update
 
+all-translations-update: po-update
+       $(foreach lang, $(LANGS), make ISOLANG=$(lang) skeleton-update snippet-update &&) true
+
 ifneq ($(ISOLANG),)
 new-lang:
        @if (( $$(file -b $(ISOLANG)) == directory )) 2>/dev/null; \
@@ -52,4 +55,7 @@ check-translation:
 skeleton-update:
        $(PYTHON) $(buildscript-dir)/texi-langutils.py -d $(outdir) -b "UNTRANSLATED NODE: IGNORE ME" -l $(ISOLANG) --skeleton ../user/lilypond.tely
        $(PYTHON) $(buildscript-dir)/texi-skeleton-update.py $(ISOLANG)/user $(outdir)
+
+snippet-update:
+       $(PYTHON) $(buildscript-dir)/update-snippets.py user $(ISOLANG)/user '*.itely'
 endif
index 6b03886d03e34f6740215cce8e843edf9db69836..54da776699b14016f993a0248041626ad38d4250 100644 (file)
@@ -181,6 +181,8 @@ translated directly in the Texinfo source
 As a notable exception, the second argument 'Bar baz' of
 @ref{Foo,'Bar baz',,info-file} should be translated.
 
+@uref's names are to be translated.
+
 In any section which looks like
 
 @menu
@@ -192,13 +194,27 @@ In any section which looks like
 the node names (nodeN) are NOT to be translated, whereas extra title
 information (thingN) is.
 
-
 Every node name or section title must from now on be translated
 separately in a .po file (just as well as LilyPond output messages).
 This .po file should be in Documentation/po.
 
-Make sure to keep *verbatim* copies of music snippets (in @lilypond blocs).
-@example blocs do not have to be verbatim copies, e.g. variable names,
+
+Please keep verbatim copies of music snippets (in @lilypond blocs).
+However, some music snippets containing text that shows in the
+rendered music, and sometimes translating this text really helps the
+user to understand the documentation; in this case, and only in this
+case, you may as an exception translate text in the music snippet, and
+then you must add a line immediately before the @lilypond block,
+beginning with
+
+@c KEEP LY
+
+Otherwise the music snippet would be reset to the same contents as the
+English version at next 'make snippet-update' run (see UPDATING A
+TRANSLATION below).
+
+
+@example blocs need not be verbatim copies, e.g. variable names,
 file names and comments should be translated.
 
 Index entries (@cindex and so on) should be translated.
@@ -234,7 +250,7 @@ UPDATE A TRANSLATION
 
 Texinfo skeleton files, i.e. .itely files not yet translated,
 containing only the Texinfo structure can be updated automatically:
-whenever 'make check-translation' shows that such files shouldbe
+whenever 'make check-translation' shows that such files should be
 updated, run from Documentation
 
     make ISOLANG=<MY_LANGUAGE> skeleton-update
@@ -244,6 +260,24 @@ Documentation or Documentation/po)
 
     make po-update
 
+Updating music snippets can quickly become cumbersome, as most
+snippets should be identical in all languages.  Fortunately, there is
+a script than can do this odd job for you (run from Documentation):
+
+    make ISOLANG=<MY_LANGUAGE> snippet-update
+
+This script overwrites music snippets in <MY_LANGUAGE>/user/every.itely
+with music snippets from user/every.itely.  It ignores skeleton files,
+and keeps intact music snippets preceded with a line starting with '@c
+KEEP LY'; it reports an error for each .itely that has not the same
+music snippet count in both languages.
+
+Finally, a command runs the three update processes above for all
+enabled languages (from Documentation):
+
+    make all-translations-update
+
+This command is mainly intended to be used by the Translation meister.
 
 
 TECHNICAL BACKGROUND
@@ -264,3 +298,5 @@ tweak links in HTML pages
 before calling texi2pdf
 * mass-link.py -- link or symlink files between English documentation
 and documentation in other languages
+* update-snippets.py -- synchronize ly snippets with those from
+English docs
index 4b61a201f5e25f4013580c33d07ea634885617b4..8dc746f5c6cd9dad931a57b6dae2b03ce3f65554 100644 (file)
@@ -1990,7 +1990,7 @@ die @internalsref{systemStartDelimiter}-Eigenschaft bestimmt.
 Anfangsklammern können tief einander verschachtelt werden.
 
 @lilypond[quote,ragged-right,verbatim]
-\new StaffGroup 
+\new StaffGroup
 \relative <<
   \set StaffGroup.systemStartDelimiterHierarchy
     = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
index e4704a195bf93aa51ad606d47a9bb819581ef78f..bd4d973672dbccc47d409e21b6ac5546974ce619 100644 (file)
@@ -155,8 +155,14 @@ a8-[ b-]
 @tab más pentagramas
 @tab
 @lilypond[fragment]
-<< \new Staff { c'1 }
-  \new Staff { c'1 } >>
+<< \new Staff {
+     \set Staff.implicitTimeSignatureVisibility = #all-invisible
+     c'1
+   }
+   \new Staff {
+     \set Staff.implicitTimeSignatureVisibility = #all-invisible
+     c'1
+   } >>
 @end lilypond
 
   
@@ -174,7 +180,7 @@ c-> c-.
 @tab
 @lilypond[fragment,relative=2]
 \set Staff.implicitTimeSignatureVisibility = #all-invisible
-c\mf c\sfz
+c2\mf c\sfz
 @end lilypond
 
 
@@ -203,6 +209,7 @@ a\> a a\!
 @tab acorde
 @tab
 @lilypond[fragment,relative=2]
+\set Staff.implicitTimeSignatureVisibility = #all-invisible
 <c e> 
 @end lilypond
 
@@ -220,6 +227,7 @@ f8 c2 d e
 @tab tresillos
 @tab
 @lilypond[relative=1,fragment]
+\set Staff.implicitTimeSignatureVisibility = #all-invisible
 \times 2/3 { f8 g a }
 @end lilypond
 
@@ -228,6 +236,7 @@ f8 c2 d e
 @tab mordentes
 @tab
 @lilypond[relative=2,fragment]
+\set Staff.implicitTimeSignatureVisibility = #all-invisible
 \context Voice { \grace b16 c4 }
 @end lilypond
 
@@ -248,6 +257,7 @@ twinkle
 @tab separador de sílabas
 @tab
 @lilypond[fragment,relative=2]
+\set Staff.implicitTimeSignatureVisibility = #all-invisible
 <<
    { g'1 g }
   \new Lyrics \lyricsto "" { twin -- kle }
@@ -258,6 +268,7 @@ twinkle
 @tab acordes
 @tab
 @lilypond[fragment,relative=2]
+\set Staff.implicitTimeSignatureVisibility = #all-invisible
 \chordmode { c:dim f:maj7 }
 @end lilypond
 
@@ -272,6 +283,7 @@ twinkle
 @tab polifonía
 @tab
 @lilypond[fragment,relative=2]
+\set Staff.implicitTimeSignatureVisibility = #all-invisible
 \context Staff <<{e f} \\ {c d}>>
 @end lilypond
 
index 71711ffbf5b25977fa9362cc0458f052659b40b7..0927beebff15389cc804179c4fc219692f059cc0 100644 (file)
@@ -1264,10 +1264,10 @@ croche, en définissant @code{merge-differently-headed}
 
 @lilypond[quote,ragged-right,fragment,relative=2,verbatim]
 \new Voice << {
- c8 c4.
- \override Staff.NoteCollision
-   #'merge-differently-headed = ##t
-c8 c4.  } \\ { c2 c2 } >>
 c8 c4.
 \override Staff.NoteCollision
+    #'merge-differently-headed = ##t
+c8 c4. } \\ { c2 c2 } >>
 @end lilypond
 
 LilyPond empile aussi les silences Ã  l'opposé des
@@ -1923,13 +1923,30 @@ s'agit de l'assemblage par défaut.
 
 @seealso
 
-
 Pour les barres de mesure au début de chaque système, voir
 @internalsref{SystemStartBar}, @internalsref{SystemStartBrace}, et
 @internalsref{SystemStartBracket}.  Dans chaque contexte, seul l'un de
 ces styles est utilisé, et c'est la propriété
 @internalsref{systemStartDelimiter} qui détermine lequel.
 
+@commonprop
+
+Les accolades et crochets délimitant les systèmes peuvent Ãªtre imbriqués
+en profondeur,
+
+@lilypond[quote,ragged-right,verbatim]
+\new StaffGroup
+\relative <<
+  \set StaffGroup.systemStartDelimiterHierarchy
+    = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
+  \new Staff { c1 }
+  \new Staff { c1 }
+  \new Staff { c1 }
+  \new Staff { c1 }
+  \new Staff { c1 }
+>>
+@end lilypond
+
 
 @node Staff symbol
 @subsection Staff symbol
@@ -2005,6 +2022,47 @@ On peut Ã©crire plusieurs voix de façon entremêlée :
 >>
 @end lilypond
 
+Ceci fonctionne bien avec la musique pour piano :
+
+@lilypond[quote,verbatim]
+music = {
+  \key c \major
+  \time 4/4
+  \parallelMusic #'(voiceA voiceB voiceC voiceD) {
+    % Bar 1
+    r8  g'16[ c''] e''[ g' c'' e''] r8  g'16[ c''] e''[ g' c''
+e''] |
+    c'2                                 c'2 |
+    r8  a16[ d'] f'[ a d' f']       r8  a16[ d'] f'[ a d' f'] |
+    c2                                  c2 |
+
+    % Bar 2
+    a'8 b'      c'' d''    e'' f''    g'' a'' |
+    d'4         d'         d'         d' |
+    c16 d e f   d e f g    e f g a    f g a b |
+    a,4         a,4        a,4        a,4 |
+
+    % Bar 3 ...
+  }
+}
+
+\score {
+  \new PianoStaff <<
+    \music
+    \new Staff <<
+      \voiceA \\
+      \voiceB
+    >>
+    \new Staff {
+      \clef bass
+      <<
+        \voiceC \\
+        \voiceD
+      >>
+    }
+  >>
+}
+@end lilypond
 
 
 @node Connecting notes
@@ -2097,7 +2155,7 @@ r <c e g>\repeatTie
 @commonprop
 
 
-Les liaisons de tenues servent parfois Ã  rendre un accord arpégé. Dans
+Les liaisons de tenue servent parfois Ã  rendre un accord arpégé. Dans
 ce cas, les notes liées ne sont pas toutes l'une contre l'autre. Il
 faut alors définir comme vraie (@q{t} pour @q{true}) la propriété
 @code{tieWaitForNote}.  Cette même méthode peut servir, par exemple, Ã 
@@ -2110,10 +2168,22 @@ lier un trémolo Ã  un accord :
 e8~ c~ a~ f~ <e' c a f>2
 @end lilypond
 
+Il est possible de graver manuellement les liaisons de tenue, en
+changeant la propriété @code{tie-configuration}.  Pour chaque paire, le
+premier nombre indique la distance Ã  la portée, en espaces de portée, et
+le deuxième nombre indique la direction --- 1 pour haut, @minus{}1 pour
+bas.
 
-@refcommands
+@lilypond[fragment,verbatim,relative=1,ragged-right,quote]
+<c e g>2~ <c e g> |
+\override TieColumn #'tie-configuration =
+  #'((0.0 . 1) (-2.0 . 1) (-4.0 . 1))
+<c e g>~ <c e g> |
+@end lilypond
 
 
+@refcommands
+
 @funindex \tieUp
 @code{\tieUp},
 @funindex \tieDown
@@ -2135,10 +2205,8 @@ Dans ce même manuel : @ref{Automatic note splitting}.
 Référence du programme : @internalsref{Tie}.
 
 
-
 @refbugs
 
-
 Un changement de portée, lorsqu'une liaison de tenue est active, ne
 peut produire une liaison oblique.
 
@@ -3331,9 +3399,9 @@ Il est possible de créer des répétitions avec une levée.
 
 @lilypond[quote,ragged-right,fragment,verbatim,relative=2]
 \new Staff {
-  \partial 4
-  \repeat volta 4 { e | c2 d2 | e2 f2 | }
-  \alternative { { g4 g g } { a | a a a a | b2. } }
+  \partial 4 e |
+  \repeat volta 4 { c2 d2 | e2 f2 | }
+  \alternative { { g4 g g e } { a a a a | b2. } }
 }
 @end lilypond
 
index 4dbb96d24d344e47a7e6bbdfa7bcad7dab1d1dcc..5b035614c13abc16bbc726c076a492d6e38b202d 100644 (file)
@@ -194,9 +194,9 @@ Jusqu'à maintenant, vous avez vu ce type de code :
 @lilypond[quote,verbatim,ragged-right]
 hornNotes = \relative c'' { c4 b dis c }
 \score {
- {
-   \hornNotes
- }
 {
+    \hornNotes
 }
 }
 @end lilypond
 
index 1d9ea31f35f19d68a16b06c23ec472ca2b850b28..5a2ad1e7e2b6a91b39443d5096cc0144b7a7d500 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-06-28 14:13+0200\n"
+"POT-Creation-Date: 2007-07-04 00:04+0200\n"
 "PO-Revision-Date: 2007-05-12 18:41+0200\n"
 "Last-Translator: Till Rettig <till.rettig@gmx.de>\n"
 "Language-Team: de <LL@li.org>\n"
@@ -16,18 +16,25 @@ msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: add_html_footer.py:46
+#: add_html_footer.py:44
 #, python-format
 msgid "This page is for %(package_name)s-%(package_version)s (%(branch_str)s)."
 msgstr ""
 "Diese Seite ist für %(package_name)s-%(package_version)s (%(branch_str)s)."
 
-#: add_html_footer.py:47
+#: add_html_footer.py:45
 #, python-format
 msgid "Report errors to <a href=\"%(mail_address_url)s\">%(mail_address)s</a>."
 msgstr ""
 "Fehler bitte an <a href=\"%(mail_address_url)s\">%(mail_address)s</a> melden."
 
+#: add_html_footer.py:46
+#, python-format
+msgid ""
+"Your <a href=\"%(suggest_s_url)s\">suggestions for the documentation</a> are "
+"welcome."
+msgstr ""
+
 #: add_html_footer.py:54
 #, python-format
 msgid "Other languages: %s."
@@ -38,11 +45,11 @@ msgstr "Andere Sprachen: %s."
 msgid "About <A HREF=\"%s\">automatic language selection</A>."
 msgstr "Ãœber die <A HREF=\"%s\">automatische Sprachauswahl</A>."
 
-#: add_html_footer.py:238
+#: add_html_footer.py:251
 msgid "stable-branch"
 msgstr "stabiler Zweig"
 
-#: add_html_footer.py:240
+#: add_html_footer.py:253
 msgid "development-branch"
 msgstr "Entwicklungszweig"
 
@@ -2014,7 +2021,8 @@ msgid "Integrating LaTeX and music"
 msgstr "Noten in LaTeX integrieren"
 
 #. @section in ../../../Documentation/user/lilypond-book.itely
-msgid "Integrating La@TeX{} and music"
+#, fuzzy
+msgid "Integrating @LaTeX{} and music"
 msgstr "Noten in La@TeX{} integrieren"
 
 #. @node in ../../../Documentation/user/lilypond-book.itely
index 1a7f355f1ee3afb8114a521a76f58225c40dc429..8ac7db7284f10ab1e6a6c9779113bdaf16f57146 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-06-28 14:13+0200\n"
+"POT-Creation-Date: 2007-07-04 00:04+0200\n"
 "PO-Revision-Date: 2007-03-28 10:29+0200\n"
 "Last-Translator: Francisco Vila <francisco.vila@hispalinux.es>\n"
 "Language-Team: spanish <es@li.org>\n"
@@ -16,20 +16,27 @@ msgstr ""
 "Content-Type: text/plain; charset=utf-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: add_html_footer.py:46
+#: add_html_footer.py:44
 #, python-format
 msgid "This page is for %(package_name)s-%(package_version)s (%(branch_str)s)."
 msgstr ""
 "Esta página corresponde a %(package_name)s-%(package_version)s (%(branch_str)"
 "s)."
 
-#: add_html_footer.py:47
+#: add_html_footer.py:45
 #, python-format
 msgid "Report errors to <a href=\"%(mail_address_url)s\">%(mail_address)s</a>."
 msgstr ""
 "Informe de los fallos a <a href=\"%(mail_address_url)s\">%(mail_address)s</"
 "a>."
 
+#: add_html_footer.py:46
+#, python-format
+msgid ""
+"Your <a href=\"%(suggest_s_url)s\">suggestions for the documentation</a> are "
+"welcome."
+msgstr ""
+
 #: add_html_footer.py:54
 #, python-format
 msgid "Other languages: %s."
@@ -40,11 +47,11 @@ msgstr "Otros idiomas: %s."
 msgid "About <A HREF=\"%s\">automatic language selection</A>."
 msgstr "Acerca de la <A HREF=\"%s\">selección automática del idioma</A>."
 
-#: add_html_footer.py:238
+#: add_html_footer.py:251
 msgid "stable-branch"
 msgstr "rama estable"
 
-#: add_html_footer.py:240
+#: add_html_footer.py:253
 msgid "development-branch"
 msgstr "rama de desarrollo"
 
@@ -2031,7 +2038,8 @@ msgid "Integrating LaTeX and music"
 msgstr "Integración de LaTeX y música"
 
 #. @section in ../../../Documentation/user/lilypond-book.itely
-msgid "Integrating La@TeX{} and music"
+#, fuzzy
+msgid "Integrating @LaTeX{} and music"
 msgstr "Integración de La@TeX{} y música"
 
 #. @node in ../../../Documentation/user/lilypond-book.itely
index 3947fa13993d07420f489ae7893711b128acdfc9..44b4d0756538a9f6999ed6fb77ce39b1a653f199 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: fr\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-06-28 14:13+0200\n"
+"POT-Creation-Date: 2007-07-04 00:04+0200\n"
 "PO-Revision-Date: 2007-06-30 14:29+0200\n"
 "Last-Translator: John Mandereau <john.mandereau@free.fr>\n"
 "Language-Team: Français <lilypond-user-fr@gnu.org>\n"
@@ -17,13 +17,13 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: KBabel 1.11.4\n"
 
-#: add_html_footer.py:46
+#: add_html_footer.py:44
 #, python-format
 msgid "This page is for %(package_name)s-%(package_version)s (%(branch_str)s)."
 msgstr ""
 "Cette page documente %(package_name)s-%(package_version)s (%(branch_str)s)."
 
-#: add_html_footer.py:47
+#: add_html_footer.py:45
 #, python-format
 msgid "Report errors to <a href=\"%(mail_address_url)s\">%(mail_address)s</a>."
 msgstr ""
@@ -31,6 +31,13 @@ msgstr ""
 "org\">lilypond-user-fr@gnu.org</a> ou en anglais Ã  <a href=\"%"
 "(mail_address_url)s\">%(mail_address)s</a>"
 
+#: add_html_footer.py:46
+#, python-format
+msgid ""
+"Your <a href=\"%(suggest_s_url)s\">suggestions for the documentation</a> are "
+"welcome."
+msgstr ""
+
 #: add_html_footer.py:54
 #, python-format
 msgid "Other languages: %s."
@@ -41,11 +48,11 @@ msgstr "Autres langues&nbsp;: %s."
 msgid "About <A HREF=\"%s\">automatic language selection</A>."
 msgstr "À propos de la <A HREF=\"%s\">sélection automatique de la langue</A>."
 
-#: add_html_footer.py:238
+#: add_html_footer.py:251
 msgid "stable-branch"
 msgstr "branche stable"
 
-#: add_html_footer.py:240
+#: add_html_footer.py:253
 msgid "development-branch"
 msgstr "branche de développement"
 
@@ -2008,7 +2015,8 @@ msgid "Integrating LaTeX and music"
 msgstr "Intégrer de la musique dans LaTeX"
 
 #. @section in ../../../Documentation/user/lilypond-book.itely
-msgid "Integrating La@TeX{} and music"
+#, fuzzy
+msgid "Integrating @LaTeX{} and music"
 msgstr "Intégrer de la musique dans @LaTeX{}"
 
 #. @node in ../../../Documentation/user/lilypond-book.itely
index d0eb423670df93886c02155867ffb7c9db8495ca..74b49de76be9bf31098ee1bc057b2679f3838990 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2007-06-28 14:13+0200\n"
+"POT-Creation-Date: 2007-07-04 00:04+0200\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,16 +16,23 @@ msgstr ""
 "Content-Type: text/plain; charset=CHARSET\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: add_html_footer.py:46
+#: add_html_footer.py:44
 #, python-format
 msgid "This page is for %(package_name)s-%(package_version)s (%(branch_str)s)."
 msgstr ""
 
-#: add_html_footer.py:47
+#: add_html_footer.py:45
 #, python-format
 msgid "Report errors to <a href=\"%(mail_address_url)s\">%(mail_address)s</a>."
 msgstr ""
 
+#: add_html_footer.py:46
+#, python-format
+msgid ""
+"Your <a href=\"%(suggest_s_url)s\">suggestions for the documentation</a> are "
+"welcome."
+msgstr ""
+
 #: add_html_footer.py:54
 #, python-format
 msgid "Other languages: %s."
@@ -36,11 +43,11 @@ msgstr ""
 msgid "About <A HREF=\"%s\">automatic language selection</A>."
 msgstr ""
 
-#: add_html_footer.py:238
+#: add_html_footer.py:251
 msgid "stable-branch"
 msgstr ""
 
-#: add_html_footer.py:240
+#: add_html_footer.py:253
 msgid "development-branch"
 msgstr ""
 
@@ -2000,7 +2007,7 @@ msgid "Integrating LaTeX and music"
 msgstr ""
 
 #. @section in ../../../Documentation/user/lilypond-book.itely
-msgid "Integrating La@TeX{} and music"
+msgid "Integrating @LaTeX{} and music"
 msgstr ""
 
 #. @node in ../../../Documentation/user/lilypond-book.itely
index 0a67b9ea1492bb48ecbe00ff3f80779ca1bc22d5..96ade6e37ccd12b23c0ed6d45e537bad3039d9c1 100644 (file)
@@ -1873,7 +1873,7 @@ in every context, and that type is determined by the property
 System start delimiters may be deeply nested,
 
 @lilypond[quote,ragged-right,verbatim]
-\new StaffGroup 
+\new StaffGroup
 \relative <<
   \set StaffGroup.systemStartDelimiterHierarchy
     = #'(SystemStartSquare (SystemStartBracket a (SystemStartSquare b)) d)
index 653a854b05ebf3dfc83c32cb4bd9f36048fe6e77..f424e502a4da9df2c4028322b341178061868e7e 100644 (file)
@@ -27,7 +27,7 @@ TODO: cleanup
 If you want to add pictures of music to a document, you can simply do it
 the way you would do with other types of pictures.  The pictures are
 created separately, yielding PostScript output or PNG images, and those
-are included into a La@TeX{} or HTML document.
+are included into a @LaTeX{} or HTML document.
 
 @command{lilypond-book} provides a way to automate this process: This
 program extracts snippets of music from your document, runs
@@ -35,7 +35,7 @@ program extracts snippets of music from your document, runs
 substituted for the music.  The line width and font size definitions for
 the music are adjusted to match the layout of your document.
 
-This procedure may be applied to La@TeX{}, HTML, Texinfo or DocBook documents.
+This procedure may be applied to @LaTeX{}, HTML, Texinfo or DocBook documents.
 
 @menu
 * An example of a musicological document::  
@@ -56,7 +56,7 @@ This procedure may be applied to La@TeX{}, HTML, Texinfo or DocBook documents.
 @section An example of a musicological document
 
 @cindex musicology
-@cindex La@TeX{}, music in
+@cindex @LaTeX{}, music in
 @cindex HTML, music in
 @cindex Texinfo, music in
 @cindex DocBook, music in
@@ -64,11 +64,11 @@ Some texts contain music examples.  These texts are musicological
 treatises, songbooks, or manuals like this.  Such texts can be made by
 hand, simply by importing a PostScript figure into the word processor.
 However, there is an automated procedure to reduce the amount of work
-involved in HTML, La@TeX{}, Texinfo and DocBook documents.
+involved in HTML, @LaTeX{}, Texinfo and DocBook documents.
 
 A script called @code{lilypond-book} will extract the music fragments,
 format them, and put back the resulting notation.  Here we show a small
-example for use with La@TeX{}.  The example also contains explanatory
+example for use with @LaTeX{}.  The example also contains explanatory
 text, so we will not comment on it further.
 
 @quotation
@@ -135,7 +135,7 @@ the files in a separate subdirectory @file{dir}.
 Running dvips will produce many warnings about fonts.  They are not
 harmful; please ignore them.
 
-Finally the result of the La@TeX{} example shown above.@footnote{This
+Finally the result of the @LaTeX{} example shown above.@footnote{This
 tutorial is processed with Texinfo, so the example gives slightly
 different results in layout.}  This finishes the tutorial section.
 
@@ -173,16 +173,16 @@ Larger examples can be put into a separate file, and introduced with
 
 
 @node Integrating LaTeX and music
-@section Integrating La@TeX{} and music
+@section Integrating @LaTeX{} and music
 
-La@TeX{} is the de-facto standard for publishing layouts in the exact
+@LaTeX{} is the de-facto standard for publishing layouts in the exact
 sciences.  It is built on top of the @TeX{} typesetting engine,
 providing the best typography available anywhere.
 
 See
 @uref{http://@/www@/.ctan@/.org/@/tex@/-archive/@/info/@/lshort/@/english/,
-@emph{The Not So Short Introduction to La@TeX{}}} for an overview on how
-to use La@TeX{}.
+@emph{The Not So Short Introduction to @LaTeX{}}} for an overview on how
+to use @LaTeX{}.
 
 Music is entered using
 
@@ -207,7 +207,7 @@ or
 @end example
 
 Running @command{lilypond-book} yields a file that can be further
-processed with La@TeX{}.
+processed with @LaTeX{}.
 
 We show some examples here.  The lilypond environment
 
@@ -243,13 +243,13 @@ Currently, you cannot include @code{@{} or @code{@}} within
 The default line width of the music will be adjusted by examining the
 commands in the document preamble, the part of the document before
 @code{\begin@{document@}}.  The @command{lilypond-book} command sends
-these to La@TeX{} to find out how wide the text is.  The line width for
+these to @LaTeX{} to find out how wide the text is.  The line width for
 the music fragments is then adjusted to the text width.  Note that this
 heuristic algorithm can fail easily; in such cases it is necessary to
 use the @code{line-width} music fragment option.
 
 @cindex titling and lilypond-book
-@funindex \header in La@TeX{} documents
+@funindex \header in @LaTeX{} documents
 
 Each snippet will call the following macros if they have been defined by
 the user:
@@ -299,7 +299,7 @@ kpsewhich feta20.tex
 @cindex dvips
 @cindex invoking dvips
 
-For printing the La@TeX{} document you need a DVI to PostScript
+For printing the @LaTeX{} document you need a DVI to PostScript
 translator like @command{dvips}.  To use @command{dvips} to produce
 a PostScript file, add the following options to the @command{dvips}
 command line:
@@ -327,7 +327,7 @@ as if they continued after the end of the fragment.  This can be done by
 breaking the staff and suppressing inclusion of the rest of the lilypond
 output.
 
-In La@TeX{}, define @code{\betweenLilyPondSystem} in such a way that
+In @LaTeX{}, define @code{\betweenLilyPondSystem} in such a way that
 inclusion of other systems is terminated once the required number of
 systems are included.  Since @code{\betweenLilypondSystem} is first
 called @b{after} the first system, including only the first system
@@ -352,7 +352,7 @@ the number of systems you want in the output,
 @end example
 
 Remember that the definition of @code{\betweenLilyPondSystem} is
-effective until @TeX{} quits the current group (such as the La@TeX{}
+effective until @TeX{} quits the current group (such as the @LaTeX{}
 environment) or is overridden by another definition (which is, in
 most cases, for the rest of the document).  To reset your
 definition, write
@@ -443,7 +443,7 @@ produces
 
 @lilypond[fragment,staffsize=11]{<c' e' g'>}
 
-Contrary to La@TeX{}, @code{@@lilypond@{...@}} does not generate an
+Contrary to @LaTeX{}, @code{@@lilypond@{...@}} does not generate an
 in-line image.  It always gets a paragraph of its own.
 
 When using the Texinfo output format, @command{lilypond-book} also
@@ -549,7 +549,7 @@ For HTML (HTML Help, JavaHelp etc.) generation you can use the official DocBook
 In the following, a @q{LilyPond command} refers to any command described
 in the previous sections which is handled by @command{lilypond-book} to
 produce a music snippet.  For simplicity, LilyPond commands are only
-shown in La@TeX{} syntax.
+shown in @LaTeX{} syntax.
 
 Note that the option string is parsed from left to right; if an option
 occurs multiple times, the last one is taken.
@@ -816,7 +816,7 @@ Print version information.
 @refbugs
 
 The Texinfo command @code{@@pagesizes} is not interpreted.  Similarly,
-La@TeX{} commands that change margins and line widths after the preamble
+@LaTeX{} commands that change margins and line widths after the preamble
 are ignored.
 
 Only the first @code{\score} of a LilyPond block is processed.
@@ -837,11 +837,11 @@ output format based on the input filename's extension.
 @item
 @item @file{.html} @tab HTML
 @item @file{.itely} @tab Texinfo
-@item @file{.latex} @tab La@TeX{}
-@item @file{.lytex} @tab La@TeX{}
+@item @file{.latex} @tab @LaTeX{}
+@item @file{.lytex} @tab @LaTeX{}
 @item @file{.lyxml} @tab DocBook
 @item @file{.tely} @tab Texinfo
-@item @file{.tex} @tab La@TeX{}
+@item @file{.tex} @tab @LaTeX{}
 @item @file{.texi} @tab Texinfo
 @item @file{.texinfo} @tab Texinfo
 @item @file{.xml} @tab HTML
index a80189550d51d3e25f6fcb796c1c738d8c2ef461..898d1a06e47c835151d7f737c4f361d90a6d65db 100644 (file)
@@ -33,16 +33,20 @@ footer = '''
 <font size="-1">
 %(footer_name_version)s
 <br>
+<address>
+%(footer_report_errors)s </address>
+<br>
+%(footer_suggest_docs)s
 </font>
-<address><font size="-1">
-%(footer_report_errors)s </font></address>
 </p>
 </div>
 '''
 footer_name_version = _doc ('This page is for %(package_name)s-%(package_version)s (%(branch_str)s).')
 footer_report_errors = _doc ('Report errors to <a href="%(mail_address_url)s">%(mail_address)s</a>.')
+footer_suggest_docs = _doc ('Your <a href="%(suggest_docs_url)s">suggestions for the documentation</a> are welcome.')
 
 mail_address = 'http://post.gmane.org/post.php?group=gmane.comp.gnu.lilypond.bugs'
+suggest_docs_url = 'http://lilypond.org/web/devel/participating/documentation-adding'
 
 header_tag = '<!-- header_tag -->'
 footer_tag = '<!-- footer_tag -->'
@@ -276,6 +280,7 @@ def add_html_footer (translation,
                         subst[name] = translation[page_flavors[k][0]] (subst[name])
                 subst['footer_name_version'] = subst['footer_name_version'] % subst
                 subst['footer_report_errors'] = subst['footer_report_errors'] % subst
+                subst['footer_suggest_docs'] = subst['footer_suggest_docs'] % subst
                 page_flavors[k][1] = page_flavors[k][1] % subst
                 out_f = open (name_filter (k), 'w')
                 out_f.write (page_flavors[k][1])
index cc79192bd85572e8398e44ff8b07c1a431c33d14..ab18da2ace687264a5fd2e9a9b7f1ae16d6467ed 100755 (executable)
@@ -4,7 +4,7 @@ import os
 import os.path
 import shutil
 
-dirs = ['ancient','chords','connecting','contemporary','expressive','education','guitar','parts','pitch','repeats','scheme','spacing','staff','text','vocal','other','non-music','engravers','instrument-specific']
+dirs = ['ancient','chords','connecting','contemporary','expressive','education','guitar','parts','pitch','repeats','scheme','spacing','staff','text','vocal','other','nonmusic','engravers','instrument']
 notsafe=[]
 
 try:
diff --git a/buildscripts/update-snippets.py b/buildscripts/update-snippets.py
new file mode 100644 (file)
index 0000000..d5503c0
--- /dev/null
@@ -0,0 +1,102 @@
+#!@PYTHON@
+# update-snippets.py
+
+# USAGE:  update-snippets.py REFERENCE-DIR TARGET-DIR FILES
+#
+# update ly snippets in TARGET-DIR/FILES with snippets from REFERENCE-DIR/FILES
+#
+# More precisely, each existing FILE in TARGET-DIR is matched to the FILE in
+# REFERENCE-DIR (it the latter does not exist, a warning is given).
+#
+# Shell wildcards expansion is performed on FILES.
+# This script currently supports Texinfo format.
+# Ly snippets preceded with a line containing '@c KEEP LY' in TARGET-DIR/FILES
+# will not be updated.
+# An error occurs if REFERENCE-DIR/FILE and TARGET-DIR/FILE do not have the
+# same snippets count.
+
+import sys
+import os
+import glob
+import re
+
+print "update-snippets.py"
+
+comment_re = re.compile (r'(?<!@)(@c(?:omment)? .*?\n|^@ignore\n.*?\n@end ignore\n)', re.M | re.S)
+snippet_re = re.compile (r'(@lilypond(?:file)?(?:\[.*?\])?(?:\{.+?\}|(?:.|\n)+?@end lilypond))', re.M)
+
+
+def snippet_split (l):
+    r = []
+    for s in [s for s in l if s]:
+        if s.startswith ('@c ') or s.startswith ('@ignore\n') or s.startswith ('@comment '):
+            r.append(s)
+        else:
+            r += [t for t in snippet_re.split (s) if t]
+    return r
+
+def count_snippet (l):
+    k = 0
+    for s in l:
+        if s.startswith ('@lilypond'):
+            k += 1
+    return k
+
+def find_next_snippet (l, k):
+    while not l[k].startswith ('@lilypond'):
+        k += 1
+    return k
+
+exit_code = 0
+
+def update_exit_code (code):
+    global exit_code
+    exit_code = max (code, exit_code)
+
+ref_dir, target_dir = sys.argv [1:3]
+file_patterns = sys.argv[3:]
+
+total_snippet_count = 0
+changed_snippets_count = 0
+
+for pattern in file_patterns:
+    files = glob.glob (os.path.join (target_dir, pattern))
+    for file in files:
+        ref_file = os.path.join (ref_dir, os.path.basename (file))
+        if not os.path.isfile (ref_file):
+            sys.stderr.write ("Warning: %s: no such file.\nReference file for %s not found.\n" % (ref_file, file))
+            continue
+        f = open (file, 'r')
+        target_source = comment_re.split (f.read ())
+        f.close ()
+        if reduce (lambda x, y: x or y, ['-- SKELETON FILE --' in s for s in target_source]):
+            sys.stderr.write ("Skipping skeleton file %s\n" % file)
+            continue
+        g = open (ref_file, 'r')
+        ref_source = comment_re.split (g.read ())
+        target_source = snippet_split (target_source)
+        ref_source = snippet_split (ref_source)
+        if '' in target_source or '' in ref_source:
+            raise "AAAAARGH: unuseful empty string"
+        snippet_count = count_snippet (target_source)
+        if not snippet_count == count_snippet (ref_source):
+            update_exit_code (1)
+            sys.stderr.write ("Error: %s and %s have different snippet counts.\n\
+Update translation by at least adding a @lilypond block where necessary, then rerun this script.\n" % (ref_file, file))
+            continue
+        total_snippet_count += snippet_count
+        c = 0
+        k = -1
+        for j in range (len (target_source)):
+            if target_source[j].startswith ('@lilypond'):
+                k = find_next_snippet (ref_source, k+1)
+                if j > 0 and (not target_source[j-1].startswith ('@c KEEP LY')) and target_source[j] != ref_source[k]:
+                    target_source[j] = ref_source[k]
+                    c += 1
+                    changed_snippets_count += 1
+        f = open (file, 'w')
+        f.write (''.join (target_source))
+        sys.stderr.write ('%s: %d/%d snippets updated\n' % (file, c, snippet_count))
+
+sys.stderr.write ('\nTotal: %d snippets, %d updated snippets.\n' % (total_snippet_count, changed_snippets_count))
+sys.exit (exit_code)
index 6cc66a8a50caff3f6205640a6270ada58bf0c0ca..0aedc718d6ea388218033e2dd4834e8998ea91e6 100644 (file)
@@ -2,7 +2,7 @@ depth = ../../
 
 SUBDIRS = ancient chords connecting contemporary education expressive
 SUBDIRS += guitar parts pitch repeats spacing staff text vocal scheme other 
-SUBDIRS += engravers non-music instrument-specific
+SUBDIRS += engravers nonmusic instrument
 
 STEPMAKE_TEMPLATES=documentation texinfo tex
 LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
index a05842e207bc3dc168058a697f88e97c0e69c076..726c31e1209ce10feeed2154a27e135732cf5c77 100644 (file)
@@ -33,9 +33,9 @@ These pages show LilyPond examples (snippets) from the
 
 @strong{@uref{vocal/collated-files.html,Vocal music}}
 
-@strong{@uref{non-music/collated-files.html,Non-musical}}
+@strong{@uref{nonmusic/collated-files.html,Non-musical}}
 
-@strong{@uref{instrument-specific/collated-files.html,Instrument-specific}}
+@strong{@uref{instrument/collated-files.html,Instrument-specific}}
 
 @strong{@uref{engravers/collated-files.html,Engravers}}
 
diff --git a/input/lsr/engravers/engravers-one-by-one.ly b/input/lsr/engravers/engravers-one-by-one.ly
new file mode 100644 (file)
index 0000000..c950efe
--- /dev/null
@@ -0,0 +1,278 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header { texidoc = "
+The notation problem, creating a certain symbol, is handled by plugins.
+Each plugin is called an Engraver. In this example, engravers are
+switched on one by one, in the following order:
+
+- note heads
+
+
+- staff symbol,
+
+
+- clef,
+
+
+- stem,
+
+
+- beams, slurs, accents,
+
+
+- accidentals, bar lines, time signature, and key signature.
+
+
+
+Engravers are grouped. For example, note heads, slurs, beams etc. form
+a Voice context. Engravers for key, accidental, bar, etc. form a Staff
+context.
+
+
+You may only see the first example in this document; please download
+this snippet and run it from your own computer. 
+" }
+
+%% sample music
+topVoice =  \relative c' {
+  \key d\major
+  es8([ g] a[ fis])
+  b4
+  b16[-. b-. b-. cis-.]
+  d4->
+}
+
+botVoice =  \relative c' {
+  \key d\major
+  c8[( f] b[ a)]
+  es4
+  es16[-. es-. es-. fis-.]
+  b4->
+}
+
+hoom =  \relative c {
+  \key d \major
+  \clef bass
+  g8-. r
+  r4 
+  fis8-.
+  r8
+  r4
+  b'4->
+}
+
+pah =  \relative c' {
+  r8 b-.
+  r4
+  r8 g8-.
+  r16 g-. r8
+  \clef treble
+  fis'4->
+}
+
+%
+% setup for Request->Element conversion. Guru-only
+%
+
+MyStaff =\context {
+  \type "Engraver_group"
+  \name Staff
+
+  \description "Handles clefs, bar lines, keys, accidentals.  It can contain
+@code{Voice} contexts."
+
+  
+  \consists "Output_property_engraver" 
+  
+  \consists "Font_size_engraver"
+
+  \consists "Volta_engraver"
+  \consists "Separating_line_group_engraver"   
+  \consists "Dot_column_engraver"
+
+  \consists "Ottava_spanner_engraver"
+  \consists "Rest_collision_engraver"
+  \consists "Piano_pedal_engraver"
+  \consists "Piano_pedal_align_engraver"
+  \consists "Instrument_name_engraver"
+  \consists "Grob_pq_engraver"
+  \consists "Forbid_line_break_engraver"
+  \consists "Axis_group_engraver"
+
+  \consists "Pitch_squash_engraver"
+
+  \override VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 6)
+  extraVerticalExtent = ##f
+  verticalExtent = ##f 
+  localKeySignature = #'()
+
+                               % explicitly set instrument, so we don't get 
+                               % weird effects when doing instrument names for
+                               % piano staves
+
+  instrumentName = #'()
+  shortInstrumentName = #'()
+  
+  \accepts "Voice"
+}
+
+
+MyVoice = \context {
+  \type "Engraver_group"
+  \name Voice
+
+  \description "
+    Corresponds to a voice on a staff.  This context handles the
+    conversion of dynamic signs, stems, beams, super- and subscripts,
+    slurs, ties, and rests.
+
+    You have to instantiate this explicitly if you want to have
+    multiple voices on the same staff."
+
+  localKeySignature = #'()
+  \consists "Font_size_engraver"
+  
+                               % must come before all
+  \consists "Output_property_engraver" 
+  \consists "Arpeggio_engraver"
+  \consists "Multi_measure_rest_engraver"
+  \consists "Text_spanner_engraver"
+  \consists "Grob_pq_engraver"
+  \consists "Note_head_line_engraver"
+  \consists "Glissando_engraver"
+  \consists "Ligature_bracket_engraver"
+  \consists "Breathing_sign_engraver"
+                               % \consists "Rest_engraver"
+  \consists "Grace_beam_engraver"
+  \consists "New_fingering_engraver"
+  \consists "Chord_tremolo_engraver"
+  \consists "Percent_repeat_engraver"
+  \consists "Slash_repeat_engraver"
+
+%{
+  Must come before text_engraver, but after note_column engraver.
+
+%}
+  \consists "Text_engraver"
+  \consists "Dynamic_engraver"
+  \consists "Fingering_engraver"
+
+  \consists "Script_column_engraver"
+  \consists "Rhythmic_column_engraver"
+  \consists "Cluster_spanner_engraver"
+  \consists "Tie_engraver"
+  \consists "Tie_engraver"
+  \consists "Tuplet_engraver"
+  \consists "Note_heads_engraver"
+  \consists "Rest_engraver"
+
+  \consists "Skip_event_swallow_translator"
+}
+
+
+\score {
+  \topVoice
+  \layout {
+    \context { \MyStaff }
+    \context { \MyVoice }
+  }
+}
+
+
+MyStaff = \context {
+    \MyStaff
+    \consists "Staff_symbol_engraver"
+}
+
+\score {
+  \topVoice
+  \layout {
+      \context { \MyStaff }
+      \context { \MyVoice }
+            }
+}
+
+MyStaff = \context {
+    \MyStaff
+    \consists "Clef_engraver"
+    \remove "Pitch_squash_engraver"
+}
+
+\score {
+  \topVoice
+  \layout {
+    \context { \MyStaff }
+    \context { \MyVoice }
+  }
+}
+
+MyVoice = \context {
+  \MyVoice
+  \consists "Stem_engraver"
+}
+
+\score {
+  \topVoice
+  \layout {
+    \context { \MyStaff }
+    \context { \MyVoice }
+  }
+}
+
+MyVoice = \context {
+  \MyVoice
+  \consists "Beam_engraver"
+}
+
+\score {
+  \topVoice
+  \layout {
+    \context { \MyStaff }
+    \context { \MyVoice }
+  }
+}
+
+MyVoice= \context {
+  \MyVoice
+  \consists "Phrasing_slur_engraver"
+  \consists "Slur_engraver"
+  \consists "Script_engraver"
+}
+
+
+\score {
+  \topVoice
+  \layout {
+    \context { \MyStaff }
+    \context { \MyVoice }
+  }
+}
+
+MyStaff = \context {
+  \MyStaff
+  \consists "Bar_engraver"
+  \consists "Time_signature_engraver"
+}
+
+\score {
+  \topVoice
+  \layout {
+    \context { \MyStaff }
+    \context { \MyVoice }
+  }
+}
+
+MyStaff = \context {
+  \MyStaff
+  \consists "Accidental_engraver"    
+  \consists "Key_engraver"
+}
+\score {
+  \topVoice
+  \layout {
+    \context { \MyStaff }
+    \context { \MyVoice }
+  }
+}
+
diff --git a/input/lsr/engravers/removing-time-signature-and-bar-lines.ly b/input/lsr/engravers/removing-time-signature-and-bar-lines.ly
new file mode 100644 (file)
index 0000000..9d73b40
--- /dev/null
@@ -0,0 +1,27 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header { texidoc = "
+Engravers can be removed one by one. Here, the time signature and bar
+lines  have been removed.
+
+
+" }
+
+\score {
+   \relative c'' {
+    a b c d
+    d c b a
+  }
+  \layout {
+    raggedright = ##t
+    \context {
+      \Staff
+      whichBar = #""
+      \remove "Time_signature_engraver"
+    }
+  }
+}
+
+
+
diff --git a/input/lsr/expressive/attaching-an-arpeggio-to-different-voices-inside-a-same-staff.ly b/input/lsr/expressive/attaching-an-arpeggio-to-different-voices-inside-a-same-staff.ly
new file mode 100644 (file)
index 0000000..0ad69b7
--- /dev/null
@@ -0,0 +1,32 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header { texidoc = "
+If you've read the manual, you already know that an arpeggio can be
+drawn across to staves in PianoStaff context, if you set the
+connectArpeggios property.
+
+However, printing an arpeggio between two simultaneous chords inside a
+same staff (with more than one voice), is a bit more tricky. As the
+Span_arpeggio_engraver, which is in charge when arpeggios have to be
+connected, is not included by default in the Staff context, you have to
+add it by yourself using the \consists command.
+" }
+
+\layout {
+ \context {
+   \Staff
+   \consists Span_arpeggio_engraver
+ }
+}
+
+\new Staff
+ {
+ \set Staff.connectArpeggios = ##t
+ <<
+  {<e'' g''>4\arpeggio <d'' f''>4 <d'' f''>2 }
+    \\
+  {<d' f' >2\arpeggio  <g' b'>2  }
+ >>
+
+}
diff --git a/input/lsr/instrument-specific/AAA-intro.ly b/input/lsr/instrument-specific/AAA-intro.ly
deleted file mode 100644 (file)
index 4997892..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-%%  Do not edit this file; it is auto-generated from LSR!
-\version "2.11.23"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png  is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
diff --git a/input/lsr/instrument-specific/GNUmakefile b/input/lsr/instrument-specific/GNUmakefile
deleted file mode 100644 (file)
index 43325ab..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-## Hmm, would this work?  No -- if we really want examples, move
-## to other dir (input/) comes to mind.
-## examples = font20 ancient-font
-## LOCALSTEPMAKE_TEMPLATES += ly mutopia
-
-EXTRA_DIST_FILES= 
-
-include $(depth)/make/stepmake.make
-
-TITLE=Advanced snippets
diff --git a/input/lsr/instrument-specific/SConscript b/input/lsr/instrument-specific/SConscript
deleted file mode 100644 (file)
index f72bfff..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Advanced snippets')
diff --git a/input/lsr/instrument/AAA-intro.ly b/input/lsr/instrument/AAA-intro.ly
new file mode 100644 (file)
index 0000000..4997892
--- /dev/null
@@ -0,0 +1,17 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header{
+texidoc = "
+@unnumbered Introduction
+
+This document shows examples from the
+@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
+
+In the web version of this document, you can click on the file name
+or figure for each example to see the corresponding input file."
+}
+
+% make sure .png  is generated.
+\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
+
diff --git a/input/lsr/instrument/GNUmakefile b/input/lsr/instrument/GNUmakefile
new file mode 100644 (file)
index 0000000..43325ab
--- /dev/null
@@ -0,0 +1,16 @@
+
+depth = ../../../
+
+STEPMAKE_TEMPLATES=documentation texinfo tex
+LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
+
+## Hmm, would this work?  No -- if we really want examples, move
+## to other dir (input/) comes to mind.
+## examples = font20 ancient-font
+## LOCALSTEPMAKE_TEMPLATES += ly mutopia
+
+EXTRA_DIST_FILES= 
+
+include $(depth)/make/stepmake.make
+
+TITLE=Advanced snippets
diff --git a/input/lsr/instrument/SConscript b/input/lsr/instrument/SConscript
new file mode 100644 (file)
index 0000000..f72bfff
--- /dev/null
@@ -0,0 +1,4 @@
+# -*-python-*-
+
+Import ('env', 'collate')
+collate (title = 'Advanced snippets')
diff --git a/input/lsr/instrument/adding-drum-parts.ly b/input/lsr/instrument/adding-drum-parts.ly
new file mode 100644 (file)
index 0000000..5bf80e3
--- /dev/null
@@ -0,0 +1,45 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header { texidoc = "
+LilyPond makes drums input quite easy, with powerful pre-configured
+tools such as the \drummode function and the DrumStaff context:  drums
+are placed to their own staff positions (with a special clef symbol)
+and have note heads according to the drum. You can easily attach an
+extra symbol to the drum, and restrict the number of lines.
+" }
+
+drh = \drummode { cymc4.^"crash" hhc16^"h.h." hh \repeat "unfold" 5 {hhc8 hho hhc8 hh16 hh} hhc4 r4 r2 }
+drl = \drummode {\repeat "unfold" 3 {bd4 sn8 bd bd4 << bd ss >> } bd8 tommh tommh bd toml toml bd tomfh16 tomfh }
+timb = \drummode { \repeat "unfold" 2 {timh4 ssh timl8 ssh r timh r4 ssh8 timl r4 cb8 cb} }
+
+\score {
+  \repeat "volta" 2 {
+    <<
+      \new DrumStaff \with {
+       drumStyleTable = #timbales-style
+       \override StaffSymbol #'line-count = #2
+       \override BarLine #'bar-size = #2
+      } <<
+       \set Staff.instrumentName = "timbales"
+       \timb
+      >>
+      \new DrumStaff <<
+       \set Staff.instrumentName = "drums"
+       \new DrumVoice {\stemUp \drh }
+       \new DrumVoice {\stemDown \drl }
+      >>
+    >>
+  }
+  \layout {}
+
+  \midi {
+    \context {
+      \Score
+      tempoWholesPerMinute = #(ly:make-moment 120 4)
+      }
+    }
+
+
+}
+
diff --git a/input/lsr/non-music/AAA-intro.ly b/input/lsr/non-music/AAA-intro.ly
deleted file mode 100644 (file)
index 4997892..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-%%  Do not edit this file; it is auto-generated from LSR!
-\version "2.11.23"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png  is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
diff --git a/input/lsr/non-music/GNUmakefile b/input/lsr/non-music/GNUmakefile
deleted file mode 100644 (file)
index 43325ab..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-## Hmm, would this work?  No -- if we really want examples, move
-## to other dir (input/) comes to mind.
-## examples = font20 ancient-font
-## LOCALSTEPMAKE_TEMPLATES += ly mutopia
-
-EXTRA_DIST_FILES= 
-
-include $(depth)/make/stepmake.make
-
-TITLE=Advanced snippets
diff --git a/input/lsr/non-music/SConscript b/input/lsr/non-music/SConscript
deleted file mode 100644 (file)
index f72bfff..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Advanced snippets')
diff --git a/input/lsr/non-music/clip-systems.ly b/input/lsr/non-music/clip-systems.ly
deleted file mode 100644 (file)
index 66e8e79..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-%%  Do not edit this file; it is auto-generated from LSR!
-\header {
-  texidoc = "Clipping snippets from a finished score
-
-Notes:
-
-@itemize @bullet
-@item If system starts and ends are included, they include extents of the System grob, eg. instrument names.
-@item Grace notes  at the end point of the region are not included
-@item Regions can span multiple systems. In this case, multiple EPS files are generated.
-@end itemize
-
-This file needs to be run separately with @code{-dclip-systems}; the
-collated-files.html of the regression test does not adequately show
-the results.
-
-The result will be files named
-@file{@var{base}-from-@var{start}-to-@var{end}[-@var{count}].eps}.
-"
-
-}
-
-\version "2.11.23"
-
-#(ly:set-option 'clip-systems)
-
-#(set! output-count 1)
-
-origScore = \score{
-    \relative {
-      \set Staff.instrumentName = #"bla"
-      c1
-      d
-      \grace c16
-      e1
-      \key d\major
-      
-      f
-      \break  \clef bass
-      g,
-      fis
-    }  
-}
-
-\book { 
-  \score {
-    \origScore
-    \layout {
-
-      %% each clip-region is a (START . END) pair
-      %% where both are rhythmic-locations.
-      
-      %% (make-rhythmic-locations BAR-NUMBER NUM DEN)
-      %% means NUM/DEN whole-notes into bar numbered BAR-NUMBER
-
-      clip-regions
-      = #(list
-         (cons
-          (make-rhythmic-location 2 0 1)
-          (make-rhythmic-location 4 0 1))
-
-         (cons
-          (make-rhythmic-location 0 0 1)
-          (make-rhythmic-location 4 0 1))
-         
-         (cons
-          (make-rhythmic-location 0 0 1)
-          (make-rhythmic-location 6 0 1))
-       )
-    }
-  }
-}
-
-#(set! output-count 0)
-#(ly:set-option 'clip-systems #f)
-
-\book {
-  \score { \origScore }
-  \markup { \bold \fontsize #6 clips }
-  \score {
-    \lyrics {
-      \markup { from-2.0.1-to-4.0.1-clip.eps }
-      \markup { \epsfile #X #30.0 #(format #f "~a-1-from-2.0.1-to-4.0.1-clip.eps" (ly:parser-output-name parser)) }
-    }
-  }
-}
diff --git a/input/lsr/non-music/toc.ly b/input/lsr/non-music/toc.ly
deleted file mode 100644 (file)
index 8b988ea..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-%%  Do not edit this file; it is auto-generated from LSR!
-\version "2.11.26"
-
-\header {
-  texidoc = "A table of contents is included using
-@code{\\markuplines \\table-of-contents}. The toc items are added with
-the @code{\\tocItem} command."
-}
-
-#(set-default-paper-size "a6")
-
-\book {
-  \markuplines \table-of-contents
-  \pageBreak
-
-  \tocItem \markup "The first score"
-  \score {
-    { 
-      c'1 \pageBreak
-      \mark "A" \tocItem \markup "Mark A"
-      d'
-    }
-  }
-  \pageBreak
-  \tocItem \markup "The second score"
-  \score {
-    { e' }
-    \header { piece = "Second score" }
-  }
-}
\ No newline at end of file
diff --git a/input/lsr/nonmusic/AAA-intro.ly b/input/lsr/nonmusic/AAA-intro.ly
new file mode 100644 (file)
index 0000000..4997892
--- /dev/null
@@ -0,0 +1,17 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header{
+texidoc = "
+@unnumbered Introduction
+
+This document shows examples from the
+@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
+
+In the web version of this document, you can click on the file name
+or figure for each example to see the corresponding input file."
+}
+
+% make sure .png  is generated.
+\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
+
diff --git a/input/lsr/nonmusic/GNUmakefile b/input/lsr/nonmusic/GNUmakefile
new file mode 100644 (file)
index 0000000..43325ab
--- /dev/null
@@ -0,0 +1,16 @@
+
+depth = ../../../
+
+STEPMAKE_TEMPLATES=documentation texinfo tex
+LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
+
+## Hmm, would this work?  No -- if we really want examples, move
+## to other dir (input/) comes to mind.
+## examples = font20 ancient-font
+## LOCALSTEPMAKE_TEMPLATES += ly mutopia
+
+EXTRA_DIST_FILES= 
+
+include $(depth)/make/stepmake.make
+
+TITLE=Advanced snippets
diff --git a/input/lsr/nonmusic/SConscript b/input/lsr/nonmusic/SConscript
new file mode 100644 (file)
index 0000000..f72bfff
--- /dev/null
@@ -0,0 +1,4 @@
+# -*-python-*-
+
+Import ('env', 'collate')
+collate (title = 'Advanced snippets')
diff --git a/input/lsr/nonmusic/all-headers.ly b/input/lsr/nonmusic/all-headers.ly
new file mode 100644 (file)
index 0000000..abfeee4
--- /dev/null
@@ -0,0 +1,48 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header { texidoc = "
+A demonstration of all headers.
+" }
+
+\header {
+copyright = "copyright"
+title = "title"
+subtitle = "subtitle"
+composer = "composer"
+arranger = "arranger"
+instrument = "instrument"
+metre = "metre"
+opus = "opus"
+piece = "piece"
+poet = "poet"
+texidoc = "All header fields with special meanings."
+  copyright = "public domain"
+  enteredby = "jcn"
+  source = "urtext"
+
+}
+
+
+\score {
+  \relative c'' { c1 c1 c1 c1 }
+}
+
+\score {
+        \relative c'' { c1 c1 c1 c1 }
+       
+       \header {
+
+       title = "localtitle"
+       subtitle = "localsubtitle"
+       composer = "localcomposer"
+       arranger = "localarranger"
+       instrument = "localinstrument"
+       metre = "localmetre"
+       opus = "localopus"
+       piece = "localpiece"
+       poet = "localpoet"
+       copyright = "localcopyright"
+       }
+}
+
diff --git a/input/lsr/nonmusic/clip-systems.ly b/input/lsr/nonmusic/clip-systems.ly
new file mode 100644 (file)
index 0000000..66e8e79
--- /dev/null
@@ -0,0 +1,86 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\header {
+  texidoc = "Clipping snippets from a finished score
+
+Notes:
+
+@itemize @bullet
+@item If system starts and ends are included, they include extents of the System grob, eg. instrument names.
+@item Grace notes  at the end point of the region are not included
+@item Regions can span multiple systems. In this case, multiple EPS files are generated.
+@end itemize
+
+This file needs to be run separately with @code{-dclip-systems}; the
+collated-files.html of the regression test does not adequately show
+the results.
+
+The result will be files named
+@file{@var{base}-from-@var{start}-to-@var{end}[-@var{count}].eps}.
+"
+
+}
+
+\version "2.11.23"
+
+#(ly:set-option 'clip-systems)
+
+#(set! output-count 1)
+
+origScore = \score{
+    \relative {
+      \set Staff.instrumentName = #"bla"
+      c1
+      d
+      \grace c16
+      e1
+      \key d\major
+      
+      f
+      \break  \clef bass
+      g,
+      fis
+    }  
+}
+
+\book { 
+  \score {
+    \origScore
+    \layout {
+
+      %% each clip-region is a (START . END) pair
+      %% where both are rhythmic-locations.
+      
+      %% (make-rhythmic-locations BAR-NUMBER NUM DEN)
+      %% means NUM/DEN whole-notes into bar numbered BAR-NUMBER
+
+      clip-regions
+      = #(list
+         (cons
+          (make-rhythmic-location 2 0 1)
+          (make-rhythmic-location 4 0 1))
+
+         (cons
+          (make-rhythmic-location 0 0 1)
+          (make-rhythmic-location 4 0 1))
+         
+         (cons
+          (make-rhythmic-location 0 0 1)
+          (make-rhythmic-location 6 0 1))
+       )
+    }
+  }
+}
+
+#(set! output-count 0)
+#(ly:set-option 'clip-systems #f)
+
+\book {
+  \score { \origScore }
+  \markup { \bold \fontsize #6 clips }
+  \score {
+    \lyrics {
+      \markup { from-2.0.1-to-4.0.1-clip.eps }
+      \markup { \epsfile #X #30.0 #(format #f "~a-1-from-2.0.1-to-4.0.1-clip.eps" (ly:parser-output-name parser)) }
+    }
+  }
+}
diff --git a/input/lsr/nonmusic/toc.ly b/input/lsr/nonmusic/toc.ly
new file mode 100644 (file)
index 0000000..8b988ea
--- /dev/null
@@ -0,0 +1,30 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.26"
+
+\header {
+  texidoc = "A table of contents is included using
+@code{\\markuplines \\table-of-contents}. The toc items are added with
+the @code{\\tocItem} command."
+}
+
+#(set-default-paper-size "a6")
+
+\book {
+  \markuplines \table-of-contents
+  \pageBreak
+
+  \tocItem \markup "The first score"
+  \score {
+    { 
+      c'1 \pageBreak
+      \mark "A" \tocItem \markup "Mark A"
+      d'
+    }
+  }
+  \pageBreak
+  \tocItem \markup "The second score"
+  \score {
+    { e' }
+    \header { piece = "Second score" }
+  }
+}
\ No newline at end of file
diff --git a/input/lsr/other/adding-drum-parts.ly b/input/lsr/other/adding-drum-parts.ly
deleted file mode 100644 (file)
index 5bf80e3..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-%%  Do not edit this file; it is auto-generated from LSR!
-\version "2.11.23"
-
-\header { texidoc = "
-LilyPond makes drums input quite easy, with powerful pre-configured
-tools such as the \drummode function and the DrumStaff context:  drums
-are placed to their own staff positions (with a special clef symbol)
-and have note heads according to the drum. You can easily attach an
-extra symbol to the drum, and restrict the number of lines.
-" }
-
-drh = \drummode { cymc4.^"crash" hhc16^"h.h." hh \repeat "unfold" 5 {hhc8 hho hhc8 hh16 hh} hhc4 r4 r2 }
-drl = \drummode {\repeat "unfold" 3 {bd4 sn8 bd bd4 << bd ss >> } bd8 tommh tommh bd toml toml bd tomfh16 tomfh }
-timb = \drummode { \repeat "unfold" 2 {timh4 ssh timl8 ssh r timh r4 ssh8 timl r4 cb8 cb} }
-
-\score {
-  \repeat "volta" 2 {
-    <<
-      \new DrumStaff \with {
-       drumStyleTable = #timbales-style
-       \override StaffSymbol #'line-count = #2
-       \override BarLine #'bar-size = #2
-      } <<
-       \set Staff.instrumentName = "timbales"
-       \timb
-      >>
-      \new DrumStaff <<
-       \set Staff.instrumentName = "drums"
-       \new DrumVoice {\stemUp \drh }
-       \new DrumVoice {\stemDown \drl }
-      >>
-    >>
-  }
-  \layout {}
-
-  \midi {
-    \context {
-      \Score
-      tempoWholesPerMinute = #(ly:make-moment 120 4)
-      }
-    }
-
-
-}
-
diff --git a/input/lsr/other/all-headers.ly b/input/lsr/other/all-headers.ly
deleted file mode 100644 (file)
index abfeee4..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-%%  Do not edit this file; it is auto-generated from LSR!
-\version "2.11.23"
-
-\header { texidoc = "
-A demonstration of all headers.
-" }
-
-\header {
-copyright = "copyright"
-title = "title"
-subtitle = "subtitle"
-composer = "composer"
-arranger = "arranger"
-instrument = "instrument"
-metre = "metre"
-opus = "opus"
-piece = "piece"
-poet = "poet"
-texidoc = "All header fields with special meanings."
-  copyright = "public domain"
-  enteredby = "jcn"
-  source = "urtext"
-
-}
-
-
-\score {
-  \relative c'' { c1 c1 c1 c1 }
-}
-
-\score {
-        \relative c'' { c1 c1 c1 c1 }
-       
-       \header {
-
-       title = "localtitle"
-       subtitle = "localsubtitle"
-       composer = "localcomposer"
-       arranger = "localarranger"
-       instrument = "localinstrument"
-       metre = "localmetre"
-       opus = "localopus"
-       piece = "localpiece"
-       poet = "localpoet"
-       copyright = "localcopyright"
-       }
-}
-
diff --git a/input/lsr/other/engravers-one-by-one.ly b/input/lsr/other/engravers-one-by-one.ly
deleted file mode 100644 (file)
index c950efe..0000000
+++ /dev/null
@@ -1,278 +0,0 @@
-%%  Do not edit this file; it is auto-generated from LSR!
-\version "2.11.23"
-
-\header { texidoc = "
-The notation problem, creating a certain symbol, is handled by plugins.
-Each plugin is called an Engraver. In this example, engravers are
-switched on one by one, in the following order:
-
-- note heads
-
-
-- staff symbol,
-
-
-- clef,
-
-
-- stem,
-
-
-- beams, slurs, accents,
-
-
-- accidentals, bar lines, time signature, and key signature.
-
-
-
-Engravers are grouped. For example, note heads, slurs, beams etc. form
-a Voice context. Engravers for key, accidental, bar, etc. form a Staff
-context.
-
-
-You may only see the first example in this document; please download
-this snippet and run it from your own computer. 
-" }
-
-%% sample music
-topVoice =  \relative c' {
-  \key d\major
-  es8([ g] a[ fis])
-  b4
-  b16[-. b-. b-. cis-.]
-  d4->
-}
-
-botVoice =  \relative c' {
-  \key d\major
-  c8[( f] b[ a)]
-  es4
-  es16[-. es-. es-. fis-.]
-  b4->
-}
-
-hoom =  \relative c {
-  \key d \major
-  \clef bass
-  g8-. r
-  r4 
-  fis8-.
-  r8
-  r4
-  b'4->
-}
-
-pah =  \relative c' {
-  r8 b-.
-  r4
-  r8 g8-.
-  r16 g-. r8
-  \clef treble
-  fis'4->
-}
-
-%
-% setup for Request->Element conversion. Guru-only
-%
-
-MyStaff =\context {
-  \type "Engraver_group"
-  \name Staff
-
-  \description "Handles clefs, bar lines, keys, accidentals.  It can contain
-@code{Voice} contexts."
-
-  
-  \consists "Output_property_engraver" 
-  
-  \consists "Font_size_engraver"
-
-  \consists "Volta_engraver"
-  \consists "Separating_line_group_engraver"   
-  \consists "Dot_column_engraver"
-
-  \consists "Ottava_spanner_engraver"
-  \consists "Rest_collision_engraver"
-  \consists "Piano_pedal_engraver"
-  \consists "Piano_pedal_align_engraver"
-  \consists "Instrument_name_engraver"
-  \consists "Grob_pq_engraver"
-  \consists "Forbid_line_break_engraver"
-  \consists "Axis_group_engraver"
-
-  \consists "Pitch_squash_engraver"
-
-  \override VerticalAxisGroup #'minimum-Y-extent = #'(-6 . 6)
-  extraVerticalExtent = ##f
-  verticalExtent = ##f 
-  localKeySignature = #'()
-
-                               % explicitly set instrument, so we don't get 
-                               % weird effects when doing instrument names for
-                               % piano staves
-
-  instrumentName = #'()
-  shortInstrumentName = #'()
-  
-  \accepts "Voice"
-}
-
-
-MyVoice = \context {
-  \type "Engraver_group"
-  \name Voice
-
-  \description "
-    Corresponds to a voice on a staff.  This context handles the
-    conversion of dynamic signs, stems, beams, super- and subscripts,
-    slurs, ties, and rests.
-
-    You have to instantiate this explicitly if you want to have
-    multiple voices on the same staff."
-
-  localKeySignature = #'()
-  \consists "Font_size_engraver"
-  
-                               % must come before all
-  \consists "Output_property_engraver" 
-  \consists "Arpeggio_engraver"
-  \consists "Multi_measure_rest_engraver"
-  \consists "Text_spanner_engraver"
-  \consists "Grob_pq_engraver"
-  \consists "Note_head_line_engraver"
-  \consists "Glissando_engraver"
-  \consists "Ligature_bracket_engraver"
-  \consists "Breathing_sign_engraver"
-                               % \consists "Rest_engraver"
-  \consists "Grace_beam_engraver"
-  \consists "New_fingering_engraver"
-  \consists "Chord_tremolo_engraver"
-  \consists "Percent_repeat_engraver"
-  \consists "Slash_repeat_engraver"
-
-%{
-  Must come before text_engraver, but after note_column engraver.
-
-%}
-  \consists "Text_engraver"
-  \consists "Dynamic_engraver"
-  \consists "Fingering_engraver"
-
-  \consists "Script_column_engraver"
-  \consists "Rhythmic_column_engraver"
-  \consists "Cluster_spanner_engraver"
-  \consists "Tie_engraver"
-  \consists "Tie_engraver"
-  \consists "Tuplet_engraver"
-  \consists "Note_heads_engraver"
-  \consists "Rest_engraver"
-
-  \consists "Skip_event_swallow_translator"
-}
-
-
-\score {
-  \topVoice
-  \layout {
-    \context { \MyStaff }
-    \context { \MyVoice }
-  }
-}
-
-
-MyStaff = \context {
-    \MyStaff
-    \consists "Staff_symbol_engraver"
-}
-
-\score {
-  \topVoice
-  \layout {
-      \context { \MyStaff }
-      \context { \MyVoice }
-            }
-}
-
-MyStaff = \context {
-    \MyStaff
-    \consists "Clef_engraver"
-    \remove "Pitch_squash_engraver"
-}
-
-\score {
-  \topVoice
-  \layout {
-    \context { \MyStaff }
-    \context { \MyVoice }
-  }
-}
-
-MyVoice = \context {
-  \MyVoice
-  \consists "Stem_engraver"
-}
-
-\score {
-  \topVoice
-  \layout {
-    \context { \MyStaff }
-    \context { \MyVoice }
-  }
-}
-
-MyVoice = \context {
-  \MyVoice
-  \consists "Beam_engraver"
-}
-
-\score {
-  \topVoice
-  \layout {
-    \context { \MyStaff }
-    \context { \MyVoice }
-  }
-}
-
-MyVoice= \context {
-  \MyVoice
-  \consists "Phrasing_slur_engraver"
-  \consists "Slur_engraver"
-  \consists "Script_engraver"
-}
-
-
-\score {
-  \topVoice
-  \layout {
-    \context { \MyStaff }
-    \context { \MyVoice }
-  }
-}
-
-MyStaff = \context {
-  \MyStaff
-  \consists "Bar_engraver"
-  \consists "Time_signature_engraver"
-}
-
-\score {
-  \topVoice
-  \layout {
-    \context { \MyStaff }
-    \context { \MyVoice }
-  }
-}
-
-MyStaff = \context {
-  \MyStaff
-  \consists "Accidental_engraver"    
-  \consists "Key_engraver"
-}
-\score {
-  \topVoice
-  \layout {
-    \context { \MyStaff }
-    \context { \MyVoice }
-  }
-}
-
diff --git a/input/lsr/other/removing-time-signature-and-bar-lines.ly b/input/lsr/other/removing-time-signature-and-bar-lines.ly
deleted file mode 100644 (file)
index 9d73b40..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-%%  Do not edit this file; it is auto-generated from LSR!
-\version "2.11.23"
-
-\header { texidoc = "
-Engravers can be removed one by one. Here, the time signature and bar
-lines  have been removed.
-
-
-" }
-
-\score {
-   \relative c'' {
-    a b c d
-    d c b a
-  }
-  \layout {
-    raggedright = ##t
-    \context {
-      \Staff
-      whichBar = #""
-      \remove "Time_signature_engraver"
-    }
-  }
-}
-
-
-
diff --git a/input/lsr/pitch/combining-two-parts-on-the-same-staff.ly b/input/lsr/pitch/combining-two-parts-on-the-same-staff.ly
new file mode 100644 (file)
index 0000000..3569f3f
--- /dev/null
@@ -0,0 +1,74 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header { texidoc = "
+The part combiner tool ( \partcombine command ) allows you to combine
+different parts on a same Staff. You can choose whether you want or
+don't want to add texts such as \"solo\" or \"a2\", by defining the
+printPartCombineTexts property.
+
+For vocal scores (hymns), there is no need to add solo/a2 texts, so
+they should be switched off. However, you'd better not use it if there
+are any solos, as they won't be indicated. In such cases, you may
+simply wan't to use standard LilyPond polyphony.
+
+This snippet presents the three ways two parts can be printed on a same
+staff : standard polyphony, \partcombine whitout texts, and
+\partcombine with texts.
+
+
+" }
+
+musicUp = {     \time 4/4
+                       \relative c'' {
+                               a4 c4.(g8) a4 |
+                               g4 e' g,( a8 b) | 
+                               c b a2.
+                       }
+}
+
+musicDown = {
+                       \relative c'' {
+                               g4 e4.(d8) c4 |
+                               r2 g'4( f8 e) |
+                               d2 a
+                       }
+}
+\score{
+       \new Staff {
+               \set Staff.instrumentName = "Standard polyphony  "
+               << \musicUp  \\ \musicDown >>
+       }
+       \layout{ 
+       indent = 6.0\cm 
+       }
+}
+
+\score{
+       \context Staff {
+                       \set Staff.instrumentName = "PartCombine without texts  "
+                       \partcombine \musicUp \musicDown
+       }
+       \layout{
+               indent = 6.0\cm
+               \context {
+                       \Voice
+                       printPartCombineTexts = ##f
+               }
+       }
+}
+
+\score{
+       \context Staff {
+                       \set Staff.instrumentName = "PartCombine with texts  "
+                       \partcombine \musicUp \musicDown
+       }
+       \layout{
+               indent = 6.0\cm
+               \context {
+                       \Voice
+                       printPartCombineTexts = ##t
+               }
+       }
+}
+
diff --git a/input/lsr/pitch/forced-and-cautionary-accidentals.ly b/input/lsr/pitch/forced-and-cautionary-accidentals.ly
new file mode 100644 (file)
index 0000000..1a29e94
--- /dev/null
@@ -0,0 +1,26 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header { texidoc = "
+ Normally accidentals are printed automatically, but you may also print
+them manually. A reminder accidental can be forced by adding an
+exclamation mark ! after the pitch. A cautionary accidental (i.e., an
+accidental within parentheses) can be obtained by adding the question
+mark `?' after the pitch.
+
+
+
+Cautionary accidentals may be made smaller, or placed inside
+parentheses 
+" }
+
+{
+cis' cis' cis'! cis'?
+
+    c''4
+    cis''?4
+    \once \override Staff.AccidentalCautionary #'font-size = #-2
+    cis''?4
+    \once \override Staff.AccidentalCautionary #'parenthesized = ##t
+    cis''?4
+}
diff --git a/input/lsr/pitch/preventing-stem-extension.ly b/input/lsr/pitch/preventing-stem-extension.ly
new file mode 100644 (file)
index 0000000..731a76e
--- /dev/null
@@ -0,0 +1,30 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header { texidoc = "
+Extending stems to the center line may be prevented using
+@code{no-stem-extend}.
+
+
+" }
+
+\score { 
+  \context Voice \relative c {
+       \context Staff <<
+               \new Voice { 
+                       f2 f8 g a b 
+                       \override Stem  #'no-stem-extend = ##t
+                       f2 f8 g a b
+               }
+               \new Voice { 
+                       c''2 c8 b a g
+                       \override Stem  #'no-stem-extend = ##t
+                       c2 c8 b a g
+               }
+       >>
+       
+  }
+
+}
+
+
diff --git a/input/lsr/pitch/rest-styles.ly b/input/lsr/pitch/rest-styles.ly
new file mode 100644 (file)
index 0000000..c14c927
--- /dev/null
@@ -0,0 +1,39 @@
+%%  Do not edit this file; it is auto-generated from LSR!
+\version "2.11.23"
+
+\header { texidoc = "
+Rests may be used in various styles.
+
+
+
+" }
+
+\layout {
+    indent = 0.0
+    raggedright = ##t
+}
+
+\context Staff \relative c {
+    \set Score.timing = ##f
+    \override Staff.Rest  #'style = #'mensural
+    r\maxima^\markup \typewriter { mensural }
+    r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128
+    \bar "" 
+
+    \override Staff.Rest  #'style = #'neomensural
+    r\maxima^\markup \typewriter { neomensural }
+    r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128
+    \bar "" 
+
+    \override Staff.Rest  #'style = #'classical
+    r\maxima^\markup \typewriter { classical }
+    r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128
+    \bar ""
+    
+    \override Staff.Rest  #'style = #'default
+    r\maxima^\markup \typewriter { default }
+    r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128
+    
+}
+
+
index af209b82fe43f57eb8edbd4d94d37fb88b2b4421..d212c6cec87abe681d75dd0cf11adeb4804c8d36 100644 (file)
@@ -1,6 +1,9 @@
 depth = ../../
 
-SUBDIRS = ancient chords connecting contemporary guitar parts repeats spacing staff text vocal expressive scheme other education pitch
+SUBDIRS = ancient chords connecting contemporary education expressive
+SUBDIRS += guitar parts pitch repeats spacing staff text vocal scheme other 
+SUBDIRS += engravers nonmusic instrument
+
 
 STEPMAKE_TEMPLATES=documentation texinfo tex
 LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
diff --git a/input/new/instrument-specific/AAA-intro.ly b/input/new/instrument-specific/AAA-intro.ly
deleted file mode 100644 (file)
index 93c62a9..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-\version "2.10.0"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png  is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
diff --git a/input/new/instrument-specific/GNUmakefile b/input/new/instrument-specific/GNUmakefile
deleted file mode 100644 (file)
index 43325ab..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-## Hmm, would this work?  No -- if we really want examples, move
-## to other dir (input/) comes to mind.
-## examples = font20 ancient-font
-## LOCALSTEPMAKE_TEMPLATES += ly mutopia
-
-EXTRA_DIST_FILES= 
-
-include $(depth)/make/stepmake.make
-
-TITLE=Advanced snippets
diff --git a/input/new/instrument-specific/SConscript b/input/new/instrument-specific/SConscript
deleted file mode 100644 (file)
index f72bfff..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Advanced snippets')
diff --git a/input/new/instrument/AAA-intro.ly b/input/new/instrument/AAA-intro.ly
new file mode 100644 (file)
index 0000000..93c62a9
--- /dev/null
@@ -0,0 +1,16 @@
+\version "2.10.0"
+
+\header{
+texidoc = "
+@unnumbered Introduction
+
+This document shows examples from the
+@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
+
+In the web version of this document, you can click on the file name
+or figure for each example to see the corresponding input file."
+}
+
+% make sure .png  is generated.
+\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
+
diff --git a/input/new/instrument/GNUmakefile b/input/new/instrument/GNUmakefile
new file mode 100644 (file)
index 0000000..43325ab
--- /dev/null
@@ -0,0 +1,16 @@
+
+depth = ../../../
+
+STEPMAKE_TEMPLATES=documentation texinfo tex
+LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
+
+## Hmm, would this work?  No -- if we really want examples, move
+## to other dir (input/) comes to mind.
+## examples = font20 ancient-font
+## LOCALSTEPMAKE_TEMPLATES += ly mutopia
+
+EXTRA_DIST_FILES= 
+
+include $(depth)/make/stepmake.make
+
+TITLE=Advanced snippets
diff --git a/input/new/instrument/SConscript b/input/new/instrument/SConscript
new file mode 100644 (file)
index 0000000..f72bfff
--- /dev/null
@@ -0,0 +1,4 @@
+# -*-python-*-
+
+Import ('env', 'collate')
+collate (title = 'Advanced snippets')
diff --git a/input/new/non-music/AAA-intro.ly b/input/new/non-music/AAA-intro.ly
deleted file mode 100644 (file)
index 93c62a9..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-\version "2.10.0"
-
-\header{
-texidoc = "
-@unnumbered Introduction
-
-This document shows examples from the
-@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
-
-In the web version of this document, you can click on the file name
-or figure for each example to see the corresponding input file."
-}
-
-% make sure .png  is generated.
-\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
-
diff --git a/input/new/non-music/GNUmakefile b/input/new/non-music/GNUmakefile
deleted file mode 100644 (file)
index 43325ab..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-
-depth = ../../../
-
-STEPMAKE_TEMPLATES=documentation texinfo tex
-LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
-
-## Hmm, would this work?  No -- if we really want examples, move
-## to other dir (input/) comes to mind.
-## examples = font20 ancient-font
-## LOCALSTEPMAKE_TEMPLATES += ly mutopia
-
-EXTRA_DIST_FILES= 
-
-include $(depth)/make/stepmake.make
-
-TITLE=Advanced snippets
diff --git a/input/new/non-music/SConscript b/input/new/non-music/SConscript
deleted file mode 100644 (file)
index f72bfff..0000000
+++ /dev/null
@@ -1,4 +0,0 @@
-# -*-python-*-
-
-Import ('env', 'collate')
-collate (title = 'Advanced snippets')
diff --git a/input/new/non-music/clip-systems.ly b/input/new/non-music/clip-systems.ly
deleted file mode 100644 (file)
index 06247e7..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-\header {
-  texidoc = "Clipping snippets from a finished score
-
-Notes:
-
-@itemize @bullet
-@item If system starts and ends are included, they include extents of the System grob, eg. instrument names.
-@item Grace notes  at the end point of the region are not included
-@item Regions can span multiple systems. In this case, multiple EPS files are generated.
-@end itemize
-
-This file needs to be run separately with @code{-dclip-systems}; the
-collated-files.html of the regression test does not adequately show
-the results.
-
-The result will be files named
-@file{@var{base}-from-@var{start}-to-@var{end}[-@var{count}].eps}.
-"
-
-}
-
-\version "2.10.0"
-
-#(ly:set-option 'clip-systems)
-
-#(set! output-count 1)
-
-origScore = \score{
-    \relative {
-      \set Staff.instrumentName = #"bla"
-      c1
-      d
-      \grace c16
-      e1
-      \key d\major
-      
-      f
-      \break  \clef bass
-      g,
-      fis
-    }  
-}
-
-\book { 
-  \score {
-    \origScore
-    \layout {
-
-      %% each clip-region is a (START . END) pair
-      %% where both are rhythmic-locations.
-      
-      %% (make-rhythmic-locations BAR-NUMBER NUM DEN)
-      %% means NUM/DEN whole-notes into bar numbered BAR-NUMBER
-
-      clip-regions
-      = #(list
-         (cons
-          (make-rhythmic-location 2 0 1)
-          (make-rhythmic-location 4 0 1))
-
-         (cons
-          (make-rhythmic-location 0 0 1)
-          (make-rhythmic-location 4 0 1))
-         
-         (cons
-          (make-rhythmic-location 0 0 1)
-          (make-rhythmic-location 6 0 1))
-       )
-    }
-  }
-}
-
-#(set! output-count 0)
-#(ly:set-option 'clip-systems #f)
-
-\book {
-  \score { \origScore }
-  \markup { \bold \fontsize #6 clips }
-  \score {
-    \lyrics {
-      \markup { from-2.0.1-to-4.0.1-clip.eps }
-      \markup { \epsfile #X #30.0 #(format #f "~a-1-from-2.0.1-to-4.0.1-clip.eps" (ly:parser-output-name parser)) }
-    }
-  }
-}
diff --git a/input/new/non-music/toc.ly b/input/new/non-music/toc.ly
deleted file mode 100644 (file)
index e6164ea..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-\version "2.11.26"
-
-\header {
-  texidoc = "A table of contents is included using
-@code{\\markuplines \\table-of-contents}. The toc items are added with
-the @code{\\tocItem} command."
-}
-
-#(set-default-paper-size "a6")
-
-\book {
-  \markuplines \table-of-contents
-  \pageBreak
-
-  \tocItem \markup "The first score"
-  \score {
-    { 
-      c'1 \pageBreak
-      \mark "A" \tocItem \markup "Mark A"
-      d'
-    }
-  }
-  \pageBreak
-  \tocItem \markup "The second score"
-  \score {
-    { e' }
-    \header { piece = "Second score" }
-  }
-}
\ No newline at end of file
diff --git a/input/new/nonmusic/AAA-intro.ly b/input/new/nonmusic/AAA-intro.ly
new file mode 100644 (file)
index 0000000..93c62a9
--- /dev/null
@@ -0,0 +1,16 @@
+\version "2.10.0"
+
+\header{
+texidoc = "
+@unnumbered Introduction
+
+This document shows examples from the
+@uref{http://lsr@/.dsi@/.unimi@/.it,LilyPond Snippet Repository}.
+
+In the web version of this document, you can click on the file name
+or figure for each example to see the corresponding input file."
+}
+
+% make sure .png  is generated.
+\markup{ "This document is for LilyPond version" #(ly:export(lilypond-version)) }
+
diff --git a/input/new/nonmusic/GNUmakefile b/input/new/nonmusic/GNUmakefile
new file mode 100644 (file)
index 0000000..43325ab
--- /dev/null
@@ -0,0 +1,16 @@
+
+depth = ../../../
+
+STEPMAKE_TEMPLATES=documentation texinfo tex
+LOCALSTEPMAKE_TEMPLATES=lilypond ly lysdoc
+
+## Hmm, would this work?  No -- if we really want examples, move
+## to other dir (input/) comes to mind.
+## examples = font20 ancient-font
+## LOCALSTEPMAKE_TEMPLATES += ly mutopia
+
+EXTRA_DIST_FILES= 
+
+include $(depth)/make/stepmake.make
+
+TITLE=Advanced snippets
diff --git a/input/new/nonmusic/SConscript b/input/new/nonmusic/SConscript
new file mode 100644 (file)
index 0000000..f72bfff
--- /dev/null
@@ -0,0 +1,4 @@
+# -*-python-*-
+
+Import ('env', 'collate')
+collate (title = 'Advanced snippets')
diff --git a/input/new/nonmusic/clip-systems.ly b/input/new/nonmusic/clip-systems.ly
new file mode 100644 (file)
index 0000000..06247e7
--- /dev/null
@@ -0,0 +1,85 @@
+\header {
+  texidoc = "Clipping snippets from a finished score
+
+Notes:
+
+@itemize @bullet
+@item If system starts and ends are included, they include extents of the System grob, eg. instrument names.
+@item Grace notes  at the end point of the region are not included
+@item Regions can span multiple systems. In this case, multiple EPS files are generated.
+@end itemize
+
+This file needs to be run separately with @code{-dclip-systems}; the
+collated-files.html of the regression test does not adequately show
+the results.
+
+The result will be files named
+@file{@var{base}-from-@var{start}-to-@var{end}[-@var{count}].eps}.
+"
+
+}
+
+\version "2.10.0"
+
+#(ly:set-option 'clip-systems)
+
+#(set! output-count 1)
+
+origScore = \score{
+    \relative {
+      \set Staff.instrumentName = #"bla"
+      c1
+      d
+      \grace c16
+      e1
+      \key d\major
+      
+      f
+      \break  \clef bass
+      g,
+      fis
+    }  
+}
+
+\book { 
+  \score {
+    \origScore
+    \layout {
+
+      %% each clip-region is a (START . END) pair
+      %% where both are rhythmic-locations.
+      
+      %% (make-rhythmic-locations BAR-NUMBER NUM DEN)
+      %% means NUM/DEN whole-notes into bar numbered BAR-NUMBER
+
+      clip-regions
+      = #(list
+         (cons
+          (make-rhythmic-location 2 0 1)
+          (make-rhythmic-location 4 0 1))
+
+         (cons
+          (make-rhythmic-location 0 0 1)
+          (make-rhythmic-location 4 0 1))
+         
+         (cons
+          (make-rhythmic-location 0 0 1)
+          (make-rhythmic-location 6 0 1))
+       )
+    }
+  }
+}
+
+#(set! output-count 0)
+#(ly:set-option 'clip-systems #f)
+
+\book {
+  \score { \origScore }
+  \markup { \bold \fontsize #6 clips }
+  \score {
+    \lyrics {
+      \markup { from-2.0.1-to-4.0.1-clip.eps }
+      \markup { \epsfile #X #30.0 #(format #f "~a-1-from-2.0.1-to-4.0.1-clip.eps" (ly:parser-output-name parser)) }
+    }
+  }
+}
diff --git a/input/new/nonmusic/toc.ly b/input/new/nonmusic/toc.ly
new file mode 100644 (file)
index 0000000..e6164ea
--- /dev/null
@@ -0,0 +1,29 @@
+\version "2.11.26"
+
+\header {
+  texidoc = "A table of contents is included using
+@code{\\markuplines \\table-of-contents}. The toc items are added with
+the @code{\\tocItem} command."
+}
+
+#(set-default-paper-size "a6")
+
+\book {
+  \markuplines \table-of-contents
+  \pageBreak
+
+  \tocItem \markup "The first score"
+  \score {
+    { 
+      c'1 \pageBreak
+      \mark "A" \tocItem \markup "Mark A"
+      d'
+    }
+  }
+  \pageBreak
+  \tocItem \markup "The second score"
+  \score {
+    { e' }
+    \header { piece = "Second score" }
+  }
+}
\ No newline at end of file
index c585ab01ab06276f3231f53cdbde2eb8f2c69383..ec5ac2bd229efbcb205330a4d2f0a170db261102 100644 (file)
@@ -30,6 +30,8 @@ $(outdir)/%.pdf: $(outdir)/%.texi $(outdir)/user-ln doc-po
 
 local-WWW: $(outdir)/lilypond.pdf $(outdir)/lilypond/index.html
        cd $(outdir); find -name '*.html' | xargs grep -L --label="" 'UNTRANSLATED NODE: IGNORE ME' | xargs $(PYTHON) ../$(buildscript-dir)/mass-link.py --prepend-suffix .$(ISOLANG) hard . $(top-build-dir)/Documentation/user/$(outdir) lilypond.pdf
+       cd $(outdir); find \( -name 'lily-??????????.png' -o -name 'lily-??????????.ly' \) -a -not -type l | xargs $(PYTHON) ../$(buildscript-dir)/mass-link.py hard . $(top-build-dir)/Documentation/user/$(outdir)
+# FIXME
 # ugh, this is not enough to avoid wasting build time, $(outdir)/user-ln should be touched for all languages
        touch -mr $(top-build-dir)/Documentation/user/$(outdir) $(outdir)/user-ln