Hi,

I changed Lilyponds interpretation of timeSignatureStyle to something more
like the actual meaning of the word style. Permitted values are C,
old, 1 or the full name of the symbol, see input/test/time.fly.

I also made some more changes to feta-timesig.mf, adding space to the
left and right of the symbols and correcting a couple of bugs. 

I added a few lines to the reference manual but none to the tutorial
since I cannot build it, the make session ends with:
-----------
make[1]: Leaving directory `/home/matsb/musik/lilypond-1.0.12'
lilypond-1.0.12.mb1.tar.gz
+ rm /home/matsb/musik/lilypond/../test/lilypond-1.0.11.mb2.tar.gz
Traceback (innermost last):
  File "/home/matsb/musik/lilypond/stepmake/bin/release.py", line 63,
in ?
    os.system(sys.executable + ' ' + package.topdir +
'/stepmake/bin/package-dif
f.py --package=' + topdir)
AttributeError: executable
-------

I also get a lot of 'troff: fatal error: can't find macro file gs'
when I make Lilypond.

By the way, which make command should you give at the top-level
directory to build the manuals? The only way I know of at the
moment is to cd to Documentation/tex/ and do 'make dvi'.


      /Mats

----------------------
Generated by (address unknown) using package-diff 0.62,
>From = lilypond-1.0.12, To = lilypond-1.0.12.mb1

usage 

    cd lilypond-source-dir; patch -E -p1 < lilypond-1.0.12.mb1.diff

Patches do not contain automatically generated files 
or (urg) empty directories, 
i.e., you should rerun autoconf, configure 
and possibly make outdirs.

--state
1.0.12
1.0.12.mb1
++state
diff -urN ../lilypond-1.0.12/Documentation/tex/refman.yo ./Documentation/tex/refman.yo
--- ../lilypond-1.0.12/Documentation/tex/refman.yo      Tue Sep 29 17:14:56 1998
+++ ./Documentation/tex/refman.yo       Sat Oct  3 21:31:41 1998
@@ -1070,12 +1070,27 @@
    keyword.
 
    dit(code(nolines)) If set to 1, then the staff has only one line instead
- of the usual five lines.
+   of the usual five lines.
     
    dit(code(barAlways)) If set to 1 a bar line is drawn after each note.
 
    dit(code(defaultBarType)) Sets the default  type of bar  line.  See
    code(\bar) keyword.   
+
+   dit(code(timeSignatureStyle)) Changes the default two-digit layout
+   for time signatures. The following values are recognized:
+   description(
+      dit(code(C)): 4/4 and 2/2 are typeset as C and struck C,
+      respectively. All other time signatures are written with two digits.
+      dit(code(old)): 2/2, 3/2, 3/4, 4/4, 6/4 and 9/4 are typeset with
+      old-style mensuration marks. All other time signatures are 
+      written with two digits.
+      dit(code(1)): All time signatures are typeset with a single
+      digit, e.g. 3/2 is written as 3.
+      dit(code(C2/2,C4/4, old2/2, old3/2, old3/4, old4/4, old6/4 or
+      old9/4)): Tells Lilypond to use a specific symbol as time
+      signature.
+   )
 
    dit(code(keyoctaviation)) If set to 1, then keys are the same in all
    octaves.  If set to 0 then the key signature for different octaves
diff -urN ../lilypond-1.0.12/NEWS ./NEWS
--- ../lilypond-1.0.12/NEWS     Wed Sep 30 12:04:38 1998
+++ ./NEWS      Sat Oct  3 21:36:32 1998
@@ -1,3 +1,15 @@
+pl 12.mb1
+       - bf: feta-timesig.mf Added horizontal space, minor corrections.
+       - Changed meaning of Staff.timeSignatureStyle:
+               C       Use C and stroked C for 4/4,2/2
+               old     Use old style mensuration marks
+               1       Use single number
+               Cn/m    Set symbol explicitly, n/m=2/2 or 4/4   
+               oldn/m  Set symbol explicitly, n/m=2/2,3/2,3/4,4/4,6/4 or 9/4.
+         All other time signatures are typeset with the default two-digit
+         layout.
+               
+
 pl 11.uu2
        - added Transposed_music for mixing transposition and relative 
 
diff -urN ../lilypond-1.0.12/VERSION ./VERSION
--- ../lilypond-1.0.12/VERSION  Wed Sep 30 13:00:35 1998
+++ ./VERSION   Sat Oct  3 21:36:50 1998
@@ -2,7 +2,7 @@
 MAJOR_VERSION=1
 MINOR_VERSION=0
 PATCH_LEVEL=12
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=mb1
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
diff -urN ../lilypond-1.0.12/init/property.ly ./init/property.ly
--- ../lilypond-1.0.12/init/property.ly Tue Sep 15 19:22:43 1998
+++ ./init/property.ly  Sat Oct  3 21:34:22 1998
@@ -48,6 +48,14 @@
 keyoctaviation 0       Key signature only for specified octave \specialkey
 keyoctaviation 1       Key signature for all octaves   \normalkey
 
+timeSignatureStyle     C       Use C and stroked C for 4/4,2/2
+timeSignatureStyle     old     Use old style mensuration marks
+timeSignatureStyle     1       Use single number
+timeSignatureStyle     ""      Use normal two-digit time signature
+timeSignatureStyle     Cn/m    Set symbol explicitly, n/m=2/2 or 4/4   
+timeSignatureStyle     oldn/m  Set symbol explicitly,
+                               n/m=2/2,3/2,3/4,4/4,6/4 or 9/4.
+
 
 [Staff?]
 instrument             ascii   midi instrument table lookup
diff -urN ../lilypond-1.0.12/input/test/time.fly ./input/test/time.fly
--- ../lilypond-1.0.12/input/test/time.fly      Wed Sep 30 12:47:09 1998
+++ ./input/test/time.fly       Sat Oct  3 20:54:22 1998
@@ -1,23 +1,111 @@
-
-
 \property Staff.timeSignatureStyle = "C"
-\time 12/8;
-
-[c8 c c][c8 c c][c8 c c][c8 c c]
-
+\time 1/1;
+c''1^"timeSignatureStyle = \"C\"" |
 \time 2/2;
-\property Staff.timeSignatureStyle = "old3_2"
-c2 c2
-
+c1 |
+\time 3/4;
+c2. |
+\time 4/4;
+c1 |
+\time 5/4;
+c2. c2 |
+\time 6/4;
+c1. |
+\time 3/2;
+c1. |
+\time 7/4;
+c1 c2. |
+\time 8/4;
+c\breve |
+\time 9/4;
+c2. c2. c2. |
+\break
+\property Staff.timeSignatureStyle = "old"
+\time 1/1;
+c1^"timeSignatureStyle = \"old\"" |
 \time 2/2;
-\property Staff.timeSignatureStyle = "oldC"
-c2 c2
-
+c1 |
+\time 3/4;
+c2. |
+\time 4/4;
+c1 |
+\time 5/4;
+c2. c2 |
+\time 6/4;
+c1. |
+\time 3/2;
+c1. |
+\time 7/4;
+c1 c2. |
+\time 8/4;
+c\breve |
+\time 9/4;
+c2. c2. c2. |
+\break
+\property Staff.timeSignatureStyle = ""
+\time 1/1;
+c1^"timeSignatureStyle = \"\"" |
 \time 2/2;
-\property Staff.timeSignatureStyle = "old6_4"
-c2 c2
-
+c1 |
+\time 3/4;
+c2. |
+\time 4/4;
+c1 |
+\time 5/4;
+c2. c2 |
+\time 6/4;
+c1. |
+\time 3/2;
+c1. |
+\time 7/4;
+c1 c2. |
+\time 8/4;
+c\breve |
+\time 9/4;
+c2. c2. c2. |
+\break
+\property Staff.timeSignatureStyle = "1"
+\time 1/1;
+c1^"timeSignatureStyle = \"1\"" |
 \time 2/2;
-\property Staff.timeSignatureStyle = "old9_4"
-c2 c2
+c1 |
+\time 3/4;
+c2. |
+\time 4/4;
+c1 |
+\time 5/4;
+c2. c2 |
+\time 6/4;
+c1. |
+\time 3/2;
+c1. |
+\time 7/4;
+c1 c2. |
+\time 8/4;
+c\breve |
+\time 9/4;
+c2. c2. c2. |
+\break
+\property Staff.timeSignatureStyle = "old9/4"
+\property Staff.textalignment = \center
+\time 1/1;
+c1^"old9/4" |
+\property Staff.timeSignatureStyle = "old6/4"
+\time 2/2;
+c1^"old6/4" |
+\property Staff.timeSignatureStyle = "old3/2"
+\time 3/4;
+c2.^"old3/2" |
+\property Staff.timeSignatureStyle = "old4/4"
+\time 4/4;
+c1^"old4/4" |
+\property Staff.timeSignatureStyle = "old2/2"
+\time 5/4;
+c2.^"old2/2" c2 |
+\property Staff.timeSignatureStyle = "C4/4"
+\time 6/4;
+c1.^"C4/4" |
+\property Staff.timeSignatureStyle = "C2/2"
+\time 3/2;
+c1.^"C2/2" |
 
diff -urN ../lilypond-1.0.12/lily/VERSION ./lily/VERSION
--- ../lilypond-1.0.12/lily/VERSION     Wed Sep 30 13:01:01 1998
+++ ./lily/VERSION      Sat Oct  3 21:37:37 1998
@@ -2,7 +2,7 @@
 MAJOR_VERSION=1
 MINOR_VERSION=0
 PATCH_LEVEL=12
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=mb1
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
diff -urN ../lilypond-1.0.12/lily/afm.cc ./lily/afm.cc
--- ../lilypond-1.0.12/lily/afm.cc      Tue Sep 15 19:22:42 1998
+++ ./lily/afm.cc       Fri Oct  2 22:16:11 1998
@@ -105,13 +105,13 @@
   UGH. should have hashtable.
  */
 Adobe_font_char_metric
-Adobe_font_metric::find_char (String nm) const
+Adobe_font_metric::find_char (String nm, bool warn) const
 {
   for (int i=0; i < char_metrics_.size (); i++)
     if (char_metrics_[i].N_ == nm)
       return char_metrics_[i];
-
-  warning (_f ("can't find character called `%s'", nm.ch_C()));
+  if (warn)
+    warning (_f ("can't find character called `%s'", nm.ch_C()));
 
  Adobe_font_char_metric a;
  return a;
