]> git.donarmstrong.com Git - lilypond.git/commitdiff
Merge branch 'master' of git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond
authorJoe Neeman <joeneeman@gmail.com>
Tue, 2 Jan 2007 13:44:42 +0000 (15:44 +0200)
committerJoe Neeman <joeneeman@gmail.com>
Tue, 2 Jan 2007 13:44:42 +0000 (15:44 +0200)
20 files changed:
.gitignore
GNUmakefile.in
buildscripts/build-coverage.sh
buildscripts/coverage.py
buildscripts/output-distance.py
input/regression/cluster-break.ly [new file with mode: 0644]
input/regression/cluster-style.ly [new file with mode: 0644]
input/regression/cluster.ly
input/regression/lyric-extender-no-heads.ly [new file with mode: 0644]
input/regression/measure-grouping.ly
input/regression/spacing-mark-width.ly [new file with mode: 0644]
input/test/makam.ly
lily/cluster.cc
lily/extender-engraver.cc
lily/note-spacing-engraver.cc
ly/music-functions-init.ly
make/doclang-targets.make
scm/backend-library.scm
scm/lily.scm
scripts/lilypond-book.py

index 1f6b89a514ae8e4c8aadf570a168892d31d88e20..8971860688182ce9d5e3f9ccec2c576b0533c1cd 100644 (file)
@@ -54,5 +54,6 @@ configure
 gcstat*.scm
 lily-[0-9a-f][0-9a-f][0-9a-f]*
 out-scons
+out-cov
 tags
 test-output-distance
index 04a002a282990b69939415516084896dc5c72d90..37fb44abf417c1e4983a1c6b20b4f0b2bae631ed 100644 (file)
@@ -210,14 +210,11 @@ test-clean:
        $(MAKE) -C input/regression/ out=test clean
 
 test:
-## no aa-scaling, no PDF
-       $(MAKE) -C input/regression/ out=test LILYPOND_BOOK_LILYPOND_FLAGS="--backend=eps --formats=ps,png $(LILYPOND_JOBS) -dinclude-eps-fonts -dgs-load-fonts --header=texidoc -I $(top-src-dir)/input/manual -ddump-profile -dcheck-internal-types -ddump-signatures -danti-alias-factor=1" LILYPOND_BOOK_VERBOSE= out-test/collated-files.html 
+       $(MAKE) -C input/regression/ out=test LILYPOND_BOOK_LILYPOND_FLAGS="--backend=eps --formats=ps $(LILYPOND_JOBS) -dinclude-eps-fonts -dgs-load-fonts --header=texidoc -I $(top-src-dir)/input/manual -ddump-profile -dcheck-internal-types -ddump-signatures -danti-alias-factor=1" LILYPOND_BOOK_VERBOSE= out-test/collated-files.html 
        @find input ly -name '*.ly' -print |grep -v 'out.*/' | xargs grep '\\version' -L | grep -v "standard input" |sed 's/^/**** Missing version: /g' 
 
-
-
 RESULT_DIR=$(top-build-dir)/out/test-results/
 local-check: test
        rm -rf $(RESULT_DIR)
        mkdir -p $(RESULT_DIR)
-       $(PYTHON) $(buildscript-dir)/output-distance.py --output-dir $(RESULT_DIR) $(CHECK_SOURCE) input/regression/out-test/
+       $(PYTHON) $(buildscript-dir)/output-distance.py --create-images --output-dir $(RESULT_DIR) $(CHECK_SOURCE) input/regression/out-test/
index 5af2bb1d7f116caf8cb234e5ba41ee48ffdf8e55..13a073188b78e8c5fd928da575143846ee74b427 100755 (executable)
@@ -1,12 +1,31 @@
 #!/bin/sh
