]> git.donarmstrong.com Git - lilypond.git/commitdiff
patch::: 1.3.151.jcn1
authorJan Nieuwenhuizen <janneke@gnu.org>
Fri, 27 Apr 2001 19:42:59 +0000 (21:42 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Fri, 27 Apr 2001 19:42:59 +0000 (21:42 +0200)
1.3.151.jcn1
============

* Fixed feta-braces: more symbols again, but all paper sizes use same
font.  Also fixed lookup.

* Maximum length for lyric-hyphen.

* Two forgotten note corrections to Standchen.

* Website compilation fix.

29 files changed:
CHANGES
Documentation/topdocs/INSTALL.texi
VERSION
lily/afm.cc
lily/font-metric.cc
lily/hyphen-spanner.cc
lily/include/afm.hh
lily/include/font-metric.hh
lily/include/tfm.hh
lily/system-start-delimiter.cc
lily/tfm.cc
mf/feta-beugel.mf
mf/feta-braces0.mf [new file with mode: 0644]
mf/feta-braces1.mf [new file with mode: 0644]
mf/feta-braces11.mf
mf/feta-braces13.mf
mf/feta-braces16.mf
mf/feta-braces2.mf [new file with mode: 0644]
mf/feta-braces20.mf
mf/feta-braces23.mf
mf/feta-braces26.mf
mf/feta-braces3.mf [new file with mode: 0644]
mutopia/F.Schubert/standchen.ly
mutopia/J.S.Bach/wtk1-fugue2.ly
scm/font.scm
scm/grob-description.scm
scm/grob-property-description.scm
scripts/ly2dvi.py
scripts/mup2ly.py

diff --git a/CHANGES b/CHANGES
index bc44eaf67414292efdd916a68e06d6724d1b486b..0a0786fd57d251a9817be5db8af4cd07d0b51260 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,15 @@
+1.3.151.jcn1
+============
+
+* Fixed feta-braces: more symbols again, but all paper sizes use same
+font.  Also fixed lookup.
+
+* Maximum length for lyric-hyphen.
+
+* Two forgotten note corrections to Standchen.
+
+* Website compilation fix.
+
 1.3.150.jcn3
 ============
 
index 9ef6f3c315448a9998c89df7e63bf69c282492e2..ae3deb325041baf2265491bdad73e7974d40f378 100644 (file)
@@ -347,6 +347,26 @@ apt-get as root:
        apt-get install lilypond1.3
 @end example
 
+
+Debian's tex installation is a bit short on memory, you may want to
+increase it like this:
+@example
+--- /etc/texmf/texmf.cnf.dpkg  Sun Jan 28 14:12:14 2001
++++ /etc/texmf/texmf.cnf       Fri Apr 27 11:09:35 2001
+@@ -384,8 +384,8 @@
+ main_memory.context = 1500000
+ main_memory.mpost = 1000000
+ main_memory = 263000 % words of inimemory available; also applies to inimf&mp
+-extra_mem_top = 0    % extra high memory for chars, tokens, etc.
+-extra_mem_bot = 0    % extra low memory for boxes, glue, breakpoints, etc.
++extra_mem_top = 100000    % extra high memory for chars, tokens, etc.
++extra_mem_bot = 100000    % extra low memory for boxes, glue, breakpoints, etc.
+ obj_tab_size.context = 256000
+
+@end example
+
 Alternatively, visit
 
 @itemize @bullet
diff --git a/VERSION b/VERSION
index 90d8cc214b494d19da82d57d8407381e23e886b5..b8f0c8a93524e9e1e8e6d2c8cc786e91ea18aba1 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=3
 PATCH_LEVEL=151
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=jcn1
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
index aa569951eaa63d986d837e8cd18a766d8ba70e56..453dcbf057fb62d14a7c3a32b1b1606f04274492 100644 (file)
@@ -73,6 +73,11 @@ Adobe_font_metric::find_char_metric (String nm, bool warn) const
     return font_inf_->cmi + (*ai).second;
 }
 
+int
+Adobe_font_metric::count () const
+{
+  return ascii_to_metric_idx_.size ();
+}
 
 Box
 Adobe_font_metric::get_char (int code) const
index b421075119a2b9fcd61e7a33e999f49aa4d23999..930d5f3b2ce3795a574e3b967d7b650409659c10 100644 (file)
@@ -90,6 +90,11 @@ Font_metric::Font_metric (Font_metric const &s)
 {
 }
 
