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