-./configure --enable-config=cov --disable-optimising
-make conf=cov -j2 clean
-perl -i~ -pe 's/-pipe /-fprofile-arcs -ftest-coverage -pipe /g' config-cov.make
-perl -i~ -pe 's/ -ldl / -lgcov -ldl /g' config-cov.make
+
+if test "$1" == "--fresh"; then
+  fresh=yes
+fi
+
+if test ! -f config-cov.make; then
+  fresh=yes
+fi
+
+if test "$fresh" = "yes";
+then
+  ./configure --enable-config=cov --disable-optimising
+  make conf=cov -j2 clean
+  perl -i~ -pe 's/-pipe /-fprofile-arcs -ftest-coverage -pipe /g' config-cov.make
+  perl -i~ -pe 's/ -ldl / -lgcov -ldl /g' config-cov.make
+else
+  find -name '*.gcda' -exec rm  '{}' ';'
+fi
+
+
 make conf=cov -j2
 make conf=cov test-clean LILYPOND_JOBS=          
 make conf=cov test LILYPOND_JOBS= >& out-cov/test-run.log
 
+rm -rf out-cov
+mkdir out-cov
+
 cd out-cov
 ln ../lily/* .
 ln ../lily/out-cov/*[ch] .
@@ -16,3 +35,5 @@ for a in *[cyl]
 do
    gcov -o ../lily/out-cov/  -p $a > $a.gcov-summary
 done 
+
+python buildscripts/coverage.py
index e8cb903a97e14b11944675d70eb067e517bb59f9..62a68cb0bb0566a651243d0c028942132d6ea433 100644 (file)
@@ -27,6 +27,12 @@ for f in glob.glob ('*.gcov-summary'):
 
 results.sort ()
 results.reverse()
+
+print 'files sorted by number of untested lines (decreasing)'
+print
+print '%5s (%6s): %s' % ('cov %', 'lines', 'file')
+print '----------------------------------------------'
+
 for (pain, d) in results:
     print '%(cov)5.2f (%(lines)6d): %(file)s' % d
 
index 5a83c490d0e4d3d875182e3bde2d4a241c14a1a2..ec8b5d9e10a769f2a907282d9885997a159c7902 100644 (file)
@@ -435,21 +435,50 @@ class SignatureFileLink (FileLink):
 
         self.add_system_link (link, system_index[0])
 
+    
+    def create_images (self, old_dir, new_dir, dest_dir):
+
+        files_created = [[], []]
+        for oldnew in (0, 1):
+            pat = self.base_names[oldnew] + '.eps'
+
+            for f in glob.glob (pat):
+                infile = f
+                outfile = (dest_dir + '/' + f).replace ('.eps', '.png')
+
+                mkdir (os.path.split (outfile)[0])
+                cmd = ('gs -sDEVICE=png16m -dGraphicsAlphaBits=4 -dTextAlphaBits=4 '
+                       ' -r101 '
+                       ' -sOutputFile=%(outfile)s -dNOSAFER -dEPSCrop -q -dNOPAUSE '
+                       ' %(infile)s  -c quit '  % locals ())
+
+                files_created[oldnew].append (outfile)
+                system (cmd)
+
+        return files_created
+    
     def link_files_for_html (self, old_dir, new_dir, dest_dir):
-        png_linked = [[], []]
-        for ext in ('.png', '.ly', '-page*png'):
-            
+        to_compare = [[], []]
+
+        exts = ['.ly']
+        if options.create_images:
+            to_compare = self.create_images (old_dir, new_dir, dest_dir)
+        else:
+            exts += ['.png', '-page*png']
+        
+        for ext in exts:            
             for oldnew in (0,1):
                 for f in glob.glob (self.base_names[oldnew] + ext):
                     dst = dest_dir + '/' + f
                     link_file (f, dst)
 
                     if f.endswith ('.png'):
-                        png_linked[oldnew].append (f)
+                        to_compare[oldnew].append (f)
                         
         if options.compare_images:                
-            for (old,new) in zip (png_linked[0], png_linked[1]):
+            for (old, new) in zip (to_compare[0], to_compare[1]):
                 compare_png_images (old, new, dest_dir)
+
                 
     def html_record_string (self,  old_dir, new_dir):
         def img_cell (ly, img, name):
@@ -467,7 +496,6 @@ class SignatureFileLink (FileLink):
 </font>
 </td>
 ''' % locals ()
-
         def multi_img_cell (ly, imgs, name):
             if not name:
                 name = 'source'
@@ -800,14 +828,15 @@ def test_paired_files ():
 def test_compare_trees ():
     system ('rm -rf dir1 dir2')
     system ('mkdir dir1 dir2')
-    system ('cp 20{-*.signature,.ly,.png} dir1')
-    system ('cp 20{-*.signature,.ly,.png} dir2')
-    system ('cp 20expr{-*.signature,.ly,.png} dir1')
-    system ('cp 19{-*.signature,.ly,.png} dir2/')
-    system ('cp 19{-*.signature,.ly,.png} dir1/')
+    system ('cp 20{-*.signature,.ly,.png,.eps} dir1')
+    system ('cp 20{-*.signature,.ly,.png,.eps} dir2')
+    system ('cp 20expr{-*.signature,.ly,.png,.eps} dir1')
+    system ('cp 19{-*.signature,.ly,.png,.eps} dir2/')
+    system ('cp 19{-*.signature,.ly,.png,.eps} dir1/')
     system ('cp 19-1.signature 19-sub-1.signature')
     system ('cp 19.ly 19-sub.ly')
     system ('cp 19.png 19-sub.png')
+    system ('cp 19.eps 19-sub.eps')
 
     system ('cp 20multipage* dir1')
     system ('cp 20multipage* dir2')
@@ -815,10 +844,10 @@ def test_compare_trees ():
 
     
     system ('mkdir -p dir1/subdir/ dir2/subdir/')
-    system ('cp 19-sub{-*.signature,.ly,.png} dir1/subdir/')
-    system ('cp 19-sub{-*.signature,.ly,.png} dir2/subdir/')
-    system ('cp 20grob{-*.signature,.ly,.png} dir2/')
-    system ('cp 20grob{-*.signature,.ly,.png} dir1/')
+    system ('cp 19-sub{-*.signature,.ly,.png,.eps} dir1/subdir/')
+    system ('cp 19-sub{-*.signature,.ly,.png,.eps} dir2/subdir/')
+    system ('cp 20grob{-*.signature,.ly,.png,.eps} dir2/')
+    system ('cp 20grob{-*.signature,.ly,.png,.eps} dir1/')
 
     ## introduce differences
     system ('cp 19-1.signature dir2/20-1.signature')
@@ -996,6 +1025,12 @@ def main ():
                   action="store_false",
                   help="Don't run graphical comparisons")
 
+    p.add_option ('--create-images',
+                  dest="create_images",
+                  default=False,
+                  action="store_true",
+                  help="Create PNGs from EPSes")
+
     p.add_option ('-o', '--output-dir',
                   dest="output_dir",
                   default=None,
diff --git a/input/regression/cluster-break.ly b/input/regression/cluster-break.ly
new file mode 100644 (file)
index 0000000..9b42b92
--- /dev/null
@@ -0,0 +1,21 @@
+
+\version "2.10.7"
+\header {
+  texidoc = "Clusters behave well across line breaks."
+}
+
+\layout { ragged-right = ##t }
+
+fragment = \relative c' {
+  \time 2/4 
+  <e d'>4
+  <g a>4 | \break
+  <e a>
+  <f a>
+}
+
+<< \new Staff \makeClusters \fragment
+   \new Staff \fragment
+>>
+
+
diff --git a/input/regression/cluster-style.ly b/input/regression/cluster-style.ly
new file mode 100644 (file)
index 0000000..9d4dfc8
--- /dev/null
@@ -0,0 +1,34 @@
+
+
+\version "2.10.7"
+\header {
+  texidoc = "Clusters behave well across line breaks."
+}
+
+\layout { ragged-right = ##t }
+
+fragment = \relative c' {
+  <e d'>4
+  <g a>4 
+  <e a>4
+}
+
+<<
+  \time 2/4 
+  \new Staff {
+    \override ClusterSpanner #'style = #'ramp
+    \makeClusters \fragment
+    r4
+    \override ClusterSpanner #'style = #'leftsided-stairs
+    \makeClusters \fragment
+    r4
+    \override ClusterSpanner #'style = #'rightsided-stairs
+    \makeClusters \fragment
+    r4
+    \override ClusterSpanner #'style = #'centered-stairs
+    \makeClusters \fragment
+    }
+  
+>>
+
+
index 289c1f8984fa5b419421a169d096aef4a6f59675..a05f2ac73d5b575bdb00b8b7d174b1f5e7b2cdc2 100644 (file)
@@ -15,7 +15,7 @@ fragment = \relative c' {
 
 <<
   \new Staff \fragment
-  \new Staff \applyMusic #notes-to-clusters \fragment
+  \new Staff \makeClusters \fragment
 >>
 
 
diff --git a/input/regression/lyric-extender-no-heads.ly b/input/regression/lyric-extender-no-heads.ly
new file mode 100644 (file)
index 0000000..958805a
--- /dev/null
@@ -0,0 +1,24 @@
+\header
+{
+  texidoc = "Extender engraver also notices the lack of note heads.
+Here the extender ends on the 2nd quarter note, despite the grace note
+without a lyric attached." 
+  
+}
+
+\version "2.10.7"
+
+\layout {
+  ragged-right = ##t
+}
+
+\relative c'' {
+  \time 3/4
+  d4~ d4 r4
+  \grace es8
+
+  d4
+  
+}
+\addlyrics { x __ x  }
+
index 64a1e8153d4a2539b51fd70875bc9bc39016c656..cfea330422831ee7a4af3dbc2de8efb846ec5e57 100644 (file)
@@ -9,10 +9,16 @@ brackets above beats when the beats of a time signature are grouped.  "
 
 \version "2.10.0"
 
+\layout  {
+  ragged-right = ##t
+}
 
 %% TODO: should have 2/4 + 5/8 time sig style.
 
-\context Staff
+\context Staff \with {
+    \consists "Measure_grouping_engraver"
+  }
+
 \relative c' {
   #(set-time-signature 2 4) 
   c8 a'4 a8~
@@ -23,12 +29,5 @@ brackets above beats when the beats of a time signature are grouped.  "
   #(set-time-signature 5 8 '(3 2)) 
   g8 a4 g a4.->
 }
-\layout  {
-  ragged-right = ##t
-  \context {
-    \Staff
-    \consists "Measure_grouping_engraver"
-  }
-}
 
 
diff --git a/input/regression/spacing-mark-width.ly b/input/regression/spacing-mark-width.ly
new file mode 100644 (file)
index 0000000..b0b4614
--- /dev/null
@@ -0,0 +1,18 @@
+\header {
+
+  texidoc = "Width of marks does not affect spacing."
+
+}
+
+\version "2.10.7"
+
+\paper {
+  ragged-right = ##t
+}
+
+\relative c''
+{
+  \override Score.RehearsalMark #'break-visibility = #begin-of-line-invisible
+  c1
+  \mark "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx "
+}
index 53dd69cc1a5b9dfe57f946a852ab49cda8ea57d1..549df765c8a3c4b924648b5edcfc79b0c0f46ff8 100644 (file)
@@ -112,6 +112,20 @@ pitchnames = \makamPitchNames
   ragged-right = ##t
 }
 
+
+makamGlyphs = #'((1 . "accidentals.doublesharp")
+       (8/9 . "accidentals.sharp.slashslashslash.stemstem")
+       (5/9 . "accidentals.sharp.slashslashslash.stem")
+       (4/9 . "accidentals.sharp")
+       (1/9 . "accidentals.sharp.slashslash.stem")
+       (0 . "accidentals.natural")
+       (-1/9 . "accidentals.mirroredflat")
+       (-4/9 . "accidentals.flat.slash")
+       (-5/9 . "accidentals.flat")
+       (-8/9 . "accidentals.flat.slashslash")
+       (-1 . "accidentals.flatflat")
+       )
+
 \relative {
 
   %{ define alteration <-> symbol mapping. The following glyphs are available.
@@ -133,21 +147,12 @@ pitchnames = \makamPitchNames
 
   %}
 
+  \override Accidental #'glyph-name-alist =  \makamGlyphs
   
-  \override Accidental #'glyph-name-alist = #'((1 . "accidentals.doublesharp")
-       (8/9 . "accidentals.sharp.slashslashslash.stemstem")
-       (5/9 . "accidentals.sharp.slashslashslash.stem")
-       (4/9 . "accidentals.sharp")
-       (1/9 . "accidentals.sharp.slashslash.stem")
-       (0 . "accidentals.natural")
-       (-1/9 . "accidentals.mirroredflat")
-       (-4/9 . "accidentals.flat.slash")
-       (-5/9 . "accidentals.flat")
-       (-8/9 . "accidentals.flat.slashslash")
-       (-1 . "accidentals.flatflat")
-       )
-
-  
+  \override Staff.KeySignature #'glyph-name-alist = \makamGlyphs
+  \set Staff.keySignature =  #'(
+    (3 .  4/9)
+    (6 . -1/9))
   
   c cc db fk gbm gfc gfb efk dfbm
 }
index 90c2adcf5054a15f9f8151e878ec8220590890ca..8fe55dc69a942941c531836f89881cc0a5fe8e14 100644 (file)
@@ -164,32 +164,22 @@ Cluster::print (SCM smob)
   /*
     Across a line break we anticipate on the next pitches.
   */
