]> git.donarmstrong.com Git - lilypond.git/commitdiff
lilypond-1.1.38
authorfred <fred>
Tue, 26 Mar 2002 21:48:46 +0000 (21:48 +0000)
committerfred <fred>
Tue, 26 Mar 2002 21:48:46 +0000 (21:48 +0000)
input/test/rests.fly [new file with mode: 0644]
lily/rest-engraver.cc
lily/rest.cc
mf/feta-eindelijk.mf
mf/feta-generic.mf

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 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;