diff -urN ../lilypond-1.0.12/lily/atom.cc ./lily/atom.cc
--- ../lilypond-1.0.12/lily/atom.cc     Tue Sep 15 19:22:42 1998
+++ ./lily/atom.cc      Fri Oct  2 22:22:27 1998
@@ -107,3 +107,9 @@
   off_ += o;
   check_infinity_b ();
 }
+
+bool
+Atom::empty() const
+{
+  return (dim_.y().length() == 0);
+}
diff -urN ../lilypond-1.0.12/lily/include/afm.hh ./lily/include/afm.hh
--- ../lilypond-1.0.12/lily/include/afm.hh      Tue Sep 15 19:22:42 1998
+++ ./lily/include/afm.hh       Fri Oct  2 22:16:01 1998
@@ -43,7 +43,7 @@
   String EncodingScheme_;
   Array<Adobe_font_char_metric> char_metrics_;
 
-  Adobe_font_char_metric find_char (String name) const;
+  Adobe_font_char_metric find_char (String name, bool warn=true) const;
   String str () const;
   Adobe_font_metric ();
 };
diff -urN ../lilypond-1.0.12/lily/include/atom.hh ./lily/include/atom.hh
--- ../lilypond-1.0.12/lily/include/atom.hh     Tue Sep 15 19:22:42 1998
+++ ./lily/include/atom.hh      Fri Oct  2 22:13:27 1998
@@ -32,5 +32,6 @@
   Box extent() const;
   void print() const;
   bool check_infinity_b () const;
