X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmark-engraver.cc;h=de66bca0ec3c71120a7d0b548a80b848d8403d0c;hb=26633bbfbf821a7cfdfe7a0367d1ea94a440be2e;hp=003ec782f611b6659eeb52f1ad589d55f0b94f0e;hpb=fd58a98a46a3def26b80a895f1f7b81c92590fc3;p=lilypond.git diff --git a/lily/mark-engraver.cc b/lily/mark-engraver.cc index 003ec782f6..de66bca0ec 100644 --- a/lily/mark-engraver.cc +++ b/lily/mark-engraver.cc @@ -87,10 +87,7 @@ Mark_engraver::create_items (Music *rq) if (text_) return; - SCM s = get_property ("RehearsalMark"); - text_ = new Item (s); - - + text_ = new Item (get_property ("RehearsalMark")); announce_grob(text_, rq->self_scm()); } @@ -122,8 +119,6 @@ Mark_engraver::process_music () { create_items (mark_req_); - String t; - /* automatic marks. */ @@ -135,6 +130,8 @@ Mark_engraver::process_music () } else { + String t ; + if (!gh_string_p (m) && !gh_number_p (m)) m = get_property ("rehearsalMark"); @@ -153,19 +150,18 @@ Mark_engraver::process_music () { char c = t[0]; c++; - next = to_string (c); + t = to_string (c); } - m = scm_makfrom0str (next.to_str0 ()); + m = scm_makfrom0str (t.to_str0 ()); } else { m = gh_int2scm (1); + t = to_string (1); } - daddy_trans_->set_property ("rehearsalMark", m); - text_->set_grob_property ("text", - scm_makfrom0str (t.to_str0 ())); + scm_makfrom0str (t.to_str0 ())); SCM series = SCM_EOL; SCM family = ly_symbol2scm ("number"); @@ -173,7 +169,13 @@ Mark_engraver::process_music () { if (!isdigit (t[i])) { - series = ly_symbol2scm ("bold"); + /* + This looks strange, since \mark "A" + isn't printed in bold. + + */ + + // series = ly_symbol2scm ("bold"); family = ly_symbol2scm ("roman"); break; } @@ -183,6 +185,8 @@ Mark_engraver::process_music () if (gh_symbol_p (family)) text_->set_grob_property ("font-family", family); } + + daddy_trans_->set_property ("rehearsalMark", m); } }