+2004-01-07 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * VERSION (PATCH_LEVEL): release 2.0.2
+
+ * lily/mark-engraver.cc (process_music): backport of mark \default
+ fix.
+
+ * lily/tie-engraver.cc (acknowledge_grob): backport tie/accidental
+ bugfix: make ties only for note heads with the same pitch.
+
+
2003-12-01 Jan Nieuwenhuizen <janneke@gnu.org>
* cygwin/README.in (Suggested): Add gv, remove native windows
if (text_)
return;
- SCM s = get_property ("RehearsalMark");
- text_ = new Item (s);
-
-
+ text_ = new Item (get_property ("RehearsalMark"));
announce_grob(text_, rq->self_scm());
}
{
create_items (mark_req_);
- String t;
-
/*
automatic marks.
*/
}
else
{
+ String t ;
+
if (!gh_string_p (m) && !gh_number_p (m))
m = get_property ("rehearsalMark");
{
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");
{
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;
}
if (gh_symbol_p (family))
text_->set_grob_property ("font-family", family);
}
+
+ daddy_trans_->set_property ("rehearsalMark", m);
}
}
for (int i = heads_to_tie_.size (); i--;)
{
Grob *th = heads_to_tie_[i];
- int staff_pos = gh_scm2int (h->get_grob_property ("staff-position"));
- int left_staff_pos = gh_scm2int (th->get_grob_property ("staff-position"));
- if (staff_pos == left_staff_pos)
+ Music * right_mus = unsmob_music (h->get_grob_property ("cause"));
+ Music * left_mus = unsmob_music (th->get_grob_property ("cause"));
+
+ /*
+ maybe should check positions too.
+ */
+ if (right_mus && left_mus
+ && gh_equal_p (right_mus->get_mus_property ("pitch"),
+ left_mus->get_mus_property ("pitch")))
{
Grob * p = new Spanner (get_property ("Tie"));
Tie::set_interface (p); // cannot remove yet!