From ab6f16db25fb9afbc53754a3a3e3c59fa328bebe Mon Sep 17 00:00:00 2001 From: fred Date: Tue, 26 Mar 2002 21:48:46 +0000 Subject: [PATCH] lilypond-1.1.38 --- input/test/rests.fly | 5 ++++ lily/rest-engraver.cc | 7 ++++++ lily/rest.cc | 9 ++++++- mf/feta-eindelijk.mf | 56 ++++++++++++++++++++++++++++++++++++++++++- mf/feta-generic.mf | 4 ++-- 5 files changed, 77 insertions(+), 4 deletions(-) create mode 100644 input/test/rests.fly diff --git a/input/test/rests.fly b/input/test/rests.fly new file mode 100644 index 0000000000..d01cc5bcd5 --- /dev/null +++ b/input/test/rests.fly @@ -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 + diff --git a/lily/rest-engraver.cc b/lily/rest-engraver.cc index 4ef7833386..1e5aa7eed2 100644 --- a/lily/rest-engraver.cc +++ b/lily/rest-engraver.cc @@ -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_)); } } diff --git a/lily/rest.cc b/lily/rest.cc index 50eed01303..b737dea036 100644 --- a/lily/rest.cc +++ b/lily/rest.cc @@ -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; diff --git a/mf/feta-eindelijk.mf b/mf/feta-eindelijk.mf index e8b5d28f89..8ec1e82a2e 100644 --- a/mf/feta-eindelijk.mf +++ b/mf/feta-eindelijk.mf @@ -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") diff --git a/mf/feta-generic.mf b/mf/feta-generic.mf index 01d1cb2c7a..b902151162 100644 --- a/mf/feta-generic.mf +++ b/mf/feta-generic.mf @@ -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; -- 2.39.5