X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fmusic.cc;h=7a38d7af41d84851151b65e2c5bcbdaa4cc4e010;hb=84df877933ef6b3b9915e58bf0ca8bd7d92fea3d;hp=7927fe3067cc8b855743e6e5c5ad06ae5c1b18a9;hpb=b27579f3a9b2311232f8eb1f11403f560dcc9b17;p=lilypond.git diff --git a/lily/music.cc b/lily/music.cc index 7927fe3067..7a38d7af41 100644 --- a/lily/music.cc +++ b/lily/music.cc @@ -234,7 +234,7 @@ transpose_mutable (SCM alist, Pitch delta) m->transpose (delta); } else if (prop == ly_symbol2scm ("elements") - || prop == ly_symbol2scm ("articulations")) + || prop == ly_symbol2scm ("articulations")) transpose_music_list (val, delta); else if (prop == ly_symbol2scm ("pitch-alist") && scm_is_pair (val)) @@ -271,7 +271,7 @@ Music::origin () const ES TODO: This method should probably be reworked or junked. */ Stream_event * -Music::to_event () const +Music::to_event (Context *c) const { SCM class_name = ly_camel_case_2_lisp_identifier (get_property ("name")); @@ -279,7 +279,8 @@ Music::to_event () const if (!internal_is_music_type (class_name)) programming_error ("Not a music type"); - Stream_event *e = new Stream_event (class_name, mutable_property_alist_); + Stream_event *e = new Stream_event (c->make_event_class (class_name), + mutable_property_alist_); Moment length = get_length (); if (length.to_bool ()) e->set_property ("length", length.smobbed_copy ()); @@ -292,7 +293,7 @@ Music::to_event () const for (; scm_is_pair (art_mus); art_mus = scm_cdr (art_mus)) { Music *m = unsmob_music (scm_car (art_mus)); - art_ev = scm_cons (m->to_event ()->unprotect (), art_ev); + art_ev = scm_cons (m->to_event (c)->unprotect (), art_ev); } e->set_property ("articulations", scm_reverse_x (art_ev, SCM_EOL)); } @@ -309,7 +310,7 @@ Music::to_event () const void Music::send_to_context (Context *c) { - Stream_event *ev = to_event (); + Stream_event *ev = to_event (c); c->event_source ()->broadcast (ev); ev->unprotect (); }