]> git.donarmstrong.com Git - lilypond.git/commitdiff
patch::: 1.1.37.mb1: Re: LilyPond 1.1.37
authorMats Bengtsson <mats.bengtsson@s3.kth.se>
Wed, 31 Mar 1999 22:06:16 +0000 (00:06 +0200)
committerMats Bengtsson <mats.bengtsson@s3.kth.se>
Wed, 31 Mar 1999 22:06:16 +0000 (00:06 +0200)
pl 37.mb1
- Added property restStyle.
- mensural 4th, 8th and 16th rests.

*************

NEWS
VERSION
input/test/rests.fly [new file with mode: 0644]
lily/include/lookup.hh
lily/lookup.cc
lily/multi-measure-rest.cc
lily/rest-engraver.cc
lily/rest.cc
mf/feta-eindelijk.mf
mf/feta-generic.mf

diff --git a/NEWS b/NEWS
index 8c09cf7b0ee006dd4ab6f3316fd8dc6beea7c7be..f56f8067e851fcf4ac31261aefbc4ec2fe292169 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,8 @@
+pl 37.mb1
+       - Added property restStyle. 
+       - mensural 4th, 8th and 16th rests.
+
+*************
 
        - diamond heads (probably really ugly).
        - cross head.
diff --git a/VERSION b/VERSION
index c24cec832a67a92e606f74f0a2c1f10756cef29f..5be3db6e5e7e5e09671124835f71169f2fa27259 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -2,7 +2,7 @@ PACKAGE_NAME=LilyPond
 MAJOR_VERSION=1
 MINOR_VERSION=1
 PATCH_LEVEL=37
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=mb1
 
 # use the above to send patches: MY_PATCH_LEVEL is always empty for a
 # released version.
diff --git a/input/test/rests.fly b/input/test/rests.fly
new file mode 100644 (file)
index 0000000..d01cc5b
--- /dev/null
@@ -0,0 +1,5 @@
+r\longa r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128 
+\property Staff.restStyle = "mensural"
+\property Staff.textEmptyDimension = 1
+r\longa^"restStyle = \"mensural\"" r\breve r1 r2 r4 r8 r16 r32 r64 r128 r128 
+
index 9290359b1ee802da7b17fff4a50ffa836a7a5b18..abf3434a8b29da250dc41b9000f9013d1f5da07f 100644 (file)
@@ -39,7 +39,7 @@ public:
   Molecule flag (int, Direction) const;
   Molecule hairpin (Real width, bool decresc, bool continued) const;
   Molecule plet (Real dy, Real dx, Direction dir) const;
-  Molecule rest (int, bool outside) const;
+  Molecule rest (int, bool outside, String) const;
   Molecule rule_symbol (Real height, Real width) const;
   Molecule script (String idx) const;
   Molecule stem (Real y1_pos, Real y2_pos) const;
index b4ae24acb55ebce0498034d1adb193cbc2f3a13d..9458b672d19f840847a0ef8a5794e097796084b5 100644 (file)
@@ -305,9 +305,9 @@ Lookup::flag (int j, Direction d) const
 }
 
 Molecule
-Lookup::rest (int j, bool o) const
+Lookup::rest (int j, bool o, String style) const
 {
-  return afm_find (String ("rests-") + to_str (j) + (o ? "o" : ""));
+  return afm_find (String ("rests-") + to_str (j) + (o ? "o" : "") + style);
 }
 
 Molecule
index d161819a542ddaa6b2c392bda588792e95a13fd1..00b647e6a164656f762d674187f43b7f7d64cb3f 100644 (file)
@@ -47,12 +47,12 @@ Multi_measure_rest::do_brew_molecule_p () const
   Molecule s;
   if (measures_i_ == 1 || measures_i_ == 2 || measures_i_ == 4) 
     {
-      s = (lookup_l ()->rest (- intlog2(measures_i_), 0));
+      s = (lookup_l ()->rest (- intlog2(measures_i_), 0, ""));
       s.translate_axis (-s.extent ()[X_AXIS].length () / 2, X_AXIS);
     }
   else 
     {
-      s = (lookup_l ()->rest (-4, 0));
+      s = (lookup_l ()->rest (-4, 0, ""));
     }
   mol_p->add_molecule (s);
   Real interline_f = staff_line_leading_f ();