+  bool empty() const;
 };
 #endif
diff -urN ../lilypond-1.0.12/lily/include/lookup.hh ./lily/include/lookup.hh
--- ../lilypond-1.0.12/lily/include/lookup.hh   Mon Sep 28 16:40:53 1998
+++ ./lily/include/lookup.hh    Fri Oct  2 23:52:27 1998
@@ -32,7 +32,7 @@
   
   void add (String, Symtable*);
   void print() const;
-  Atom afm_find (String) const; 
+  Atom afm_find (String,bool warn=true) const; 
 
   Atom fill (Box b) const;
   Atom beam (Real,Real, Real) const;
@@ -41,7 +41,7 @@
   Atom vbrace (Real &dy) const;
   Atom vbracket (Real &dy) const;
   Atom time_signature (Array<Scalar>) const;
-  Atom special_time_signature (String) const;
+  Atom special_time_signature (String,Array<Scalar>) const;
   Atom stem (Real y1_pos, Real y2_pos) const;
   Atom rule_symbol (Real height, Real width) const;
   Atom accidental (int) const;
diff -urN ../lilypond-1.0.12/lily/lookup.cc ./lily/lookup.cc
--- ../lilypond-1.0.12/lily/lookup.cc   Mon Sep 28 16:53:53 1998
+++ ./lily/lookup.cc    Sat Oct  3 00:13:04 1998
@@ -45,7 +45,7 @@
 }
 
 Atom