-  if (spanner->original ())
+  if (Spanner *next = spanner->broken_neighbor (RIGHT))
     {
-      Spanner *orig = dynamic_cast<Spanner *> (spanner->original ());
-
-      if (spanner->get_break_index () < orig->broken_intos_.size () - 1)
+      extract_grob_set (next, "columns", next_cols);
+      if (next_cols.size () > 0)
        {
-         Spanner *next = orig->broken_intos_[spanner->get_break_index () + 1];
-         vector<Grob*> const &next_cols = extract_grob_array (next, "columns");
-         if (next_cols.size () > 0)
-           {
-             Grob *next_commony = common_refpoint_of_array (next_cols, next, Y_AXIS);
-             Grob *col = next_cols[0];
-
-             Interval v = col->extent (next_commony, Y_AXIS);
-             Real x = right_bound->relative_coordinate (commonx, X_AXIS) - left_coord;
-
-             bottom_points.insert (bottom_points.begin (),
-                                   Offset (x, v[DOWN]));
-             top_points.insert (top_points.begin (), Offset (x, v[UP]));
-           }
+         Grob *next_commony = common_refpoint_of_array (next_cols, next, Y_AXIS);
+         Grob *col = next_cols[0];
+
+         Interval v = col->extent (next_commony, Y_AXIS);
+         Real x = right_bound->relative_coordinate (commonx, X_AXIS) - left_coord;
+
+         bottom_points.push_back (Offset (x, v[DOWN]));
+         top_points.push_back (Offset (x, v[UP]));
        }
     }
 