+int
+Font_metric::count () const
+{
+  return 0;
+}
 
 Box 
 Font_metric::get_char (int)const
index cd676ff44a40bc0faeadcd5fa05198852b87525f..1a35efaaed73a4fd3be307bf0458e754657f40eb 100644 (file)
@@ -48,7 +48,10 @@ Hyphen_spanner::brew_molecule (SCM smob)
   Real lt = sp->paper_l ()->get_var ("stafflinethickness");
   Real th = gh_scm2double (sp->get_grob_property ("thickness")) * lt ;
   Real h = gh_scm2double (sp->get_grob_property ("height"));
+
+  // interval?
   Real l = gh_scm2double (sp->get_grob_property ("minimum-length"));  
+  Real x = gh_scm2double (sp->get_grob_property ("maximum-length"));
   // The hyphen can exist in the word space of the left lyric ...
   SCM space =  sp->get_bound (LEFT)->get_grob_property ("word-space");
   if (gh_number_p (space))
@@ -56,10 +59,16 @@ Hyphen_spanner::brew_molecule (SCM smob)
       bounds[LEFT] -=  gh_scm2double (space);
     }
   Real w  = bounds.length ();
+
+  
   /* for length, use a geometric mean of the available space and some minimum
-  */
+   */
   if (l < w)
-    l = sqrt (l*w);
+    {
+      l = sqrt (l*w);
+      if (l > x)
+       l = x;
+    }
   else
     {
       /* OK, we have a problem. Usually this means that we're on the
index b62d34fa54143efe10a5168b3736fff380b5f714..2f8b07ae0212e82876af8f87830af28d4166712a 100644 (file)
@@ -22,6 +22,7 @@ struct Adobe_font_metric : Font_metric
 {
   AFM_Font_info * font_inf_;
 
+  virtual int count () const;
   virtual Box get_char (int) const;
   AFM_CharMetricInfo const *find_char_metric (String name, bool warn=true) const;
   AFM_CharMetricInfo const *find_ascii_metric (int, bool warn=true) const;  
index 0bea74247ef4e161d8895a29e9edcaa939251099..87137221c3cf547a4f1592b124ac4d29806924ef 100644 (file)
@@ -21,6 +21,8 @@ struct Font_metric
 public:
   SCM description_;
   String path_;
+  
+  virtual int count () const;
   virtual Box get_char (int ascii) const;
   virtual Box text_dimension (String)  const;
   virtual Molecule find_by_name (String) const;
index 93deefc1066264f95cfee4073125da356bc21139..8eb633a9e57df24d6e36476a3dfd099fdf504e00 100644 (file)
@@ -150,7 +150,8 @@ class Tex_font_metric : public Font_metric
 public:
   static  SCM make_tfm (String filename);
 
-  Box get_char (int) const;
+  virtual int count () const;
+  virtual Box get_char (int) const;
   Tex_font_char_metric const *find_ascii (int ascii, bool warn=true) const;
 
   String str () const;
index 72a444a5329b11940773ccb3d228288494cc1750..22b993ba3122e8607e820a1cf6b2765f28f718b4 100644 (file)
@@ -138,25 +138,17 @@ System_start_delimiter::brew_molecule (SCM smob)
 }
 
 Molecule
-System_start_delimiter::staff_brace (Grob*me,Real y)  
+System_start_delimiter::staff_brace (Grob*me, Real y)
 {
-
-  /*
-    FIXME:
-    * should look at afm/tfm file for dimensions.
-     (This breaks ascii-art output: it hasn't got 255 symbols)
-    
-    * more glyphs (or maybe just better sized (fixed # of staff-spaces)),
-      the size mismatches with the staffs are very ugly
-         
-   */
-
-  // ugrhn
-  int lo = 0;
-  int hi = 255;
-  
   Font_metric *fm = Font_interface::get_default_font (me);
   Box b;
+  int lo = 0;
+  int hi = 255; //arg, urg == 0: fm->count () >? 2;
+
+  int big = 1;
+  SCM bigger = gh_list (me->mutable_property_alist_,
+                       me->immutable_property_alist_,
+                       SCM_UNDEFINED);
 
   /* do a binary search for each Y, not very efficient, but passable?  */
   do
@@ -165,9 +157,35 @@ System_start_delimiter::staff_brace (Grob*me,Real y)
 
     b = fm->get_char (cmp);
     if (b[Y_AXIS].empty_b () || b[Y_AXIS].length () > y)
-      hi = cmp;
+      {
+         hi = cmp;
+      }
     else
-      lo = cmp;
+      {
+       /*
+         ugh: 7
+         We have four fonts: feta-braces0-3.mf
+         
+         In the style-sheet, all paper relative sizes need to start
+         looking at the feta-braces0 font.
+
+         The smallest paper size, feta11 or -3, has to make 5 steps
+         to get to feta26 or +2.  Only after that, from +3 to +5 are
+         the real bigger sizes, so worst case we need 8 steps to get
+         to the font we need. */
+       if (big < 8)
+         {
+           bigger = gh_cons (gh_cons (ly_symbol2scm ("font-relative-size"),
+                                      gh_int2scm (big++)),
+                             bigger);
+           me->set_grob_property ("font", bigger);
+           fm = Font_interface::get_default_font (me); 
+           lo = 0;
+           hi = 255; //fm->count () >? 2;
+         }
+       else
+         lo = cmp;
+      }
     }
   while (hi - lo > 1);
 