index 4ef7833386d5677c669bafbb11197d0bd02e5a92..1e5aa7eed2f66b2e25922e7eaf0a63769118637f 100644 (file)
@@ -55,6 +55,13 @@ Rest_engraver::do_process_requests ()
          rest_p_->dots_l_  =dot_p_;
          announce_element (Score_element_info (dot_p_,0));
        }
+      if (rest_p_->balltype_i_ >= 2) 
+       {
+         String reststyle = get_property ("restStyle", 0);
+         if (reststyle.length_i ())
+           rest_p_->set_elt_property (style_scm_sym,
+                                        gh_str02scm (reststyle.ch_C()));
+       }
       announce_element (Score_element_info (rest_p_, rest_req_l_));
     }
 }
index 50eed01303e2ee47fc2319e16092159c28f18b88..b737dea036fa772709d0e1a678d53de65627132f 100644 (file)
@@ -40,7 +40,14 @@ Rest::do_brew_molecule_p () const
   bool streepjes_b = abs(position_i_) > lines_i () / 2 &&  
     (balltype_i_ == 0 || balltype_i_ == 1);
   
-  Molecule s(lookup_l ()->rest (balltype_i_, streepjes_b));
+  String style; 
+  SCM style_sym =get_elt_property (style_scm_sym);
+  if (style_sym != SCM_BOOL_F)
+    {
+      style = ly_scm2string (SCM_CDR(style_sym));
+    }
+  
+  Molecule s(lookup_l ()->rest (balltype_i_, streepjes_b, style));
   Molecule * m = new Molecule ( Molecule (s));
   m->translate_axis (position_i_ *  staff_line_leading_f ()/2.0, Y_AXIS);
   return m;
index e8b5d28f891088a72a6eb0aec382c274d5cb19c4..8ec1e82a2e05757a56fcdad81cd9b7bee32f98a1 100644 (file)
@@ -272,5 +272,59 @@ fet_beginchar("128th rest","7","hundredtwentyeighthrest");
        fet_endchar;
 
 endgroup;
-fet_endgroup("rests");
 
+% Rest symbols for mensural notation:
+
+mensrestsize# = .8interline#;
+
+fet_beginchar("Mensural 4th rest","2mensural","minimarest")
+       set_char_box(0,mensrestsize#,0,mensrestsize#);
+        pickup pencircle scaled 2 stafflinethickness;
+       lft x1 = 0;
+       bot y1 = 0;
+       lft x2 = 0;
+       top y2 = h;
+       rt x3 = w;
+       bot y3 = h/2;
+       draw z1 .. z2;
+       draw z2 .. z3;
+fet_endchar
+
+fet_beginchar("Mensural 8th rest","3mensural","fusarest")
+       set_char_box(0,mensrestsize#,0,mensrestsize#);
+        pickup pencircle scaled 2 stafflinethickness;
+       rt x1 = w;
+       bot y1 = 0;
+       rt x2 = w;
+       top y2 = h;
+       lft x3 = 0;
+       bot y3 = h/2;
+       draw z1 .. z2;
+       draw z2 .. z3;
+fet_endchar
+
+fet_beginchar("Mensural 16th rest","4mensural","semifusarest")
+       set_char_box(0,mensrestsize#,0,interline#);
+        pickup pencircle scaled 2 stafflinethickness;
+       rt x1 = w;
+       bot y1 = 0;
+       rt x2 = w;
+       top y2 = h;
+
+       draw z1 .. z2;
+
+        pickup pencircle scaled 2 stafflinethickness;
+       rt x3 = w;
+       top y3 = h;
+       lft x4 = 0;
+       bot y4 = h/2;
+       rt x5 = w;
+       top y5 = 5/8h;
+       lft x6 = 0;
+       bot y6 = h/8;
+
+       draw z3 .. z4;
+       draw z5 .. z6;
+fet_endchar
+
+fet_endgroup("rests")
index 01d1cb2c7a9f7a09f73f5b764b5330fedb84c396..b902151162a32ff26bebaaa789e2ce131db35db5 100644 (file)
@@ -34,9 +34,9 @@ if test = 0:
        input feta-klef;
        input feta-timesig;
 else:
-       input feta-bolletjes;   
+%      input feta-bolletjes;   
 %      input feta-banier;
-%      input feta-eindelijk;
+       input feta-eindelijk;
 %      input feta-klef;
 %      input feta-toevallig;
 %      input feta-schrift;