X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Frepeat-tie-engraver.cc;h=6b16fbc08841863d01be8fc7e3afc74ae746214a;hb=8e622ad48c6b9d5d1042a350befe322edf6404c5;hp=c9e8c9c208a0c85c9e42cfe58b7094ed711cff0d;hpb=c4c0ba811cd526f047de3f4d3c77abcc32a3e076;p=lilypond.git diff --git a/lily/repeat-tie-engraver.cc b/lily/repeat-tie-engraver.cc index c9e8c9c208..6b16fbc088 100644 --- a/lily/repeat-tie-engraver.cc +++ b/lily/repeat-tie-engraver.cc @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 2005--2006 Han-Wen Nienhuys + (c) 2005--2007 Han-Wen Nienhuys */ @@ -47,7 +47,7 @@ IMPLEMENT_TRANSLATOR_LISTENER (Repeat_tie_engraver, repeat_tie); void Repeat_tie_engraver::listen_repeat_tie (Stream_event *ev) { - event_ = ev; + ASSIGN_EVENT_ONCE (event_, ev); } void @@ -60,14 +60,23 @@ Repeat_tie_engraver::acknowledge_note_head (Grob_info inf) { semi_tie_column_ = make_item ("RepeatTieColumn", event_->self_scm ()); } - - Grob *semi_tie = make_item ("RepeatTie", event_->self_scm ()); + + SCM cause = event_->self_scm (); + Grob *semi_tie = make_item ("RepeatTie", cause); semi_tie->set_object ("note-head", inf.grob ()->self_scm ()); Pointer_group_interface::add_grob (semi_tie_column_, ly_symbol2scm ("ties"), semi_tie); semi_tie->set_parent (semi_tie_column_, Y_AXIS); semi_ties_.push_back (semi_tie); + + + if (is_direction (unsmob_stream_event (cause)->get_property ("direction"))) + { + Direction d = to_dir (unsmob_stream_event (cause)->get_property ("direction")); + semi_tie->set_property ("direction", scm_from_int (d)); + } + } ADD_ACKNOWLEDGER (Repeat_tie_engraver, note_head); @@ -77,7 +86,5 @@ ADD_TRANSLATOR (Repeat_tie_engraver, /* create */ "RepeatTie " "RepeatTieColumn ", - - /* accept */ "repeat-tie-event", /* read */ "", /* write */ "");