-Lookup::afm_find (String s) const
+Lookup::afm_find (String s, bool warn) const
 {
   if (!afm_p_)
     {
@@ -54,9 +54,11 @@
       *mlog << "]" << flush ;
       DOUT << this->afm_p_->str ();
     }
-  Adobe_font_char_metric m = afm_p_->find_char (s);
+  Adobe_font_char_metric m = afm_p_->find_char (s,warn);
 
   Atom a;
+  if (m.width()==0)
+    return a;
   a.tex_ = String_convert::form_str ("\\char%d", m.code ());
   a.dim_ = m.B_;
   a.dim_[X_AXIS] *= 1 / 1000.0;
@@ -295,10 +297,18 @@
 
 
 Atom
-Lookup::special_time_signature (String s) const
+Lookup::special_time_signature (String s, Array<Scalar> arr) const
 {
-  Atom a (afm_find ("timesig-"+ s));
-  return a;
+  String symbolname="timesig-"+s+"%/%";
+  Atom a (afm_find (substitute_args(symbolname,arr),false));
+  if (!a.empty()) 
+    return a;
+  // Try if the full name was given
+  a=afm_find ("timesig-"+s,false);
+  if (!a.empty()) 
+    return a;
+  // Resort to default layout with numbers
+  return time_signature(arr);
 }
 
 
diff -urN ../lilypond-1.0.12/lily/time-signature.cc ./lily/time-signature.cc
--- ../lilypond-1.0.12/lily/time-signature.cc   Mon Sep 28 16:43:01 1998
+++ ./lily/time-signature.cc    Sat Oct  3 00:03:49 1998
@@ -24,7 +24,16 @@
   Atom s;
   if (time_sig_type_str_.length_i ())
     {
-      s = lookup_l ()-> special_time_signature (time_sig_type_str_);
+      if (time_sig_type_str_[0]=='1')
+       {
+         Array<Scalar> tmparr=args_;
+         tmparr[1]=Scalar(0);
+         s = lookup_l ()->time_signature (tmparr);
+       }
+      else
+       {
+         s = lookup_l ()-> special_time_signature (time_sig_type_str_,args_);
+       }
     }
   else
     s = lookup_l ()->time_signature (args_);
diff -urN ../lilypond-1.0.12/make/STATE-VECTOR ./make/STATE-VECTOR
--- ../lilypond-1.0.12/make/STATE-VECTOR        Wed Sep 30 13:00:40 1998
+++ ./make/STATE-VECTOR Sat Oct  3 21:37:30 1998
@@ -90,3 +90,4 @@
 1.0.11.mb1
 1.0.11.uu1
 1.0.12
+1.0.12.mb1
diff -urN ../lilypond-1.0.12/mf/feta-timesig.mf ./mf/feta-timesig.mf
--- ../lilypond-1.0.12/mf/feta-timesig.mf       Wed Sep 30 12:04:15 1998
+++ ./mf/feta-timesig.mf        Fri Oct  2 23:49:04 1998
@@ -7,6 +7,13 @@
 
 fet_begingroup("timesig");
 
+def set_C_width =
+       save left_width, right_width;
+       left_width# := .8 interline#;
+       right_width# := .7 interline#;
+       define_pixels(left_width,right_width);
+enddef;
+
 def draw_C =
        save hair, bulb_rad;
        hair# := stafflinethickness#;
@@ -16,9 +23,9 @@
        x1r = x5;
        y1r = .4 interline;
        z2 = (0, interline);
-       z3r = (-b, 0);
+       z3r = (-left_width, 0);
        z4 = (0, -interline);
-       z5r = (w, -2 stafflinethickness);
+       z5r = (right_width, -2 stafflinethickness);
        
        penpos1(hair, 0);
        penpos2(stafflinethickness, 90);
@@ -36,14 +43,18 @@
        penlabels(1,2,3,4,5);
 enddef;
 
-fet_beginchar ("4/4 meter", "C", "fourfourmeter")
-       set_char_box(.8 interline#, .7 interline#, interline#, interline#);
+fet_beginchar ("4/4 meter", "C4/4", "fourfourmeter")
+       set_C_width;
+       set_char_box(left_width# + interline#, right_width# + interline#, 
+               interline#, interline#);
        
        draw_C;
 fet_endchar;
 
-fet_beginchar ("2/2 meter", "C2", "allabreve")
-       set_char_box(.8 interline#, .7 interline#, 1.4 interline#, 1.4 interline#);
+fet_beginchar ("2/2 meter", "C2/2", "allabreve")
+       set_C_width;
+       set_char_box(left_width# + interline#, right_width# + interline#, 
+               1.4 interline#, 1.4 interline#);
        
        draw_C;
        draw_block((-1.5stafflinethickness, -d), (0, h));
@@ -57,31 +68,37 @@
 Cthickness# := 2 stafflinethickness#;
 define_pixels(Cdiameter,Cthickness);
 
-fet_beginchar ("Mensural 4/4 meter", "oldC", "oldfourfourmeter")
-       set_char_box(.5 Cdiameter#, .5 Cdiameter#, .5 Cdiameter#, .5 Cdiameter#);
+%% tempus imperfectum cum prolatione imperfecta
+fet_beginchar ("Mensural 4/4 meter", "old4/4", "oldfourfourmeter")
+       set_char_box(.5 Cdiameter# + interline#, .5 Cdiameter# + interline#, 
+               .5 Cdiameter#, .5 Cdiameter#);
        
        pickup pencircle scaled Cthickness;
        draw threequartercircle rotated 45 scaled Cdiameter;
 fet_endchar;
 
-fet_beginchar ("Mensural 2/2 meter", "oldC2", "oldallabreve")
-       set_char_box(.5 Cdiameter#, .5 Cdiameter#, interline#, interline#);
+fet_beginchar ("Mensural 2/2 meter", "old2/2", "oldallabreve")
+       set_char_box(.5 Cdiameter# + interline#, .5 Cdiameter# + interline#, 
+               interline#, interline#);
        
        pickup pencircle scaled Cthickness;
        draw threequartercircle rotated 45 scaled Cdiameter;
        draw_block((-Cthickness, -d), (0, h));
 fet_endchar;
 
-fet_beginchar ("Mensural 3/2 meter", "old3_2", "oldthreetwometer")
-       set_char_box(.5 Cdiameter#, .5 Cdiameter#, .5 Cdiameter#, .5 Cdiameter#);
+%% tempus perfectum cum prolatione imperfecta
+fet_beginchar ("Mensural 3/2 meter", "old3/2", "oldthreetwometer")
+       set_char_box(.5 Cdiameter# + interline#, .5 Cdiameter# + interline#, 
+               .5 Cdiameter#, .5 Cdiameter#);
        
        pickup pencircle scaled Cthickness;
        draw fullcircle scaled Cdiameter;
 fet_endchar;
 
-fet_beginchar ("Mensural 6/4 meter", "old6_4", "oldsixfourmeter")
-       set_char_box(.5 Cdiameter#, .5 Cdiameter#, 
-               .5 Cdiameter# + .5 interline#, Cdiameter#+ .5 interline#);
+%% tempus imperfectum cum prolatione perfecta
+fet_beginchar ("Mensural 6/4 meter", "old6/4", "oldsixfourmeter")
+       set_char_box(.5 Cdiameter# + interline#, .5 Cdiameter# + interline#, 
+               .5 Cdiameter# + .5 interline#, .5 Cdiameter#+ .5 interline#);
        
        pickup pencircle scaled Cthickness;
        draw threequartercircle rotated 45 scaled Cdiameter 
@@ -90,9 +107,10 @@
        draw (0,.5 interline);
 fet_endchar;
 
-fet_beginchar ("Mensural 9/4 meter", "old9_4", "oldninefourmeter")
-       set_char_box(.5 Cdiameter#, .5 Cdiameter#, 
-               .5 Cdiameter# + .5 interline#, Cdiameter#+ .5 interline#);
+%% tempus perfectum cum prolatione perfecta
+fet_beginchar ("Mensural 9/4 meter", "old9/4", "oldninefourmeter")
+       set_char_box(.5 Cdiameter# + interline#, .5 Cdiameter# + interline#, 
+               .5 Cdiameter# + .5 interline#, .5 Cdiameter#+ .5 interline#);
        
        pickup pencircle scaled Cthickness;
        draw fullcircle scaled Cdiameter shifted (0,.5 interline);
diff -urN ../lilypond-1.0.12/mutopia/gallina.ly ./mutopia/gallina.ly
--- ../lilypond-1.0.12/mutopia/gallina.ly       Fri Sep 18 13:53:25 1998
+++ ./mutopia/gallina.ly        Fri Oct  2 23:15:23 1998
@@ -227,6 +227,7 @@
 
 \score{
   \type StaffGroup <
+    \property StaffGroup.timeSignatureStyle = "old"
     \vi1
     \vi2
     \bc
diff -urN ../lilypond-1.0.12/tex/fetdefs.tex ./tex/fetdefs.tex
--- ../lilypond-1.0.12/tex/fetdefs.tex  Tue Sep 15 19:22:43 1998
+++ ./tex/fetdefs.tex   Fri Oct  2 23:50:49 1998
@@ -90,23 +90,10 @@
 
 \def\generalmeter#1#2{%
   \ifnum #2 = 0\relax
-    \ifcase #1
-    \or\or
-      % 2
-      \allabreve
-    \or
-      % 3
-      \threetwometer    % tempus perfectum cum prolatione imperfecta
-    \or
-      % 4
-      \fourfourmeter    % tempus imperfectum cum prolatione imperfecta
-    \or\or
-      % 6
-      \sixfourmeter     % tempus imperfectum cum prolatione perfecta
-    \or\or\or
-      % 9
-      \ninefourmeter    % tempus perfectum cum prolatione perfecta
-    \fi
+    \vbox to 0pt{%
+      \vss
+      \hbox to 0.45\staffheight{\hss \fetanummer #1\hss}%
+      \vss}%
   \else
     \vbox to 0pt{%
       \vss

Reply via email to