-  reverse (bottom_points);
-  reverse (top_points);
-
   Stencil out = brew_cluster_piece (me, bottom_points, top_points);
   out.translate_axis (- me->relative_coordinate (commony, Y_AXIS), Y_AXIS);
   return out.smobbed_copy ();
index efea867822abf2b12ebab55865b6d5a5b266a2e1..c6998c5dde2c2025b677e250f82cd99d08c7a593 100644 (file)
@@ -98,7 +98,15 @@ Extender_engraver::stop_translation_timestep ()
                                                 ly_symbol2scm ("heads"), h);
            }
        }
-
+      else
+       {
+         if (pending_extender_)
+           {
+             completize_extender (pending_extender_);
+             pending_extender_ = 0;
+           }
+         
+       }
       if (extender_)
        {
          pending_extender_ = extender_;
index 7b5f2ad7bd33c4f261dde5d08604da7e38373aec..8772ceec7b0daea9b8604cae5c56ee57fe7df129 100644 (file)
@@ -9,6 +9,7 @@
 
 #include "engraver.hh"
 
+#include "grob-array.hh"
 #include "context.hh"
 #include "item.hh"
 #include "pointer-group-interface.hh"
@@ -86,7 +87,8 @@ Note_spacing_engraver::finalize ()
 {
   if (last_spacing_
       && last_spacing_parent_context_
-      && last_spacing_parent_context_ == context ()->get_parent_context ())
+      && last_spacing_parent_context_ == context ()->get_parent_context ()
+      && !unsmob_grob_array (last_spacing_->get_object ("right-items")))
     {
       SCM ccol = get_property ("currentCommandColumn");
       Grob *column = unsmob_grob (ccol);
index 05ed471320d93d629567448e51ef7afe8a035df8..725ba480a59642102338ef6b8a4333f6264d4fe6 100644 (file)
@@ -16,11 +16,10 @@ acciaccatura =
 
 addquote =
 #(define-music-function (parser location name music) (string? ly:music?)
-   "Add a piece of music to be quoted "
+   (_i "Add a piece of music to be quoted ")
    (add-quotable parser name music)
    (make-music 'SequentialMusic 'void #t))
 
-
 afterGraceFraction =
 #(cons 6 8)
 
@@ -153,8 +152,7 @@ bendAfter =
 clef =
 #(define-music-function (parser location type)
    (string?)
-   
-   "Set the current clef."
+   (_i "Set the current clef.")
 
    (make-clef-set type))
 
@@ -194,9 +192,8 @@ displayMusic =
 
 featherDurations=
 #(define-music-function (parser location factor argument) (ly:moment? ly:music?)
-
-   "Rearrange durations in ARGUMENT so there is an
-acceleration/deceleration. "
+   (_i "Rearrange durations in ARGUMENT so there is an
+acceleration/deceleration. ")
    
    (let*
        ((orig-duration (ly:music-length argument))
@@ -304,9 +301,9 @@ overrideProperty =
    (string? symbol? scheme?)
 
 
-   "Set @var{property} to @var{value} in all grobs named @var{name}.
+   (_i "Set @var{property} to @var{value} in all grobs named @var{name}.
 The @var{name} argument is a string of the form @code{\"Context.GrobName\"}
-or @code{\"GrobName\"}"
+or @code{\"GrobName\"}")
 
    (let*
        ((name-components (string-split name #\.))
@@ -346,7 +343,7 @@ removeWithTag =
 
 octave =
 #(define-music-function (parser location pitch-note) (ly:music?)
-   "octave check"
+   (_i "octave check")
 
    (make-music 'RelativeOctaveCheck
               'origin location
@@ -387,7 +384,7 @@ pitchedTrill =
    
 parenthesize =
 #(define-music-function (parser loc arg) (ly:music?)
-   "Tag @var{arg} to be parenthesized."
+   (_i "Tag @var{arg} to be parenthesized.")
 
    (set! (ly:music-property arg 'parenthesize) #t)
    arg)
@@ -397,7 +394,7 @@ parenthesize =
 
 parallelMusic =
 #(define-music-function (parser location voice-ids music) (list? ly:music?)
-  "Define parallel music sequences, separated by '|' (bar check signs),
+  (_i "Define parallel music sequences, separated by '|' (bar check signs),
 and assign them to the identifiers provided in @var{voice-ids}.
 
 @var{voice-ids}: a list of music identifiers (symbols containing only letters)
@@ -416,7 +413,7 @@ Example:
   B = { d d | e e | }
   C = { e e | f f | }
 @end verbatim
-"
+")
   (let* ((voices (apply circular-list (make-list (length voice-ids) (list))))
          (current-voices voices)
          (current-sequence (list)))
@@ -503,7 +500,7 @@ resetRelativeOctave  =
 #(define-music-function
     (parser location reference-note)
     (ly:music?)
-    "Set the octave inside a \\relative section."
+    (_i "Set the octave inside a \\relative section.")
 
    (let*
     ((notes (ly:music-property reference-note 'elements))
@@ -521,8 +518,7 @@ resetRelativeOctave  =
 
 shiftDurations =
 #(define-music-function (parser location dur dots arg) (integer? integer? ly:music?)
-   ""
-
+   (_i "")
    
    (music-map
     (lambda (x)
@@ -530,8 +526,8 @@ shiftDurations =
 
 spacingTweaks =
 #(define-music-function (parser location parameters) (list?)
-   "Set the system stretch, by reading the 'system-stretch property of
-   the `parameters' assoc list."
+   (_i "Set the system stretch, by reading the 'system-stretch property of
+the `parameters' assoc list.")
    #{
       \overrideProperty #"Score.NonMusicalPaperColumn"
         #'line-break-system-details
@@ -543,8 +539,8 @@ spacingTweaks =
 
 includePageLayoutFile = 
 #(define-music-function (parser location) ()
-   "If page breaks and tweak dump is not asked, and the file
-   <basename>-page-layout.ly exists, include it."
+   (_i "If page breaks and tweak dump is not asked, and the file
+<basename>-page-layout.ly exists, include it.")
    (if (not (ly:get-option 'dump-tweaks))
        (let ((tweak-filename (format #f "~a-page-layout.ly"
                                     (ly:parser-output-name parser))))
@@ -560,7 +556,7 @@ includePageLayoutFile =
 
 rightHandFinger =
 #(define-music-function (parser location finger) (number-or-string?)
-   "Define a StrokeFingerEvent"
+   (_i "Define a StrokeFingerEvent")
    
    (apply make-music
          (append
@@ -573,7 +569,7 @@ rightHandFinger =
 
 scoreTweak =
 #(define-music-function (parser location name) (string?)
-   "Include the score tweak, if exists."
+   (_i "Include the score tweak, if exists.")
    (if (and page-layout-parser (not (ly:get-option 'dump-tweaks)))
        (let ((tweak-music (ly:parser-lookup page-layout-parser
                                             (string->symbol name))))
@@ -587,11 +583,11 @@ transposedCueDuring =
   (parser location what dir pitch-note main-music)
   (string? ly:dir? ly:music? ly:music?)
 
-  "Insert notes from the part @var{what} into a voice called @code{cue},
+  (_i "Insert notes from the part @var{what} into a voice called @code{cue},
 using the transposition defined by @var{pitch-note}.  This happens
 simultaneously with @var{main-music}, which is usually a rest.  The
 argument @var{dir} determines whether the cue notes should be notated
-as a first or second voice."
+as a first or second voice.")
 
   (make-music 'QuoteMusic
              'element main-music
@@ -606,7 +602,7 @@ as a first or second voice."
 
 transposition =
 #(define-music-function (parser location pitch-note) (ly:music?)
-   "Set instrument transposition"
+   (_i "Set instrument transposition")
 
    (context-spec-music
     (make-property-set 'instrumentTransposition
@@ -616,8 +612,7 @@ transposition =
 tweak = #(define-music-function (parser location sym val arg)
           (symbol? scheme? ly:music?)
 
-          "Add @code{sym . val} to the @code{tweaks} property of @var{arg}."
-
+          (_i "Add @code{sym . val} to the @code{tweaks} property of @var{arg}.")
           
           (set!
            (ly:music-property arg 'tweaks)
@@ -628,7 +623,7 @@ tweak = #(define-music-function (parser location sym val arg)
 tag = #(define-music-function (parser location tag arg)
    (symbol? ly:music?)
 
-   "Add @var{tag} to the @code{tags} property of @var{arg}."
+   (_i "Add @var{tag} to the @code{tags} property of @var{arg}.")
 
    (set!
     (ly:music-property arg 'tags)
@@ -645,7 +640,7 @@ unfoldRepeats =
 
 withMusicProperty =
 #(define-music-function (parser location sym val music) (symbol? scheme? ly:music?)
-   "Set @var{sym} to @var{val} in @var{music}."
+   (_i "Set @var{sym} to @var{val} in @var{music}.")
 
    (set! (ly:music-property music sym) val)
    music)
index b0cb5d4305436e4a0c8c50cb46a43a6e1295ca42..1411b8c5f7d96375c8cd74f58888097b66874092 100644 (file)
@@ -20,30 +20,11 @@ $(outdir)/lilypond/index.html: $(outdir)/lilypond.nexi doc-po
 $(outdir)/lilypond.html: $(outdir)/lilypond.nexi
        -$(MAKEINFO) -I$(outdir) --output=$@ --css-include=$(top-src-dir)/Documentation/texinfo.css --html --no-split --no-headers $< 
 
-local-WWW: png-ln $(outdir)/lilypond.html $(outdir)/lilypond/index.html deep-ln lang-merge
+local-WWW: $(outdir)/lilypond.html $(outdir)/lilypond/index.html lang-merge
 
 lang-merge:
        $(foreach i, $(shell find $(outdir) -name '*.html' | xargs grep -L --label="" 'UNTRANSLATED NODE: IGNORE ME'), ln -f $(i) $(i:$(outdir)/%.html=$(depth)/Documentation/user/$(outdir)/%.$(ISOLANG).html) &&) true
 
-png-ln:
-       mkdir -p $(outdir)/lilypond
-       # makeinfo is broken, it MUST have PNGs in output dir
-       # symlinking PNGs...
-
-## cmd too long FIXME / JUNKME.
-## $(foreach i, $(shell find $(depth)/Documentation/user/$(outdir) -maxdepth 1 -name '*.png'), ln -sf ../$(i) $(i:$(depth)/Documentation/user/$(outdir)/%.png=$(outdir)/%.png) &&) true
-##     $(foreach i, $(shell find $(depth)/Documentation/user/$(outdir)/lilypond -name '*.png'), ln -sf ../../$(i) $(i:$(depth)/Documentation/user/$(outdir)/%.png=$(outdir)/%.png) &&) true
-
-# Links referred to by Documentation index
-# BROKEN: the following makes broken symlinks
-#LILYPOND_LINKS = Reference-Manual.html Tutorial.html Ly2dvi.html Midi2ly.html
-
-
-deep-ln:
-       mkdir -p $(outdir)/lilypond
-       cd $(outdir)/lilypond && $(foreach i, $(LILYPOND_LINKS),\
-                rm -f $(i) && ln -s lilypond.html $(i) &&) true
-
 local-WWW-clean: deep-WWW-clean
 
 deep-WWW-clean:
index 42c04b6e57f573047f922a53a634f5b50a12ce79..eaefaf786752821a525cdfa406a353cbac0e18c9 100644 (file)
   (let* ((completed (completize-formats formats))
         (base (string-regexp-substitute "\\.[a-z]+$" "" filename))
         (intermediate (remove (lambda (x) (member x formats)) completed)))
+    
     (for-each (lambda (f)
                ((eval (string->symbol (format "convert-to-~a" f))
                       module) paper-book filename)) completed)
index d63890af0aca443419ab691ce6cc9029997ac2d3..401017181cb39d460a5453caa72ae343cfb3788e 100644 (file)
@@ -5,6 +5,14 @@
 ;;;; (c) 1998--2006 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;;; Han-Wen Nienhuys <hanwen@xs4all.nl>
 
+;; Internationalisation: (_i "to be translated") gets an entry in the
+;; POT file (gettext ) must be invoked explicitely to do the actual
+;; "translation".
+;;(define-macro (_i x) x)
+;;(define-macro-public _i (x) x)
+;;(define-public-macro _i (x) x)
+;; Abbrv-PWR!
+(defmacro-public _i (x) x)
 
 (define (define-scheme-options)
   (for-each (lambda (x)
@@ -359,8 +367,7 @@ The syntax is the same as `define*-public'."
         (stats (gc-stats)))
 
     (list
-     (- (+ (tms:utime t)
-          (tms:stime t))
+     (- (tms:utime t)
        (ly:assoc-get 'gc-time-taken stats))
 
      ;; difficult to put memory amount stats into here.
index 89a974879e22128165354704774a373f07ef384a..6a8fcc1963eff910910707d0226c6addcd3dbb12 100644 (file)
@@ -1448,10 +1448,12 @@ def process_snippets (cmd, ly_snippets, texstr_snippets, png_snippets):
                             be_verbose=global_options.verbose, 
                             progress_p=1)
 
-    if global_options.format in (HTML, TEXINFO):
+    if global_options.format in (HTML, TEXINFO) and '--formats' not in cmd:
         cmd += ' --formats=png '
-    if global_options.format in (DOCBOOK):
+    elif global_options.format in (DOCBOOK) and '--formats' not in cmd:
         cmd += ' --formats=png,pdf '
+
+        
     # UGH
     # the --process=CMD switch is a bad idea
     # it is too generic for lilypond-book.