index 3bf4f9463247c6e710c83ed28e527d6debd9cfd2..0a3e7362b5dc9d52ac7655c6c928cef79b17de5b 100644 (file)
@@ -79,6 +79,12 @@ Tex_font_metric::find_ascii (int ascii, bool warn) const
   return &dummy_static_char_metric;  
 }
 
+int
+Tex_font_metric::count () const
+{
+  return ascii_to_metric_idx_.size ();
+}
+
 Box
 Tex_font_metric::get_char (int a) const
 {
index db3c642752f366d7be326a52f61b607f9c6bd231..ca510cebb3904ce6543e5e589fd6007028686653 100644 (file)
@@ -16,7 +16,7 @@ def draw_brace( expr height_sharp, width_sharp) =
          
        define_pixels (height, width);
        thin = 2 stafflinethickness;
-       thick = .5 staff_space;
+       thick = .5 width;
        
        z2 = .5 [z1, z3];
        y3 = y1 + height/2;
@@ -39,9 +39,10 @@ def draw_brace( expr height_sharp, width_sharp) =
 endchar;
 enddef;
 
-
-for x :=  1 step 1 until 160:
-       % note: define_pixels (x) multiplies x by hppp,
-       %       we must never get bigger than infinity
-       draw_brace (min (x * pt#, infinity/hppp - 1), staff_space#);
+for i := font_count * 256 step 1 until (font_count + 1) * 256 - 1:
+  % note: define_pixels (x) multiplies x by hppp,
+  %       we must never get bigger than infinity
+  y := min ((i + 1) * 0.25pt#, infinity/hppp - 1);
+  x := y / 12;
+  draw_brace (y, x);
 endfor
diff --git a/mf/feta-braces0.mf b/mf/feta-braces0.mf
new file mode 100644 (file)
index 0000000..6afda40
--- /dev/null
@@ -0,0 +1,17 @@
+% 
+% feta-braces0.mf --  256 smallest braces
+% 
+% source file of the Feta (Font-En-Tja) music font
+% 
+% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% 
+
+font_identifier:="feta-braces0";
+font_size 16;
+mode_setup;
+
+staffsize#:=16pt#;
+font_count := 0;
+input feta-beugel;
+end.
+
diff --git a/mf/feta-braces1.mf b/mf/feta-braces1.mf
new file mode 100644 (file)
index 0000000..eb535f0
--- /dev/null
@@ -0,0 +1,17 @@
+% 
+% feta-braces1.mf --  next 256 braces
+% 
+% source file of the Feta (Font-En-Tja) music font
+% 
+% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% 
+
+font_identifier:="feta-braces1";
+font_size 16;
+mode_setup;
+
+staffsize#:=16pt#;
+font_count := 1;
+input feta-beugel;
+end.
+
index fd8453098f24c8a375e5ba44fabe412a9e443473..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,17 +0,0 @@
-
-% 
-% feta-braces11.mf --  implement 
-% 
-% source file of the Feta (Font-En-Tja) music font
-% 
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-% 
-
-font_identifier:="feta-braces11";
-font_size 11;
-mode_setup;
-
-staffsize#:=11pt#;
-input feta-beugel;
-end.
-
index 92b47b816693ae6c5cf8c46bc869b5f6e071205e..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,17 +0,0 @@
-
-% 
-% feta-braces13.mf --  implement 
-% 
-% source file of the Feta (Font-En-Tja) music font
-% 
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-% 
-
-font_identifier:="feta-braces13";
-font_size 13;
-mode_setup;
-
-staffsize#:=13pt#;
-input feta-beugel;
-end.
-
index d11edfc9c6d7a4e5e63f365c824d4ce88ffdb5f1..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,17 +0,0 @@
-
-% 
-% feta-braces16.mf --  implement 
-% 
-% source file of the Feta (Font-En-Tja) music font
-% 
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-% 
-
-font_identifier:="feta-braces16";
-font_size 16;
-mode_setup;
-
-staffsize#:=16pt#;
-input feta-beugel;
-end.
-
diff --git a/mf/feta-braces2.mf b/mf/feta-braces2.mf
new file mode 100644 (file)
index 0000000..3eb180c
--- /dev/null
@@ -0,0 +1,17 @@
+% 
+% feta-braces2.mf --  next 256 braces
+% 
+% source file of the Feta (Font-En-Tja) music font
+% 
+% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% 
+
+font_identifier:="feta-braces2";
+font_size 16;
+mode_setup;
+
+staffsize#:=16pt#;
+font_count := 2;
+input feta-beugel;
+end.
+
index 9dde058f035f4cd87ddb6ebd3732952d3b36d480..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,15 +0,0 @@
-% 
-% feta-braces20.mf --  implement 
-% 
-% source file of the Feta (Font-En-Tja) music font
-% 
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-% 
-
-font_identifier:="feta-braces20";
-font_size 20;
-mode_setup;
-
-staffsize#:=20pt#;
-input feta-beugel;
-end.
index 99d2d46f876eb451711a7fba2cc01f2fbdb100fd..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,17 +0,0 @@
-
-% 
-% feta-braces23.mf --  implement 
-% 
-% source file of the Feta (Font-En-Tja) music font
-% 
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-% 
-
-font_identifier:="feta-braces23";
-font_size 22.5;  %% feta23 = 22.5pt  ...
-mode_setup;
-
-staffsize#:=22.5pt#;
-input feta-beugel;
-end.
-
index c2c0e6850bc6fcb3f776205a4099a23fd843a6a8..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 (file)
@@ -1,17 +0,0 @@
-
-% 
-% feta-braces26.mf --  implement 
-% 
-% source file of the Feta (Font-En-Tja) music font
-% 
-% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
-% 
-
-font_identifier:="feta-braces26";
-font_size 26;
-mode_setup;
-
-staffsize#:=26pt#;
-input feta-beugel;
-end.
-
diff --git a/mf/feta-braces3.mf b/mf/feta-braces3.mf
new file mode 100644 (file)
index 0000000..847ac44
--- /dev/null
@@ -0,0 +1,17 @@
+% 
+% feta-braces3.mf --  next 256 braces
+% 
+% source file of the Feta (Font-En-Tja) music font
+% 
+% (c) 1997--2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+% 
+
+font_identifier:="feta-braces3";
+font_size 16;
+mode_setup;
+
+staffsize#:=16pt#;
+font_count := 3;
+input feta-beugel;
+end.
+
index 54a19767ca832ccac9dfa0808e5f6c11546296e0..d7e3e0428cff0bfafbc33f3adbc2763a8b5f52bd 100644 (file)
@@ -30,7 +30,7 @@ instrument = "Piano"
   copyright = "Public Domain"
   maintainer = "Jan Nieuwenhuizen"
   maintainerEmail = "janneke@gnu.org"
-  lastupdated =         "2001/Apr/26"
+  lastupdated =         "2001/Apr/27"
   mutopiapublicdomain = "\\parbox{\\hsize}{\\thefooter\\quad\\small
     \\\\This music is part of the Mutopia project,
     \\texttt{http://www.mutopiaproject.org/}\\\\It has been typeset
@@ -38,7 +38,7 @@ instrument = "Piano"
     ".\\\\Unrestricted modification and redistribution is permitted
     and encouraged---copy this music and share it.}"
  tagline = \mutopiapublicdomain
- footer = "Mutopia-2001/04/26-xx"
+ footer = "Mutopia-2001/04/27-xx"
 } 
 
 \version "1.3.146"
@@ -159,7 +159,7 @@ trebleVerseOne =  \notes\relative c{
        <c2. es> |
        r8 <g, c> <c es> <g c> <c es> <g c> |
        r8 <f c'> <c' d> <f, c'> <c' d> <f, c'> |
-       r8 <f as bes> <as bes d> <f g bes> <as bes d> <f as bes> |
+       r8 <f as bes> <as bes d> <f as bes> <as bes d> <f as bes> |
        % manual beam override bug
        % r8 < [ es g bes> <g bes es> <es g bes> <g bes es ] > 
        r8 < { [ es g es g ] } { g bes g bes } { bes es bes es } >
@@ -363,6 +363,7 @@ global =  \notes{
 allLyrics = \lyrics {
        % maybe should be bigger by default, in grob-description.scm ?
        \property Lyrics . LyricText \override #'font-relative-size = #1
+       \property Lyrics . LyricHyphen \override #'maximum-length = #1.5
        \lyricVerseOne
        \lyricVerseTwo
        \lyricThrough
index bc8a767dbd8172e29347bcea49e764c7a9260b05..80e6941046159ef5daf8b0e53f8b01f42e9c8f8c 100644 (file)
   mutopiaopus = "BWV847"
   style = "baroque"
   copyright = "Public Domain"
-  tagline =    "\\\\This music is part of the Mutopia project, http://sca.uwaterloo.ca/Mutopia/\\\\It has been typeset and placed in the public domain by Han-Wen Nienhuys.\\\\Unrestricted modification and redistribution is permitted and encouraged - copy this music and share it!"
   maintainer = "hanwen@cs.uu.nl"
+  mutopiapublicdomain = "\\parbox{\\hsize}{\\thefooter\\quad\\small
+    \\\\This music is part of the Mutopia project,
+    \\texttt{http://www.mutopiaproject.org/}\\\\It has been typeset
+    and placed in the public domain by " + \maintainer +
+    ".\\\\Unrestricted modification and redistribution is permitted
+    and encouraged---copy this music and share it.}"
+  tagline = \mutopiapublicdomain
   lastupdated = "2000/Feb/14"
 }
 
@@ -170,6 +176,7 @@ bassdux =  \context Voice=three \notes \relative c' {
 \score {
  
     \notes \context PianoStaff < 
+        \property Score.TimeSignature \override #'style = #'C
        \context Staff = treble <
            \key c \minor
 %      \key es \major
@@ -185,11 +192,6 @@ bassdux =  \context Voice=three \notes \relative c' {
 
     \paper {
         linewidth = 18.0 \cm
-       \translator{ \OrchestralScoreContext
-        timeSignatureStyle \override #'style = #"C"
-
-       }
-       
     }
     \header{
        opus = "BWV 847"
index 084a5039bf7a0ef1cbe05fd93d1d2a62565462fe..e6c46e7ba1d2db7d761b6d212de8e8ba3c7514c8 100644 (file)
     ((-2 medium caps roman cmcsc 7) . "cmcsc7")
     ((-3 medium caps roman cmcsc 7) . "cmcsc7")
 
-    
-    ;; should use the same brace font every where and fix C++ code.
-    ((2 * * braces feta-braces 26) . "feta-braces26")
-    ((1 * * braces feta-braces 23) . "feta-braces23")
-    ((0 * * braces feta-braces 20) . "feta-braces20")
-    ((-1 * * braces feta-braces 16) . "feta-braces16")
-    ((-2 * * braces feta-braces 13) . "feta-braces13")
-    ((-3 * * braces feta-braces 11) . "feta-braces11")
+    ;; smallest needs 8 steps: -3 to +5, so
+    ;; biggest also needs 8 available steps: +2 to + 10
+    ((10 * * braces feta-braces 3) . "feta-braces3")
+    ((9 * * braces feta-braces 3) . "feta-braces3")
+    ((8 * * braces feta-braces 3) . "feta-braces3")
+    ((7 * * braces feta-braces 3) . "feta-braces3")
+    ((6 * * braces feta-braces 3) . "feta-braces3")
+    ((5 * * braces feta-braces 3) . "feta-braces3")
+    ((4 * * braces feta-braces 2) . "feta-braces2")
+    ((3 * * braces feta-braces 1) . "feta-braces1")
+    ((2 * * braces feta-braces 0) . "feta-braces0")
+    ((1 * * braces feta-braces 0) . "feta-braces0")
+    ((0 * * braces feta-braces 0) . "feta-braces0")
+    ((-1 * * braces feta-braces 0) . "feta-braces0")
+    ((-2 * * braces feta-braces 0) . "feta-braces0")
+    ((-3 * * braces feta-braces 0) . "feta-braces0")
 
     ((3 * * dynamic feta-din 19) . "feta-din19")
     ((2 * * dynamic feta-din 19) . "feta-din19")
index 90bbb79a0b62fe5c3d18a32f09d5b3c13ad2d4b4..fd4a146c8e772e375868c69981cbb47af2aaf0d9 100644 (file)
                (thickness . 1.0)
                (height . 0.4)
                (minimum-length .  0.5) 
+               (maximum-length .  100)
                (molecule-callback . ,Hyphen_spanner::brew_molecule)
                (Y-extent-callback . ,Grob::point_dimension_callback)
                (meta . ,(grob-description "LyricHyphen" lyric-hyphen-interface ))
index 8f22abd64961f9d63f2c076febd0b48ce5fa648b..ef4cec6bebb0481e33752813afa373bf28a357c7 100644 (file)
@@ -203,6 +203,7 @@ For barline, space after a thick line.")
 (grob-property-description 'lookup symbol? "lookup method: 'value for plain text, 'name for character-name.")
 (grob-property-description 'magnify number? "the magnification factor.  FIXME: doesn't work for feta fonts.")
 (grob-property-description 'maximum-duration-for-spacing moment? "space as if a duration of this type is available in this measure.")
+(grob-property-description 'maximum-length number? "don't make Grob longer than this")
 (grob-property-description 'maximum-rest-count integer? "kill off rests so we don't more than this number left.")
 (grob-property-description 'merge-differently-dotted boolean? " Merge noteheads in collisions, even if they have a different number of dots. This normal notation for some types of polyphonic music. The value of this setting is used by @ref{note-collision-interface} .")
 (grob-property-description 'minimum-distance number? "minimum distance between notes and rests.")
index 3a4eb4175d58383803ff87835bb37b477e449b3e..457a00f37aa4bd982810d9cd39c6e8c81d5ee47b 100644 (file)
@@ -544,8 +544,9 @@ lily output file in TFILES after that, and return the Latex file constructed.  '
 %% to get the last mutopia tagline right (ie: no footer on last page)
 %% Please check that mutopia footers and endfooter are OK before changing
 %% this again. -- jcn
+% the \mbox{} helps latex if people do stupid things in tagline
 \makeatletter
-\renewcommand{\@oddfoot}{\parbox{\textwidth}{\makelilypondtagline}}%
+\renewcommand{\@oddfoot}{\parbox{\textwidth}{\mbox{}\makelilypondtagline}}%
 \makeatother
 '''
        s = s + '\\end{document}'
index 0bb9cbf01b8f55073015ffb8876de4f92dea9334..c48765b320e06037c7e9aeb27c8ec90ed482a3fe 100644 (file)
@@ -1184,17 +1184,21 @@ for opt in options:
 # sys.stdout.flush ()
 
 # handy emacs testing
-if not files:
-       files = ['template.mup']
+if not files:
+#      files = ['template.mup']
 
+if not files:
+       files = ['-']
+       
 for f in files:
-       if f == '-':
-               f = ''
 
-       if f and not os.path.isfile (f):
+       if f == '-':
+               h = sys.stdin
+       elif f and not os.path.isfile (f):
                f = strip_extension (f, '.mup') + '.mup'
+               h = open (f)
        progress ( _("Processing %s..." % f))
-       raw_lines = open (f).readlines ()
+       raw_lines = h.readlines ()
        p = Pre_processor (raw_lines)
        if only_pre_process_p:
                if not output:
@@ -1205,7 +1209,13 @@ for f in files:
                        output = os.path.basename (re.sub ('(?i).mup$', '.ly', f))
                if output == f:
                        output = os.path.basename (f + '.ly')
-               
+                       
+       if f == '-':
+               output = '-'
+               out_h = sys.stdout
+       else:
+               out_h = open (output, 'w')
+
        progress (_ ("Writing %s...") % output)
 
        tag = '%% Lily was here -- automatically converted by %s from %s' % ( program_name, f)
@@ -1215,9 +1225,8 @@ for f in files:
        else:
                ly = tag + '\n\n' + e.dump ()
 
-       o = open (output, 'w')
-       o.write (ly)
-       o.close ()
+       out_h.write (ly)
+       out_h.close ()
        if debug_p:
                print (ly)