]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'lilypond/translation' into staging
authorFrancisco Vila <francisco.vila@hispalinux.es>
Thu, 1 Mar 2012 12:59:42 +0000 (13:59 +0100)
committerFrancisco Vila <francisco.vila@hispalinux.es>
Thu, 1 Mar 2012 12:59:42 +0000 (13:59 +0100)
49 files changed:
Documentation/changes.tely
Documentation/contributor/introduction.itexi
Documentation/contributor/lsr-work.itexi
Documentation/included/helpus.itexi
Documentation/ly-examples/GNUmakefile
Documentation/notation/rhythms.itely
Documentation/snippets/centering-markup-on-note-heads-automatically.ly
Documentation/snippets/creating-metronome-marks-in-markup-mode.ly
Documentation/snippets/customizing-fretboard-fret-diagrams.ly
Documentation/snippets/defining-an-engraver-in-scheme-ambitus-engraver.ly
Documentation/snippets/display-bracket-with-only-one-staff-in-a-system.ly
Documentation/snippets/formatting-lyrics-syllables.ly
Documentation/snippets/hymn-template.ly
Documentation/snippets/nesting-staves.ly
Documentation/snippets/numbers-as-easy-note-heads.ly
Documentation/snippets/partcombine-and-autobeamoff.ly
Documentation/snippets/placement-of-right-hand-fingerings.ly
Documentation/snippets/printing-marks-on-every-staff.ly
Documentation/snippets/printing-metronome-and-rehearsal-marks-below-the-staff.ly
Documentation/snippets/woodwind-diagrams-key-lists.ly
Documentation/translations.itexi
Documentation/web/community.itexi
Documentation/web/news-front.itexi
GNUmakefile.in
VERSION
input/regression/autobeam-3-4-rules.ly [new file with mode: 0644]
input/regression/layout-from.ly [new file with mode: 0644]
input/regression/multiple-time-sig-settings.ly
input/regression/rest-on-nonstandard-staff.ly
lily/book-scheme.cc
lily/context-def.cc
lily/parser.yy
lily/rest.cc
ly/context-mods-init.ly
ly/engraver-init.ly
ly/event-listener.ly
ly/init.ly
ly/music-functions-init.ly
make/lilypond-book-vars.make
make/ly-rules.make
make/midi-rules.make
ps/music-drawing-routines.ps
scm/auto-beam.scm
scm/define-context-properties.scm
scm/lily-library.scm
scm/lily.scm
scm/time-signature-settings.scm
scripts/build/mutopia-index.py [deleted file]
stepmake/stepmake/texinfo-rules.make

index 16f0085e98fbbe246fd68ef6443c1f0625a1bac1..b3fe430955eb778f9f8f932c832d8945d433ec8a 100644 (file)
@@ -61,6 +61,14 @@ which scares away people.
 
 @end ignore
 
+@item
+The LilyPond G clef has been redesigned - upper loop is now more balanced,
+bottom crook sticks out less and the "spine" (main vertical line) is more
+evenly curved. The old and new versions can be compared by looking at the
+documentation:
+@uref{http://lilypond.org/doc/v2.14/Documentation/notation/the-feta-font.html#clef-glyphs, old version},
+@uref{http://lilypond.org/doc/v2.15/Documentation/notation/the-feta-font.html#clef-glyphs, new version}.
+
 @item
 Lilypond's stencil commands have been simplified to allow for less code
 duplication and better height approximations of graphical objects.  The
index e41b42b0fb0db847dd1512b6990ad842f4478e70..b15b4291d0727c36a2e00ea935a5479d9b5c2be1 100644 (file)
@@ -21,9 +21,9 @@ help LilyPond.
 
 @helpusNeed
 
-@helpusTasks
+@helpusSimple
 
-@helpusProjects
+@helpusAdvanced
 
 
 @node Overview of work flow
index 1a64a55c8fbcb2d9c77d4cf2445069331abe6e12..9cc0d1805df515b35729d3c54a769e48463f0603 100644 (file)
@@ -299,6 +299,31 @@ Download the latest snippet tarball, extract it, and run
 @option{--to=@var{version}} to ensure snippets are updated to the
 correct stable version.
 
+Make sure you use @code{convert-ly} from the latest available release to gain
+all advantages from the latest converting-rules-updates.
+
+Example:
+
+@itemize
+
+@item
+LSR-version: 2.12.2
+
+@item
+intended LSR-update to 2.14.2
+
+@item
+latest release 2.15.30
+
+@end itemize
+
+Use @code{convert-ly} from 2.15.30 and the following terminal
+command for all files:
+
+@example
+convert-ly -e -t2.14.2 *.ly
+@end example
+
 @item
 Copy relevant snippets (i.e., snippets whose version is equal to or less
 than the new version of LilyPond) from
index 07b6ffb4bd33c5f601088d1c6c57bfedd2b99541..1578a36174a1bbfe274f730268d26d9250006a82 100644 (file)
@@ -16,10 +16,10 @@ of spending time on those simple tasks.
 @end macro
 
 
-@macro helpusTasks
+@macro helpusSimple
 @subheading Simple tasks
 
-No source code or compiling required!
+@strong{No programming skills} required!
 
 @itemize
 @item
@@ -45,6 +45,10 @@ testing new features.  Please contribute to these discussions!
 
 @end itemize
 
+@end macro
+
+
+@macro helpusAdvanced
 @subheading Advanced tasks
 
 These jobs generally require that you have the source code and can
@@ -82,7 +86,7 @@ Frogs, and read @rcontrib{Programming work}.
 
 @end macro
 
-
+@ignore
 @macro helpusProjects
 @subheading Projects
 
@@ -135,4 +139,5 @@ with larger tasks in the future.
 
 @end macro
 
+@end ignore
 
index a3ee42280b15fad5e45fbb3d65ae391c2c71513b..b4e4d2c0be13cbeceddfac602103a0fb93e0341a 100644 (file)
@@ -14,7 +14,7 @@ all: $(OUT_PNG_FILES) $(OUT_SMALL_PNG_FILES)
 endif
 
 $(outdir)/%.png: %.ly
-       $(LILYPOND_PREVIEW) -o $(outdir) $<
+       $(buildscript-dir)/run-and-check "$(LILYPOND_PREVIEW) -o $(outdir) $<" "$*.preview.log"
        mv $(outdir)/$*.preview.png $@
 
 $(outdir)/%-small.png: $(outdir)/%.png
index a3707bf42a4d84ff2e53e770e189effd490e9353..b5c60a19808d5015629a4ccfa9a1a0198b8c9d4d 100644 (file)
@@ -2147,17 +2147,31 @@ if @code{beamExceptions} is not reset.
 \repeat unfold 8 {c8}
 @end lilypond
 
-In a similar fashion, eighth notes in 3/4 time are beamed as a full
-measure by default.  To beam eighth notes in 3/4 time on the beat,
-reset @code{beamExceptions}.
+In traditional engraving, eighth notes can have special beaming rules.
+A measure consisting of only eighth notes can be beamed in one.  This rule is
+controlled by the context property @code{beamWholeMeasure}:
 
 @lilypond[quote,verbatim,relative=2]
 \time 3/4
-% by default we beam in (3) due to beamExceptions
-\repeat unfold 6 {a8} |
-% This will beam (1 1 1) due to beatLength
-\set Timing.beamExceptions = #'()
-\repeat unfold 6 {a8}
+% By default we beam in one
+\repeat unfold 6 { a8 }
+% We can avoid beaming in one
+\set Timing.beamWholeMeasure = ##f
+\repeat unfold 6 { a8 }
+@end lilypond
+
+In some engraving from the Romantic and Classical periods,
+a half-measure of eighth notes can be beamed
+together even though this violates the general rule (see Gould, p. 153).
+This behavior is controlled by the context property @code{beamHalfMeasure}:
+
+@lilypond[quote,verbatim,relative=2]
+\time 3/4
+% By default we avoid half-measure beams
+r4. a8 a a |
+% We can allow half-measure beams
+\set Timing.beamHalfMeasure = ##t
+r4. a8 a a |
 @end lilypond
 
 @i{@strong{How automatic beaming works}}
index ce227d016e6e8db91ea27efda9f4283d922dfb65..74cab448cde237da2dc3acf3fcfa40ea95f4126a 100644 (file)
@@ -4,8 +4,8 @@
 % and then run scripts/auxiliar/makelsr.py
 %
 % This file is in the public domain.
-%% Note: this file works from version 2.14.0
-\version "2.14.0"
+%% Note: this file works from version 2.15.31
+\version "2.15.31"
 
 \header {
   lsrtags = "text, tweaks-and-overrides, contexts-and-engravers"
@@ -25,29 +25,23 @@ been shifted via @code{force-hshift}.
 #(define (Text_align_engraver ctx)
   (let ((scripts '())
         (note-column #f))
-
-    `((acknowledgers
-       (note-column-interface
-        . ,(lambda (trans grob source)
-             ;; cache NoteColumn in this Voice context
-             (set! note-column grob)))
-
-       (text-script-interface
-        . ,(lambda (trans grob source)
-             ;; whenever a TextScript is acknowledged,
-             ;; add it to `scripts' list
-             (set! scripts (cons grob scripts)))))
-
-      (stop-translation-timestep
-       . ,(lambda (trans)
-            ;; if any TextScript grobs exist,
-            ;; set NoteColumn as X-parent
-            (and (pair? scripts)
-                 (for-each (lambda (script)
-                             (set! (ly:grob-parent script X) note-column))
-                           scripts))
-            ;; clear scripts ready for next timestep
-            (set! scripts '()))))))
+    (make-engraver
+     (acknowledgers
+      ((note-column-interface trans grob source)
+       ;; cache NoteColumn in this Voice context
+       (set! note-column grob))
+      ((text-script-interface trans grob source)
+       ;; whenever a TextScript is acknowledged,
+       ;; add it to `scripts' list
+       (set! scripts (cons grob scripts))))
+     ((stop-translation-timestep trans)
+      ;; if any TextScript grobs exist,
+      ;; set NoteColumn as X-parent
+      (for-each (lambda (script)
+                 (set! (ly:grob-parent script X) note-column))
+               scripts)
+      ;; clear scripts ready for next timestep
+      (set! scripts '())))))
 
 \layout {
   \context {
index 77af8a9290cadc555dded9ed32b1d7581b910237..927eabde3a40ea337e71a0de629c131e39c4a33b 100644 (file)
@@ -27,7 +27,7 @@ aber sie Ã¤ndern nicht das Tempo für die MIDI-Ausgabe.
 
   doctitlede = "Eine Metronombezeichnung als Textbeschriftung erstellen"
 
-%% Translation of GIT committish: 99dc90bbc369722cf4d3bb9f30b7288762f2167f6
+%% Translation of GIT committish: af3df3b7c6e062635bdccb739be41962969806a0
   texidocfr = "
 Vous pouvez créer des indications de tempo sous la forme d'étiquettes
 textuelles -- des objets @code{markup} -- notamment des Ã©quivalences.
index b208a61ca72d9d5bd630cb61363c53ae5c5e2708..9219df9c54ac584b72667d464ec079e9ba54a4c3 100644 (file)
@@ -35,12 +35,12 @@ weggelassen werden kann.
 "
   doctitlede = "Bunddiagramme anpassen"
 
-%% Translation of GIT committish: 40bf2b38d674c43f38058494692d1a0993fad0bd
+%% Translation of GIT committish: af01b3b78afa2e7c3c60e7280ee0b6382135bd35
   texidocfr = "
 Les propriétés d'un diagramme de fret sont définies par les
-@code{fret-diagram-details}.  En matière de diagramme FretBoards, les
+@code{'fret-diagram-details}.  En matière de diagramme de fret, les
 adaptations s'appliquent Ã  l'objet @code{FretBoards.FretBoard}.  Un
-@code{FretBoard} est comparable Ã  un @code{Voice}@tie{}: il s'agit
+@code{FretBoards} est comparable Ã  un @code{Voice}@tie{}: il s'agit
 d'un contexte du plus bas niveau, et il n'est donc pas primordial de
 l'instancier de manière explicite pour adapter ses propriétés.
 
index bf498a657ae9ca5f24cd328711626c77ad347eb0..025b32766b8ac5279317821ca3952bbf0fb1e885 100644 (file)
@@ -4,8 +4,8 @@
 % and then run scripts/auxiliar/makelsr.py
 %
 % This file is in the public domain.
-%% Note: this file works from version 2.14.0
-\version "2.14.0"
+%% Note: this file works from version 2.15.31
+\version "2.15.31"
 
 \header {
 %% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
@@ -42,10 +42,6 @@ Esto es básicamente una reescritura en Scheme del código de
 %%% Grob utilities
 %%%
 %%% These are literal rewrites of some C++ methods used by the ambitus engraver.
-#(define (ly:event::in-event-class event class-name)
-   "Check if @var{event} the given class.
-Rewrite of @code{Stream_event::internal_in_event_class} from @file{lily/stream-event.cc}."
-   (memq class-name (ly:make-event-class (ly:event-property event 'class))))
 
 #(define (ly:separation-item::add-conditional-item grob grob-item)
    "Add @var{grob-item} to the array of conditional elements of @var{grob}.
@@ -209,7 +205,7 @@ position of middle C and key signature from @var{translator}'s context."
    ;; Get the event that caused the note-grob creation
    ;; and check that it is a note-event.
    (let ((note-event (ly:grob-property note-grob 'cause)))
-     (if (ly:event::in-event-class note-event 'note-event)
+     (if (ly:in-event-class? note-event 'note-event)
          ;; get the pitch from the note event
          (let ((pitch (ly:event-property note-event 'pitch)))
            ;; if this pitch is lower than the current ambitus lower
@@ -313,23 +309,24 @@ position of middle C and key signature from @var{translator}'s context."
    (lambda (context)
      (let ((ambitus #f))
        ;; when music is processed: make the ambitus object, if not already built
-       `((process-music . ,(lambda (translator)
-                             (if (not ambitus)
-                                 (set! ambitus (make-ambitus translator)))))
-         ;; set the ambitus clef and key signature state
-         (stop-translation-timestep . ,(lambda (translator)
-                                         (if ambitus
-                                             (initialize-ambitus-state ambitus translator))))
-         ;; when a note-head grob is built, update the ambitus notes
-         (acknowledgers
-          (note-head-interface . ,(lambda (engraver grob source-engraver)
-                                    (if ambitus
-                                        (update-ambitus-notes ambitus grob)))))
-         ;; finally, typeset the ambitus according to its upper and lower notes
-         ;; (if any).
-         (finalize . ,(lambda (translator)
-                        (if ambitus
-                            (typeset-ambitus ambitus translator))))))))
+       (make-engraver
+       ((process-music translator)
+        (if (not ambitus)
+            (set! ambitus (make-ambitus translator))))
+       ;; set the ambitus clef and key signature state
+       ((stop-translation-timestep translator)
+        (if ambitus
+            (initialize-ambitus-state ambitus translator)))
+       ;; when a note-head grob is built, update the ambitus notes
+       (acknowledgers
+          ((note-head-interface engraver grob source-engraver)
+          (if ambitus
+              (update-ambitus-notes ambitus grob))))
+       ;; finally, typeset the ambitus according to its upper and lower notes
+       ;; (if any).
+       ((finalize translator)
+        (if ambitus
+            (typeset-ambitus ambitus translator)))))))
 
 %%%
 %%% Example
index e9725f3db617d2da0f4230cc89a530abf75aeae7..c9552557c9129f43e9493277f5e451ae27db0f12 100644 (file)
@@ -40,7 +40,7 @@ wie das zweite Beispiel zeigt.
 "
   doctitlede = "Klammer anzeigen wenn nur ein System gesetzt wird"
 
-%% Translation of GIT committish: 99dc90bbc369722cf4d3bb9f30b7288762f2167f6
+%% Translation of GIT committish: af3df3b7c6e062635bdccb739be41962969806a0
   texidocfr = "
 Lorsque, dans des regoupements de type @code{ChoirStaff} ou
 @code{StaffGroup}, une seule portée est active, aucune indication n'est
index 4fe20bb4047c0ac84d193704f234bf00a0bbee03..3a1d963b33ee0d895e776ab1ff6f236dc7fd3036 100644 (file)
@@ -17,6 +17,14 @@ individuales dentro de la letra.
 
   lsrtags = "text, vocal-music"
 
+%% Translation of GIT committish: ea0b270e14781707ab52683acddf9302bbe337f3
+  texidoces = "
+Es posible usar el modo de marcado para dar formato a sílabas
+individuales dentro de la letra.
+
+"
+  doctitlees = "Dar formato a sílabas de la letra"
+
 %%%    Translation of GIT committish: f86f00c1a8de0f034ba48506de2801c074bd5422
   texidocde = "
 Textbeschriftungsmodus kann eingesetzt werden, um individuelle Silben im Gesangstext
@@ -24,6 +32,7 @@ zu formatieren.
 
 "
   doctitlede = "Silben im Gesangstext formatieren"
+
 %%  Translation of GIT committish: d9d1da30361a0bcaea1ae058eb1bc8dd3a5b2e4c
   texidocfr = "
 Le mode markup permet d'individualiser la mise en forme de certaines syllabes.
index b8af195da3061d7efafc9ed554bbdc6866882ef8..d2d680e43dfea62090a156715ec1e9f0c6aa7c6a 100644 (file)
@@ -27,6 +27,7 @@ strofe come testo separato sotto la musica.
 
 "
   doctitleit = "Modello per inno"
+
 %%    Translation of GIT committish: ab9e3136d78bfaf15cc6d77ed1975d252c3fe506
 
   texidocde = "
index 273caf791ccb77bfcb67de6a0b31a166f1df9c30..f1169e155cc7c40eac4fd9c1c4314b443815d4fb 100644 (file)
@@ -44,7 +44,7 @@ die gesamte Gruppe.  Die Möglichkeiten der Anfangsklammer sind: @code{SystemSta
 "
   doctitlede = "Systeme schachteln"
 
-%% Translation of GIT committish: 99dc90bbc369722cf4d3bb9f30b7288762f2167f6
+%% Translation of GIT committish: af3df3b7c6e062635bdccb739be41962969806a0
   texidocfr = "
 La propriété @code{systemStartDelimiterHierarchy} permet de créer des
 regroupements imbriqués complexes.  La commande
index 7dd3cc616e3eaa9e7c35bdb9176ce5f4684c7b3e..30ea77e48757d0f5b926f4a0052a44208aec4a29 100644 (file)
@@ -4,8 +4,8 @@
 % and then run scripts/auxiliar/makelsr.py
 %
 % This file is in the public domain.
-%% Note: this file works from version 2.14.0
-\version "2.14.0"
+%% Note: this file works from version 2.15.31
+\version "2.15.31"
 
 \header {
 %% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
@@ -62,21 +62,19 @@ object it sees.
 
 
 #(define Ez_numbers_engraver
-   (list
-    (cons 'acknowledgers
-          (list
-           (cons 'note-head-interface
-                 (lambda (engraver grob source-engraver)
-                   (let* ((context (ly:translator-context engraver))
-                          (tonic-pitch (ly:context-property context 'tonic))
-                          (tonic-name (ly:pitch-notename tonic-pitch))
-                          (grob-pitch
-                           (ly:event-property (event-cause grob) 'pitch))
-                          (grob-name (ly:pitch-notename grob-pitch))
-                          (delta (modulo (- grob-name tonic-name) 7))
-                          (note-names
-                           (make-vector 7 (number->string (1+ delta)))))
-                     (ly:grob-set-property! grob 'note-names note-names))))))))
+   (make-engraver
+    (acknowledgers
+     ((note-head-interface engraver grob source-engraver)
+      (let* ((context (ly:translator-context engraver))
+            (tonic-pitch (ly:context-property context 'tonic))
+            (tonic-name (ly:pitch-notename tonic-pitch))
+            (grob-pitch
+             (ly:event-property (event-cause grob) 'pitch))
+            (grob-name (ly:pitch-notename grob-pitch))
+            (delta (modulo (- grob-name tonic-name) 7))
+            (note-names
+             (make-vector 7 (number->string (1+ delta)))))
+       (ly:grob-set-property! grob 'note-names note-names))))))
 
 #(set-global-staff-size 26)
 
index fb3f88f3409a22923d0ebf63d4045387a98a4ba8..bf5fb3e519f6c174cca955b991465fdd9f6d0f31 100644 (file)
@@ -47,6 +47,7 @@ necesario hacer tres llamadas a @code{\\autoBeamOff}.
 
 "
   doctitlees = "Partcombine y autoBeamOff"
+
 %%   Translation of GIT committish: ab9e3136d78bfaf15cc6d77ed1975d252c3fe506
 
   texidocde = "
@@ -78,6 +79,7 @@ wenn man es mit @code{\\partcombine} verwendet, muss @code{\\autoBeamOff}
 "
 doctitlede = "Partcombine und autoBeamOff"
 
+
 %% Translation of GIT committish: 3b125956b08d27ef39cd48bfa3a2f1e1bb2ae8b4
   texidocfr = "
 La fonction @code{\\autoBeamOff} dans le cadre d'un
index 343e6c5efbf06a4f42ed5653a107b62ecf82501d..108976ad0d364099d71bc2d80cca4658b59576cd 100644 (file)
@@ -29,11 +29,11 @@ das folgende Beispiel zeigt:
 "
   doctitlede = "Positionierung von Fingersatz der rechten Hand"
 
-%% Translation of GIT committish: 3b125956b08d27ef39cd48bfa3a2f1e1bb2ae8b4
+%% Translation of GIT committish: af01b3b78afa2e7c3c60e7280ee0b6382135bd35
   texidocfr = "
 Vous disposez d'une propriété spécifique qui permet de contrôler plus
 finement le positionnement des doigtés main droite, comme l'indique
-l'exemple suivant.
+l'exemple suivant.  N'oubliez pas le construction de type accord.
 
 "
   doctitlefr = "Positionnement des doigtés main droite"
index 2273efe107915caf887a41cc1105d1ca2bdb8eac..8a3d47ccbd0ec8bd639520d078fd99a2fb8ac860 100644 (file)
@@ -9,7 +9,7 @@
 \header {
   lsrtags = "text"
 
-%% Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%% Translation of GIT committish: ea0b270e14781707ab52683acddf9302bbe337f3
   texidoces = "
 Aunque normalmente las marcas de ensayo textuales sólo se imprimen
 sobre el pentagrama superior, también se pueden imprimir en otro
index ada34d8dd160a6a62ea202ec126207317547510d..9d5e2017e175afcdee0c284ebd20f0402a646de4 100644 (file)
@@ -32,7 +32,7 @@ von @code{MetronomeMark} oder @code{RehearsalMark} entsprechend verändert werde
 "
   doctitlede = "Metronom- und Ãœbungszeichen unter das System setzen"
 
-%% Translation of GIT committish: 99dc90bbc369722cf4d3bb9f30b7288762f2167f6
+%% Translation of GIT committish: af3df3b7c6e062635bdccb739be41962969806a0
   texidocfr = "
 Les indications de tempo et les marques de repère s'impriment par défaut
 au-dessus de la portée.  Le fait de régler en conséquence la propriété
index 0f492428d07a9116741366a046e8191118059607..22dea409c02bf9c91fa10c878b63bc2f1ebac0db 100644 (file)
@@ -8,7 +8,7 @@
 \version "2.14.0"
 
 \header {
-%%%    Translation of GIT committish: 6977ddc9a3b63ea810eaecb864269c7d847ccf98
+%%%    Translation of GIT committish: ea0b270e14781707ab52683acddf9302bbe337f3
 
   texidoces = "
 
index 937a88bd4b9104261989967ebce80856cb552b34..58f80293ef73218f9eeac930f678aabdab8a1126 100644 (file)
@@ -108,11 +108,11 @@ translated
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #d587ff"></span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+
 @end ifnothtml
 @tab Francisco Vila
 @*
@@ -588,11 +588,11 @@ translated
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #d587ff"></span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+
 @end ifnothtml
 @tab Francisco Vila
 @*
@@ -876,11 +876,11 @@ translated
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #d587ff"></span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+
 @end ifnothtml
 @tab Francisco Vila
 @*
@@ -1632,11 +1632,11 @@ translated
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #d587ff"></span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+
 @end ifnothtml
 @tab Francisco Vila
 @*
@@ -1908,11 +1908,11 @@ translated
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #d587ff"></span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+
 @end ifnothtml
 @tab Francisco Vila
 @*
@@ -2158,11 +2158,11 @@ translated
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #d587ff"></span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+
 @end ifnothtml
 @tab Francisco Vila
 @*
@@ -2868,11 +2868,11 @@ translated
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #d587ff"></span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+
 @end ifnothtml
 @tab Francisco Vila
 @*
@@ -3411,11 +3411,11 @@ translated
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #d587ff"></span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+
 @end ifnothtml
 @tab Yoshiki Sawada
 @*
@@ -3517,6 +3517,7 @@ Jean-Charles Malahieude
 @end ifnothtml
 @*
 
+@end ifnothtml
 @ifhtml
 
 @html
@@ -3551,11 +3552,11 @@ translated
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #68ff28">partially up to date</span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+partially up to date
 @end ifnothtml
 @tab Federico Bruni
 @*
@@ -3569,6 +3570,54 @@ up to date
 @ifnothtml
 Luca Rossetto Casel
 @end ifnothtml
+@tab Francisco Vila
+@*
+
+@ifhtml
+
+@html
+<span style="background-color: #1fff1f">translated</span>
+@end html
+@end ifhtml
+@ifnothtml
+translated
+@end ifnothtml
+@*
+
+@ifhtml
+
+@html
+<span style="background-color: #1fff1f">up to date</span>
+@end html
+@end ifhtml
+@ifnothtml
+up to date
+@end ifnothtml
+@tab Valentin Villenave
+@*
+Jean-Charles Malahieude
+@*
+
+@ifhtml
+
+@html
+<small>Jean-Charles Malahieude</small>
+@end html
+@end ifhtml
+@ifnothtml
+Jean-Charles Malahieude
+@end ifnothtml
+@*
+
+@ifhtml
+
+@html
+<small>John Mandereau</small>
+@end html
+@end ifhtml
+@ifnothtml
+John Mandereau
+@end ifnothtml
 @*
 
 @ifhtml
@@ -3617,11 +3666,11 @@ translated
 @ifhtml
 
 @html
-<span style="background-color: #68ff28">partially up to date</span>
+<span style="background-color: #1fff1f">up to date</span>
 @end html
 @end ifhtml
 @ifnothtml
-partially up to date
+up to date
 @end ifnothtml
 @item
 1.3 Expressive marks
@@ -3872,6 +3921,7 @@ John Mandereau
 @end ifnothtml
 @*
 
+@end ifnothtml
 @ifhtml
 
 @html
@@ -3888,7 +3938,7 @@ John Mandereau
 @end html
 @end ifhtml
 @ifnothtml
-translated
+not translated
 @end ifnothtml
 @*
 
@@ -3938,13 +3988,13 @@ not translated
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #d587ff"></span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+
 @end ifnothtml
-@tab Yoshiki Sawada
+@tab Francisco Vila
 @*
 
 @ifhtml
@@ -3977,11 +4027,11 @@ up to date
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">translated</span>
+<small>Jean-Charles Malahieude</small>
 @end html
 @end ifhtml
 @ifnothtml
-translated
+Jean-Charles Malahieude
 @end ifnothtml
 @*
 
@@ -3997,6 +4047,7 @@ up to date
 @tab Francisco Vila
 @*
 
+@end ifnothtml
 @ifhtml
 
 @html
@@ -4038,11 +4089,11 @@ Jean-Charles Malahieude
 @ifhtml
 
 @html
-<small>John Mandereau</small>
+<small>Luca Rossetto Casel</small>
 @end html
 @end ifhtml
 @ifnothtml
-John Mandereau
+Luca Rossetto Casel
 @end ifnothtml
 @*
 
@@ -4058,11 +4109,11 @@ John Mandereau
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">translated</span>
+<span style="background-color: #d0f0f8">not translated</span>
 @end html
 @end ifhtml
 @ifnothtml
-translated
+not translated
 @end ifnothtml
 @*
 
@@ -4151,18 +4202,18 @@ partially up to date
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">translated</span>
+<small>John Mandereau</small>
 @end html
 @end ifhtml
 @ifnothtml
-translated
+John Mandereau
 @end ifnothtml
 @*
 
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<small></small>
 @end html
 @end ifhtml
 @ifnothtml
@@ -4171,6 +4222,7 @@ up to date
 @tab Francisco Vila
 @*
 
+@end ifnothtml
 @ifhtml
 
 @html
@@ -4219,11 +4271,11 @@ John Mandereau
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">translated</span>
+<span style="background-color: #d0f0f8">not translated</span>
 @end html
 @end ifhtml
 @ifnothtml
-translated
+not translated
 @end ifnothtml
 @*
 
@@ -4248,6 +4300,11 @@ up to date
 @ifnothtml
 Luca Rossetto Casel
 @end ifnothtml
+@item
+2.6 Wind instruments
+@*
+(319)
+@tab Till Paala
 @*
 
 @ifhtml
@@ -4273,13 +4330,13 @@ not translated
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #d587ff"></span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+
 @end ifnothtml
-@tab Yoshiki Sawada
+@tab Francisco Vila
 @*
 
 @ifhtml
@@ -4312,11 +4369,11 @@ up to date
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">translated</span>
+<small>Jean-Charles Malahieude</small>
 @end html
 @end ifhtml
 @ifnothtml
-translated
+Jean-Charles Malahieude
 @end ifnothtml
 @*
 
@@ -4329,28 +4386,25 @@ translated
 @ifnothtml
 up to date
 @end ifnothtml
-@tab Francisco Vila
 @*
 
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">translated</span>
+<small></small>
 @end html
 @end ifhtml
 @ifnothtml
-translated
-@end ifnothtml
-@*
 
+@end ifnothtml
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #1fff1f">translated</span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+translated
 @end ifnothtml
 @tab Jean-Charles Malahieude
 @*
@@ -4435,11 +4489,11 @@ translated
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #25fe1f">partially up to date</span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+partially up to date
 @end ifnothtml
 @item
 1.8 Text
@@ -5774,22 +5828,8 @@ partially up to date
 @end html
 @end ifhtml
 @ifnothtml
-translated
-@end ifnothtml
-@*
 
-@ifhtml
-
-@html
-<span style="background-color: #1fff1f">up to date</span>
-@end html
-@end ifhtml
-@ifnothtml
-up to date
 @end ifnothtml
-@tab Francisco Vila
-@*
-
 @ifhtml
 
 @html
@@ -6251,11 +6291,11 @@ translated
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #d587ff"></span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+
 @end ifnothtml
 @tab Francisco Vila
 @*
@@ -6412,11 +6452,11 @@ translated
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #d587ff"></span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+
 @end ifnothtml
 @tab Francisco Vila
 @*
@@ -6553,11 +6593,11 @@ translated
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #d587ff"></span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+
 @end ifnothtml
 @tab Francisco Vila
 @*
@@ -9581,11 +9621,11 @@ translated
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #d587ff"></span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+
 @end ifnothtml
 @tab Francisco Vila
 @*
@@ -9854,11 +9894,11 @@ translated
 @ifhtml
 
 @html
-<span style="background-color: #1fff1f">up to date</span>
+<span style="background-color: #d587ff"></span>
 @end html
 @end ifhtml
 @ifnothtml
-up to date
+
 @end ifnothtml
 @tab Francisco Vila
 @*
index b48776f19a3612be1d5ca8251edea86137eb93dd..d26509623a673974348adf5c68c25635c1f04b98 100644 (file)
@@ -506,13 +506,13 @@ demonstrate what you think it should look like!
 
 @divClass{column-left-top}
 @divClass{keep-bullets}
-@helpusTasks
+@helpusSimple
 
 @divEnd
 @divEnd
 
 @divClass{column-right-top}
-@helpusProjects
+@helpusAdvanced
 
 @divEnd
 
@@ -546,7 +546,7 @@ in mind the following points:
 
 @itemize
 @item
-LilyPond developers may advertise their services on the lilypnod
+LilyPond developers may advertise their services on the lilypond
 email lists from time to time.
 
 @item
index 9e265f68877031eeb9e2b7699a66080aec40ee4b..254b762d6e823c35fa11a42da94f02515f5e7437 100644 (file)
@@ -9,6 +9,20 @@
 @c used for news about the upcoming release; see CG 10.2
 
 
+@newsItem
+@subsubheading LilyPond 2.15.31 released!  @emph{Feb 29, 2012}
+
+We are happy to announce the release of LilyPond 2.15.31.  This
+release contains the usual number of bugfixes.
+
+It is strongly recommended that normal users do @strong{not} use
+this release, and instead use the stable 2.14 version.  Please
+note that due to a few Critical bugs, this is not the next release
+candidate.
+
+@newsEnd
+
+
 @newsItem
 @subsubheading Release candidate 3 of 2.16 - LilyPond 2.15.30 released!  @emph{Feb 17, 2012}
 
index bd2d0ce5a37156b2e4dfef095a64d15f9683ece1..2d22f9f378202c703591eb6d7c0c50a3b89d290e 100644 (file)
@@ -133,15 +133,12 @@ WEB_TRACKED_FILES = $(filter-out $(outdir)/index.html, \
                     $(shell bash -O nullglob -c "echo Documentation/$(outdir)/*.{midi,html,pdf,png,jpg,jpeg,txt,ly,ily,signature,css,zip,js,idx,php}") \
                     $(shell bash -O nullglob -c "echo Documentation/$(outdir)/*/*.{midi,html,pdf,png,jpg,jpeg,txt,ly,ily,signature,css,zip,js,idx,php}")
 
-WWW-post: $(top-build-dir)/.htaccess $(outdir)/examples.html $(WEB_ROOT_FILES)
+WWW-post: $(top-build-dir)/.htaccess $(WEB_ROOT_FILES)
 
 # need UTF8 setting in case this is hosted on a website.
 $(top-build-dir)/.htaccess:
        echo -e 'AddDefaultCharset utf-8\nAddCharset utf-8 .html\nAddCharset utf-8 .en\nAddCharset utf-8 .nl\nAddCharset utf-8 .txt\n' > $(top-build-dir)/.htaccess
 
-$(outdir)/examples.html: $(WEB_EXAMPLE_FILES)
-       $(buildscript-dir)/mutopia-index -o $(outdir)/examples.html input/
-
 $(outdir)/offline-root/index.html: $(WEB_TRACKED_FILES)
        $(buildscript-dir)/www_post $(PACKAGE_NAME) $(TOPLEVEL_VERSION) $(outdir) offline
        find $(outdir)/offline-root -type l | xargs rm -f
diff --git a/VERSION b/VERSION
index 533839d81a7d155290d776936cba0fc4e6db266f..6f7139f232473d8b91a6b732dfe37bdbe69daf67 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,7 +1,7 @@
 PACKAGE_NAME=LilyPond
 MAJOR_VERSION=2
 MINOR_VERSION=15
-PATCH_LEVEL=31
+PATCH_LEVEL=32
 MY_PATCH_LEVEL=
 VERSION_STABLE=2.14.2
-VERSION_DEVEL=2.15.30
+VERSION_DEVEL=2.15.31
diff --git a/input/regression/autobeam-3-4-rules.ly b/input/regression/autobeam-3-4-rules.ly
new file mode 100644 (file)
index 0000000..5730b6c
--- /dev/null
@@ -0,0 +1,24 @@
+\version "2.15.31"
+
+\header {
+
+  doctitle = "Special beaming rules for 3/4 time"
+
+  texinfo = "
+Whole-measure and half-measure beaming in 3/4 time can be controlled.
+The first measure should be beamed in one.  The second measure should
+be beamed in three.  The third and fourth measures should be beamed
+at 3/8.
+  "
+
+}
+
+\relative c' {
+    \time 3/4
+    c8^\markup "Beam in one" c c c c c
+    \set Timing.beamWholeMeasure = ##f
+    c8^\markup "Beam in three" c c c c c
+    \set Timing.beamHalfMeasure = ##t
+    r4.^\markup "Beam in Two" c8 c c
+    c8 c c  r4.
+}
diff --git a/input/regression/layout-from.ly b/input/regression/layout-from.ly
new file mode 100644 (file)
index 0000000..2c0669a
--- /dev/null
@@ -0,0 +1,19 @@
+\version "2.15.31"
+
+\header {
+  texidoc = "
+@code{\\layout-from} can interpret property-setting music for changing
+context definitions inside of layout definitions like @code{\\layout}
+or @code{\\midi}.
+"
+}
+
+\score {
+  \relative c' { cis cis cis cis }
+  \layout {
+    \layout-from { \accidentalStyle "dodecaphonic" }
+  }
+  \midi {
+    \layout-from { \tempo 4 = 240 }
+  }
+}
index 2caad79c8e96e783e8a3891496cfaf23d6470f3b..ab95af5498c83ca866f2a8311a34a816cdf32de1 100644 (file)
@@ -10,7 +10,7 @@ by the markups.
 
 \new Staff{
   \relative c' {
-    \overrideTimeSignatureSettings
+   \overrideTimeSignatureSettings
       #'(4 . 4)  % time signature fraction
       #'(1 . 4)  % base moment fraction
       #'(1 1 1 1)    % beatStructure
@@ -19,7 +19,7 @@ by the markups.
       #'(3 . 4)  % time signature fraction
       #'(1 . 4)  % base moment fraction
       #'(1 1 1)    % beatStructure
-      #'()       % beamExceptions
+      #'((end . (((1 . 8) . (2 2 2))))) % set exceptions to beam by 1/4
     \time 4/4
     c8^\markup {"Beam by 1/4"} c c c c c c c |
     \time 3/4
index 4870f578cfc0df64c293991a4329240025f6d03d..f81aebdfbcbe5efcf83b0b689d12177e973086af 100644 (file)
@@ -55,4 +55,9 @@ mus = {
     \override Staff.StaffSymbol #'line-positions = #'(-4 -2 1 5)
     \mus
   }
+
+  \new Staff {
+    \stopStaff
+    \mus
+  }
 >>
index 39ad1181b6eeb099ad5bbab3376c26ca011f0d1d..7f1026a3e79239c83a95c6144c47427adda4f5f1 100644 (file)
@@ -164,3 +164,7 @@ LY_DEFINE (ly_book_scores, "ly:book-scores",
   Book *b = unsmob_book (book);
   return b->scores_;
 }
+
+#include "ly-smobs.icc"
+
+IMPLEMENT_TYPE_P (Book, "ly:book?");
index 00b10f9616904e6e42e14f92e5af62fffefc064f..1bea3ea4403c33abb7f6b6e1bc81bc625fffb894 100644 (file)
@@ -349,3 +349,6 @@ Context_def::to_alist () const
   return ell;
 }
 
+#include "ly-smobs.icc"
+
+IMPLEMENT_TYPE_P (Context_def, "ly:context-def?");
index 29f4f2a1e0fddabd54aebd9cc6e257d014aafd14..c26f2aae63806f409a745a9f08eb84868df209ba 100644 (file)
@@ -864,8 +864,6 @@ book_body:
                push_paper (parser, $$->paper_);
                $$->header_ = parser->lexer_->lookup_identifier ("$defaultheader");
                parser->lexer_->set_identifier (ly_symbol2scm ("$current-book"), $$->self_scm ());
-               parser->lexer_->set_identifier (ly_symbol2scm ("book-output-suffix"), SCM_BOOL_F);
-               parser->lexer_->set_identifier (ly_symbol2scm ("book-filename"), SCM_BOOL_F);
        }
        | BOOK_IDENTIFIER {
                $$ = unsmob_book ($1);
index a25e6a93198298ef4d8ca778dbded2379e583365..0bb61444b4c025882f0bb924cb531350c246102d 100644 (file)
@@ -26,6 +26,7 @@
 #include "output-def.hh"
 #include "paper-score.hh"
 #include "staff-symbol-referencer.hh"
+#include "staff-symbol.hh"
 #include "stencil.hh"
 #include "grob.hh"
 
@@ -48,7 +49,7 @@ Rest::y_offset_callback (SCM smob)
         robust_scm2double (me->get_property ("staff-position"), 0) * 0.5 * ss;
 
       /*
-        semibreve rests were always positioned one off
+        semibreve rests are positioned one staff line off
       */
       if (duration_log == 0)
         amount += ss;
@@ -66,17 +67,25 @@ Rest::y_offset_callback (SCM smob)
 
       /*
         make a semibreve rest hang from the next line,
-        except for a single line staff;
-        assume the next line being integer steps away
+        except for a single line staff
       */
       if (duration_log == 0 && line_count > 1)
-        ++pos;
+        pos += 2;
 
       /*
         make sure rest is aligned to a staff line
       */
-      while (!Staff_symbol_referencer::on_line (me, pos))
-        ++pos;
+      if (Grob *staff = Staff_symbol_referencer::get_staff_symbol(me))
+        {
+          std::vector<Real> linepos = Staff_symbol::line_positions (staff);
+          std::sort(linepos.begin(), linepos.end());
+          std::vector<Real>::const_iterator it
+            = std::lower_bound(linepos.begin(), linepos.end(), pos);
+          if (it != linepos.end())
+            {
+              pos = (int)ceil(*it);
+            }
+        }
 
       amount = ss * 0.5 * pos;
     }
@@ -112,14 +121,14 @@ Rest::glyph_name (Grob *me, int durlog, string style, bool try_ledgers)
       int const pos = int (Staff_symbol_referencer::get_position (me));
 
       /*
-       half rests need ledger if not lying on a staff line,
-       whole rests need ledger if not hanging from a staff line,
-       breve rests need ledger if neither lying on nor hanging from a staff line
+        half rests need ledger if not lying on a staff line,
+        whole rests need ledger if not hanging from a staff line,
+        breve rests need ledger if neither lying on nor hanging from a staff line
       */
       if (-1 <= durlog && durlog <= 1)
         is_ledgered = !Staff_symbol_referencer::on_staff_line (me, pos)
-         && !(durlog == -1
-              && Staff_symbol_referencer::on_staff_line (me, pos + 2));
+          && !(durlog == -1
+               && Staff_symbol_referencer::on_staff_line (me, pos + 2));
     }
 
   string actual_style (style.c_str ());
index 087d4bb155e1a37464111fd584c8a949031fab38..b8361a58ecfb07f0c44629c6ae13db00570379d3 100644 (file)
@@ -16,7 +16,7 @@
 %%%% You should have received a copy of the GNU General Public License
 %%%% along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 
-\version "2.15.6"
+\version "2.15.31"
 
 RemoveEmptyStaves = \with {
   \remove "Axis_group_engraver"
@@ -31,3 +31,78 @@ RemoveEmptyStaves = \with {
   \description "Remove staves which are considered to be empty according
 to the list of interfaces set by @code{keepAliveInterfaces}."
 }
+
+"layout-from" =
+#(define-void-function (parser location bottom music)
+   ((symbol? 'Voice) ly:music?)
+   (_i "To be used in output definitions.  Take the layout instruction
+events from @var{music} and do the equivalent of context modifications
+duplicating their effect.
+
+This is handy for making layout definitions by using property
+definitions like @code{\\accidentalStyle} or definitions like
+@code{\\tabFullNotation} that may work in multiple or unknown
+contexts.
+
+Layout instructions specified without explicit context get mapped to
+the context symbol @var{bottom}, with a default of @code{'Voice}.
+
+For example, you can tell @code{\\layout-from} to apply a contained
+@example
+\\override #'font-size = #2
+@end example
+to @samp{TabVoice} or @samp{Lyrics} context instead of the default
+@samp{Voice} context, if the context where you would normally use
+@var{music} is not one that would have @samp{Voice} as its
+@samp{Bottom}.")
+   (let loop ((m music) (mods #f))
+     ;; The parser turns all sets, overrides etc into something
+     ;; wrapped in ContextSpeccedMusic.  If we ever get a set,
+     ;; override etc that is not wrapped in ContextSpeccedMusic, the
+     ;; user has created it in Scheme himself without providing the
+     ;; required wrapping.  In that case, using #f in the place of a
+     ;; context modification results in a reasonably recognizable
+     ;; error.
+     (if (music-is-of-type? m 'layout-instruction-event)
+        (ly:add-context-mod
+         mods
+         (case (ly:music-property m 'name)
+           ((PropertySet)
+            (list 'assign
+                  (ly:music-property m 'symbol)
+                  (ly:music-property m 'value)))
+           ((PropertyUnset)
+            (list 'unset
+                  (ly:music-property m 'symbol)))
+           ((OverrideProperty)
+            (list 'push
+                  (ly:music-property m 'symbol)
+                  (ly:music-property m 'grob-property-path)
+                  (ly:music-property m 'grob-value)))
+           ((RevertProperty)
+            (list 'pop
+                  (ly:music-property m 'symbol)
+                  (ly:music-property m 'grob-property-path)))))
+        (case (ly:music-property m 'name)
+          ((SequentialMusic SimultaneousMusic)
+           (fold loop mods (ly:music-property m 'elements)))
+          ((ContextSpeccedMusic)
+           ;; It is actually rather embarrassing that we have no
+           ;; reliable way to check for the type of a context-def.
+           ;; Nor have a Scheme way to add to a context-def.
+           (let ((sym (ly:music-property m 'context-type)))
+             (if (eq? sym 'Bottom)
+                 (set! sym bottom))
+             (if (module-bound? (current-module) sym)
+                 (module-set!
+                  (current-module)
+                  sym
+                  #{ \context {
+                                $(module-ref (current-module) sym)
+                                $(loop (ly:music-property m 'element)
+                                       (ly:make-context-mod))
+                     }
+                  #})
+                 (ly:warning music (_f "Cannot find context-def \\~a"
+                                       sym)))))))
+     mods))
index 6335ab65b1fcd0fb168e0098cfa8efa57ecabe0f..6fd8d4d811395af0acf773c97a0d58e0b054cf65 100644 (file)
@@ -614,6 +614,9 @@ automatically when an output definition (a @code{\score} or
   beatStructure = #'(1 1 1 1)
   beamExceptions = #'((end . (((1 . 8) . (4 4))
                               ((1 . 12) . (3 3 3 3)))))
+  beamWholeMeasure = ##t
+  beamHalfMeasure = ##f
+
   autoBeaming = ##t
   autoBeamCheck = #default-auto-beam-check
 
@@ -1121,8 +1124,6 @@ accommodated for typesetting a piece in Petrucci style."
  \description "Same as @code{Voice} context, except that it is
 accommodated for typesetting a piece in Kievan style."
 
-% \override Stem #'stencil = ##f
-
  %% Set glyph styles.
  \override NoteHead #'style = #'kievan
  \override Rest #'style = #'mensural
@@ -1146,6 +1147,8 @@ accommodated for typesetting a piece in Kievan style."
  \description "Same as @code{Staff} context, except that it is
 accommodated for typesetting a piece in Kievan style."
 
+ \remove "Time_signature_engraver"
+
  %% Choose Kievan tsefaut clef
  clefGlyph = #"clefs.kievan.do"
  middleCClefPosition = #0
index 20615e8c2ae48bc65fd9047ce927264fba313c69..72a3e2407d78d34ede21317c54b2c3410c2141cf 100644 (file)
 
 %%%% Helper functions
 
-#(define (filename-from-staffname engraver)
+#(define (filename-from-staffname context)
    "Constructs a filename in the form
 @file{@var{original_filename}-@var{staff_instrument_name}.notes} if the
 staff has an instrument name.  If the staff has no instrument
 name, it uses "unnamed-staff" for that part of the filename."
-   (let* ((inst-name (ly:context-property
-                      (ly:translator-context engraver)
-                      'instrumentName)))
+   (let* ((inst-name (ly:context-property context 'instrumentName)))
      (string-concatenate (list
                           (substring (object->string (command-line))
                            ;; filename without .ly part
@@ -79,12 +77,11 @@ after beat?  etc.)."
                         (ly:moment-grace-numerator moment)
                         (ly:moment-grace-denominator moment))))))
 
-#(define (make-output-string-line engraver values)
+#(define (make-output-string-line context values)
    "Constructs a tab-separated string beginning with the
-score time (derived from the engraver) and then adding all the
+score time (derived from the context) and then adding all the
 values.  The string ends with a newline."
-   (let* ((context (ly:translator-context engraver))
-          (moment (ly:context-current-moment context)))
+   (let* ((moment (ly:context-current-moment context)))
     (string-append
      (string-join
        (append
@@ -96,16 +93,19 @@ values.  The string ends with a newline."
      "\n")))
 
 
-#(define (print-line engraver . values)
+#(define (print-line context . values)
    "Prints the list of values (plus the score time) to a file, and
-optionally outputs to the console as well."
-   (let* ((p (open-file (filename-from-staffname engraver) "a")))
+optionally outputs to the console as well.  context may be specified
+as an engraver for convenience."
+   (if (ly:translator? context)
+       (set! context (ly:translator-context context)))
+   (let* ((p (open-file (filename-from-staffname context) "a")))
      ;; for regtest comparison
     (if (defined? 'EVENT_LISTENER_CONSOLE_OUTPUT)
      (ly:progress
-      (make-output-string-line engraver values)))
+      (make-output-string-line context values)))
     (display
-     (make-output-string-line engraver values)
+     (make-output-string-line context values)
      p)
     (close p)))
 
index 25c2ba0afb8326d4c4d615bda8af38f6d97f9a95..6546ed422aa676bffd633bacf013b9c8e7086e9b 100644 (file)
@@ -19,8 +19,6 @@
 #(define expect-error #f)
 #(define output-empty-score-list #f)
 #(define output-suffix #f)
-#(define book-filename #f)
-#(define book-output-suffix #f)
 #(use-modules (scm clip-region))
 
 $(if (ly:get-option 'include-settings)
index 4082ea9aec31c76d39422c0e6d8a9ad5a8604186..3b272121175121e7eec84cbc7af0310155ec1fe0 100644 (file)
@@ -186,13 +186,13 @@ bendAfter =
 bookOutputName =
 #(define-void-function (parser location newfilename) (string?)
    (_i "Direct output for the current book block to @var{newfilename}.")
-   (set! book-filename newfilename))
+   (set! (paper-variable parser #f 'output-filename) newfilename))
 
 bookOutputSuffix =
 #(define-void-function (parser location newsuffix) (string?)
    (_i "Set the output filename suffix for the current book block to
 @var{newsuffix}.")
-   (set! book-output-suffix newsuffix))
+   (set! (paper-variable parser #f 'output-suffix) newsuffix))
 
 %% \breathe is defined as a music function rather than an event identifier to
 %% ensure it gets useful input location information: as an event identifier,
@@ -984,8 +984,8 @@ a context modification duplicating their effect.")
              ((OverrideProperty)
               (list 'push
                     (ly:music-property m 'symbol)
-                    (ly:music-property m 'grob-property-path)
-                    (ly:music-property m 'grob-value)))
+                    (ly:music-property m 'grob-value)
+                    (ly:music-property m 'grob-property-path)))
              ((RevertProperty)
               (list 'pop
                     (ly:music-property m 'symbol)
index fdf025bf6cf585acab99ca8133316fe443f04a63..bb1fc23dfe23d42f9b588cba90eab2e175203373 100644 (file)
@@ -4,7 +4,7 @@ LILYPOND_BOOK_COMMAND = LILYPOND_VERSION=$(TOPLEVEL_VERSION) \
        $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) \
        --process='$(LILYPOND_BOOK_PROCESS) \
        $(LILYPOND_BOOK_LILYPOND_FLAGS)' --output=$(outdir) \
-       $(LILYPOND_BOOK_FLAGS)
+        --redirect-lilypond-output $(LILYPOND_BOOK_FLAGS)
 
 HTML_FILES = $(call src-wildcard,*.html)
 HTMLY_FILES = $(call src-wildcard,*.htmly)
index 418d1b9f03ac6cb47c03289acb71c82c260b8b82..fbe81c281abe61c7c4de0a3caa5ecba3badb5847 100644 (file)
@@ -5,7 +5,7 @@ LYS_OUTPUT_OPTION= --lily-output-dir $(LYS_OUTPUT_DIR)
 LYS_OUTPUT_DIR=$(top-build-dir)/out/lybook-db
 LILYPOND_BOOK_FLAGS += $(LYS_OUTPUT_OPTION)
 $(outdir)/%.latex: %.doc $(INIT_LY_SOURCES) $(SCHEME_SOURCES)
-       LILYPOND_VERSION=$(TOPLEVEL_VERSION) $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --process='$(LILYPOND_BOOK_PROCESS) $(LILYPOND_BOOK_LILYPOND_FLAGS)' --output=$(outdir) $(LILYPOND_BOOK_FLAGS) $<
+       LILYPOND_VERSION=$(TOPLEVEL_VERSION) $(PYTHON) $(LILYPOND_BOOK) $(LILYPOND_BOOK_INCLUDES) --process='$(LILYPOND_BOOK_PROCESS) $(LILYPOND_BOOK_LILYPOND_FLAGS)' --output=$(outdir) $(LILYPOND_BOOK_FLAGS) --redirect-lilypond-output $<
 
 
 # This allows -j make option while making sure only one lilypond-book instance
index a5cee58b96a226dd70e3eb9b13bdfae9895bac4e..7b3f149d9643832dc72e02e23d6a27b286ddbc13 100644 (file)
@@ -5,7 +5,7 @@ $(outdir)/%.ly:  %.midi
 
 $(outdir)/%.midi: %.ly $(LILYPOND_BINARY)
        touch $(foreach f, $(HEADER_FIELDS), $(outdir)/$*.$f)
-       $(LILYPOND_BINARY) $(HEADER_FIELDS:%=-H %) -o $(outdir) $<
+       $(buildscript-dir)/run-and-check "$(LILYPOND_BINARY) $(HEADER_FIELDS:%=-H %) -o $(outdir) $<" "$*.log"
        cp $< $(outdir)
 
 $(outdir)/%-midi.ly: $(outdir)/%.midi $(MIDI2LY)
index d7450e452bee0c239f10fca06e70f4f40a5c40b4..3e62f0366e68e5281b8cb3ae6e19f3aa23b22a25 100644 (file)
@@ -98,15 +98,20 @@ bind def
         dup
        0.0 gt {
                setlinewidth % w h x y
-               0 setlinecap
-               1 setlinejoin
-
                rmoveto % w h
-               currentpoint % w h x1 y1
-               4 2 roll % x1 y1 w h
-               4 copy
-               rectfill
-               rectstroke
+               2 copy 0 ne exch 0 ne and
+               {
+                   0 setlinecap
+                   1 setlinejoin
+                   currentpoint % w h x1 y1
+                   4 2 roll % x1 y1 w h
+                   4 copy
+                   rectfill
+                   rectstroke
+               } {
+                   1 setlinecap
+                   rlineto stroke
+               } ifelse
        } {
                pop % w h x y
                rmoveto % w h
index 3cb350867b18265f1f240f2527bd28d1961e30f4..85ff3c65a1db9ef07a8dfb3b88a55eb569bbda12 100644 (file)
@@ -16,9 +16,9 @@
 ;;;; along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 
 ;;  Determine whether an auto beam should be extended to the right
-;;  of the current stem.  We start anywhere except on the last note
-;;  of a beat.  We end according to the follwing rules, in order
-;;  of decreasing priority:
+;;  of the current stem.   In general, we start anywhere except on
+;;  the last note of a beat. We end according to the follwing rules,
+;;  in order of decreasing priority:
 ;;
 ;;  1. end <type>
 ;;  2. end <greater type>
   (define (beat-end? moment beat-structure)
     (pair? (member moment beat-structure)))  ;; member returns a list if found, not #t
 
+  (define (use-special-3-4-rules? fraction base-moment exceptions)
+    "Should we use special 3/4 time signature beaming rules?"
+     (and (equal? fraction '(3 . 4))
+          (equal? base-moment (ly:make-moment 1 4))
+          (null? (assoc-get '(1 . 8) exceptions '()))))
+
   ;; Start of actual auto-beam test routine
   ;;
   ;;
@@ -79,6 +85,8 @@
                                           '())
                                beaming<?))
              (function (if (= dir START) 'begin 'end))
+             (beam-whole-measure (get 'beamWholeMeasure #t))
+             (beam-half-measure (get 'beamHalfMeasure #f))
              (type (moment->fraction test-beam))
              (non-grace (ly:make-moment
                           (ly:moment-main-numerator measure-pos)
                                   exception-grouping 0 grouping-moment)))
 
        (if (= dir START)
-            ;; Start rules
-            (or (not (equal? time-signature-fraction '(3 . 4))) ;; start anywhere if not 3/4
+            ;; Start rules -- start anywhere unless 3/4 with default rules
+            ;; #t if beam is to start
+            (or (not (use-special-3-4-rules?
+                       time-signature-fraction
+                       base-moment
+                       exceptions)) ;; start anywhere if not default 3/4
                 (= (ly:moment-main-numerator pos) 0) ;; start at beginning of measure
-               (not (null? exception-grouping)) ;; don't use special rules if exception
-               (beat-end? pos beat-endings)  ;; are we at start of beat?
+               (and beam-half-measure
+                     (equal? type '(1 . 8))
+                     (equal? pos (ly:make-moment 3 8))) ;; start at mid-measure if 1/8 note beam
+                (beat-end? pos beat-endings)  ;; start if at start of beat
                (and (not (equal? test-beam base-moment)) ;; is beat split?
                      (not (beat-end? (ly:moment-add pos test-beam)
                                      beat-endings))))  ;; will this note end the beat
-            ;; End rules
+            ;; End rules -- #t if beam is to end
             (or (= (ly:moment-main-numerator pos) 0) ;; end at measure beginning
-                (if (null? exception-grouping)
-                    (beat-end? pos beat-endings) ;; no exception, so check beat ending
-                    (member pos exception-moments))))))) ;; check exception rule
+                (if (use-special-3-4-rules?
+                      time-signature-fraction
+                      base-moment
+                      exceptions)
+                    ;; special rule for default 3/4 beaming
+                    (if (and (equal? type '(1 . 8))
+                             (or beam-whole-measure
+                                 (and beam-half-measure
+                                      (not (equal? pos (ly:make-moment 3 8))))))
+                        #f
+                        (beat-end? pos beat-endings))
+                    ;; rules for all other cases -- check for applicable exception
+                    (if (null? exception-grouping)
+                        (beat-end? pos beat-endings) ;; no exception, so check beat ending
+                        (member pos exception-moments)))))))) ;; check exception rule
 
index 43079859c638b83acba705060a6eba9413a85d2f..e0da636c5172e3a8905ae202aed8dfbefc5395c3 100644 (file)
@@ -141,6 +141,10 @@ apply for the down staff of @code{PianoStaff}.  Used by
 @code{\\autochange}.")
      (beamExceptions ,list? "An alist of exceptions to autobeam rules
 that normally end on beats.")
+     (beamHalfMeasure ,boolean? "Allow a half measure of eighth notes to
+be beamed together in 3/4 time?")
+     (beamWholeMeasure ,boolean? "Allow a whole measure of eighth notes
+to be beamed together in 3/4 time?")
      (beatStructure ,list? "List of @code{baseMoment}s that are combined
 to make beats.")
 
index 9673c7b3e44eb634b4a2daff6d557d10483cb0d3..eb537a8e7183b66238158bc047e92b5c85206dda 100644 (file)
   (ly:make-score music))
 
 
-(define (get-current-filename parser)
+(define (get-current-filename parser book)
   "return any suffix value for output filename allowing for settings by
 calls to bookOutputName function"
-  (let ((book-filename (ly:parser-lookup parser 'book-filename)))
+  (let ((book-filename (paper-variable parser book 'output-filename)))
     (if (not book-filename)
        (ly:parser-output-name parser)
        book-filename)))
 
-(define (get-current-suffix parser)
+(define (get-current-suffix parser book)
   "return any suffix value for output filename allowing for settings by calls to
 bookoutput function"
-  (let ((book-output-suffix (ly:parser-lookup parser 'book-output-suffix)))
+  (let ((book-output-suffix (paper-variable parser book 'output-suffix)))
     (if (not (string? book-output-suffix))
        (ly:parser-lookup parser 'output-suffix)
        book-output-suffix)))
 
 (define-public current-outfile-name #f)  ; for use by regression tests
 
-(define (get-outfile-name parser)
+(define (get-outfile-name parser book)
   "return current filename for generating backend output files"
   ;; user can now override the base file name, so we have to use
   ;; the file-name concatenated with any potential output-suffix value
   ;; as the key to out internal a-list
-  (let* ((base-name (get-current-filename parser))
-        (output-suffix (get-current-suffix parser))
+  (let* ((base-name (get-current-filename parser book))
+        (output-suffix (get-current-suffix parser book))
         (alist-key (format #f "~a~a" base-name output-suffix))
         (counter-alist (ly:parser-lookup parser 'counter-alist))
         (output-count (assoc-get alist-key counter-alist 0))
@@ -209,7 +209,7 @@ bookoutput function"
 (define (print-book-with parser book process-procedure)
   (let* ((paper (ly:parser-lookup parser '$defaultpaper))
         (layout (ly:parser-lookup parser '$defaultlayout))
-        (outfile-name (get-outfile-name parser)))
+        (outfile-name (get-outfile-name parser book)))
     (process-procedure book paper layout outfile-name)))
 
 (define-public (print-book-with-defaults parser book)
@@ -230,6 +230,24 @@ bookoutput function"
       (else
           ((ly:parser-lookup parser 'toplevel-score-handler) parser score))))
 
+(define-public paper-variable
+  (let
+      ((get-papers
+       (lambda (parser book)
+         (append (if (and book (ly:output-def? (ly:book-paper book)))
+                     (list (ly:book-paper book))
+                     '())
+                 (ly:parser-lookup parser '$papers)
+                 (list (ly:parser-lookup parser '$defaultpaper))))))
+    (make-procedure-with-setter
+     (lambda (parser book symbol)
+       (any (lambda (p) (ly:output-def-lookup p symbol #f))
+           (get-papers parser book)))
+     (lambda (parser book symbol value)
+       (ly:output-def-set-variable!
+       (car (get-papers parser book))
+       symbol value)))))
+
 (define-public (add-text parser text)
   (add-score parser (list text)))
 
index ab9e73dbf0b7e5500b025246db806d15d3e362f3..0c20c148b20a5ec56066379eaee887eeab20bf8b 100644 (file)
@@ -510,8 +510,10 @@ messages into errors.")
     ))
 
 (define-public lilypond-exported-predicates
-  `((,ly:box? . "box")
+  `((,ly:book? . "book")
+    (,ly:box? . "box")
     (,ly:context? . "context")
+    (,ly:context-def? . "context definition")
     (,ly:context-mod? . "context modification")
     (,ly:dimension? . "dimension, in staff space")
     (,ly:dir? . "direction")
index bdabac88732f1a0a39656c5152df780a1a9f257f..898eee600a5e4977555e554b25486760ae155003 100644 (file)
@@ -64,6 +64,7 @@
 ;;;       NOTE: numerator is kept in beam-type because of
 ;;;             tuplets, e.g. (2 . 24) = (2 . 3) * (1 . 8)
 ;;;             for eighth-note triplets.
+;;;
 
 (define-public default-time-signature-settings
   '(
              ((beamExceptions . ((end .  (((1 . 32) . (8 8 8 8 8 8))))))))
 
     ;; in 3 4 time:
-    ;;   use defaults, but combine all beats into a unit if possible
+    ;;   use defaults -- no entries necessary
     ;;
-    ;;   set all beams to end on beats, but 1 8 to beam entire measure
-    ;;   in order to avoid beaming every beam type for the entire measure, we set
-    ;;   triplets back to every beat.
+    ;;   Whole measure beaming is controlled by context property
+    ;;   beamWholeMeasure
+    ;;   Half measure beaming is controlled by context property
+    ;;   beamHalfMeasure
+
     ((3 . 4) .
-             ((beamExceptions . ((end . (((1 . 8) . (6))            ;1/8 note whole measure
-                                         ((1 . 12) . (3 3 3)))))))) ;Anything shorter by beat
+             ((beamExceptions . ())))
 
     ;; in 3 8  time:
     ;;   beam entire measure together
@@ -232,7 +234,6 @@ for @var{time-signature} from @var{time-signature-settings}."
   "Like the C++ code that executes \\override, but without type
 checking."
   (begin
-     (revert-property-setting context property setting)
      (ly:context-set-property!
        context
        property
@@ -263,7 +264,7 @@ a fresh copy of the list-head is made."
 
   ;; body of revert-property-setting
   (let ((current-value (ly:context-property context property)))
-    (if (> (entry-count current-value setting) 1)
+    (if (> (entry-count current-value setting) 0)
         (ly:context-set-property!
           context
           property
diff --git a/scripts/build/mutopia-index.py b/scripts/build/mutopia-index.py
deleted file mode 100644 (file)
index 31fa6ac..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-#!@PYTHON@
-# mutopia-index.py
-
-import fnmatch
-import getopt
-import os
-import re
-import stat
-import sys
-
-def find (pat, dir):
-    f = os.popen ('find %s -name "%s"'% (dir, pat))
-    lst = []
-    for a in f.readlines():
-        a = a[:-1]
-        lst.append (a)
-    return lst
-
-
-junk_prefix = 'out-www/'
-
-headertext= r"""
-
-<h1>LilyPond samples</h1>
-
-
-<p>You are looking at a page with some LilyPond samples.  These files
-are also included in the distribution. The output is completely
-generated from the source file, without any further touch up.
-
-<p>
-
-The pictures are 90 dpi anti-aliased snapshots of the printed output.
-For a good impression of the quality print out the PDF file.
-"""
-
-headertext_nopics= r"""
-<p>No examples were found in this directory. 
-"""
-
-#
-# FIXME breaks on multiple strings.
-#
-def read_lilypond_header (fn):
-    s = open (fn).read ()
-    s = re.sub ('%.*$', '', s)
-    s = re.sub ('\n', ' ', s)                
-
-    dict = {}
-    m = re.search (r"""\\header\s*{([^}]*)}""", s)
-
-    if m:
-            s = m.group (1)
-    else:
-            return dict
-
-    while s:
-        m = re.search (r'''\s*(\S+)\s*=\s*"([^"]+)"''', s)
-        if m == None:
-            s = ''
-        else:
-            s = s[m.end (0):]
-            left  = m.group         (1)
-            right = m.group (2)
-
-            left = re.sub ('"', '', left)
-            right = re.sub ('"', '', right)
-            dict[left] = right
-
-    return dict
-
-def help ():
-    sys.stdout.write (r'''Usage: mutopia-index [OPTIONS] INFILE OUTFILE
-Generate index for mutopia.
-
-Options:
- -h, --help                 print this help
- -o, --output=FILE          write output to file
- -s, --subdirs=DIR             add subdir
-   --suffix=SUF             specify suffix
-   
-''')
-    sys.exit (0)
-
-# ugh.
-def gen_list (inputs, file_name):
-    sys.stderr.write ("generating HTML list %s" % file_name)
-    sys.stderr.write ('\n')
-    if file_name:
-        list = open (file_name, 'w')
-    else:
-        list = sys.stdout
-    list.write ('''<html><head><title>Rendered Examples</title>
-<style type="text/css">
-hr { border:0; height:1; color: #000000; background-color: #000000; }\n
-</style>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-</head>''')
-
-    list.write ('<body bgcolor=white>\n')
-    
-    if inputs:
-        list.write (headertext)
-    else:
-        list.write (headertext_nopics)
-
-    for ex in inputs:
-        print ex
-        
-        (base, ext) = os.path.splitext (ex)
-        (base, ext2) = os.path.splitext (base)                
-        ext = ext2 + ext
-        
-        header = read_lilypond_header (ex)
-        head = header.get ('title', os.path.basename (base))
-        composer = header.get ('composer', '')
-        desc = header.get ('description', '')
-        list.write ('<hr>\n')
-        list.write ('<h1>%s</h1>\n' % head);
-        if composer:
-            list.write ('<h2>%s</h2>\n' % composer)
-        if desc:
-            list.write ('%s<p>' % desc)
-        list.write ('<ul>\n')
-
-        def list_item (file_name, desc, type, lst = list):
-            if os.path.isfile (file_name):
-                lst.write ('<li><a href="%s">%s</a>'
-                     % (re.sub (junk_prefix, '', file_name), desc))
-
-                # FIXME: include warning if it uses \include
-                # files.
-                
-                size = os.stat (file_name)[stat.ST_SIZE]
-                kB = (size + 512) / 1024
-                if kB:
-                    lst.write (' (%s %d kB)' % (type, kB))
-                else:
-                    lst.write (' (%s %d characters)'
-                         % (type, size))
-                pictures = ['jpeg', 'png', 'xpm']
-                lst.write ('\n')
-            else:
-                print "cannot find" , `file_name`
-
-        list_item (base + ext, 'The input', 'ASCII')
-
-        pages_found = 0
-        for page in range (1, 100):
-            f = base + '-page%d.png' % page
-            
-            if not os.path.isfile (f):
-                break
-            pages_found += 1
-            list_item (f, 'See a picture of page %d' % page, 'png')
-
-        if pages_found == 0 and os.path.exists (base + '.png'):
-            list_item (base + ".png",
-                 'See a picture', 'png')
-
-            
-        list_item (base + '.pdf', 'Print', 'PDF')
-        list_item (base + '.midi', 'Listen', 'MIDI')
-        list.write ('</ul>\n');
-
-    list.write ('</body></html>\n');
-    list.close ()
-
-(options, files) = getopt.getopt (sys.argv[1:],
- 'ho:', ['help', 'output='])
-outfile = 'examples.html'
-
-subdirs = []
-for (o, a) in options:
-    if o == '--help' or o == '-h':
-        help ()
-    elif o == '--output' or o == '-o':
-        outfile = a
-
-dirs  = []
-for f in files:
-    dirs += find ('out-www', f)
-
-if not dirs:
-    dirs = ['.']
-
-allfiles = []
-
-for d in dirs:
-    allfiles += find ('*.ly', d)
-
-allfiles = [f for f in allfiles
-            if not f.endswith ('snippet-map.ly')
-            and not re.search ('lily-[0-9a-f]+', f)
-            and 'musicxml' not in f]
-
-gen_list (allfiles, outfile)
index 7b5da4a65f841673bf4bba89b9ece74bae8c29b8..074060627e1f3f444b37463a011f2c866d8a0cb3 100644 (file)
@@ -60,10 +60,10 @@ endif
 
 ifneq ($(ISOLANG),)
 $(XREF_MAPS_DIR)/%.$(ISOLANG).xref-map: $(outdir)/%.texi $(XREF_MAPS_DIR)/%.xref-map
-       $(buildscript-dir)/extract_texi_filenames $(XREF_MAP_FLAGS) -o $(XREF_MAPS_DIR) --master-map-file=$(XREF_MAPS_DIR)/$*.xref-map $<
+       $(buildscript-dir)/extract_texi_filenames $(XREF_MAP_FLAGS) -q -o $(XREF_MAPS_DIR) --master-map-file=$(XREF_MAPS_DIR)/$*.xref-map $<
 else
 $(XREF_MAPS_DIR)/%.xref-map: $(outdir)/%.texi
-       $(buildscript-dir)/extract_texi_filenames $(XREF_MAP_FLAGS) -o $(XREF_MAPS_DIR) $<
+       $(buildscript-dir)/extract_texi_filenames $(XREF_MAP_FLAGS) -q -o $(XREF_MAPS_DIR) $<
 endif
 
 $(outdir)/%.info: %.texi $(outdir)/$(INFO_IMAGES_DIR).info-images-dir-dep $(outdir)/version.itexi $(outdir)/weblinks.itexi