+void
+Stream_event::make_transposable ()
+{
+ /* This is in preparation for transposing stuff
+ that may be defined in the immutable part */
+
+ for (SCM s = immutable_property_alist_; scm_is_pair (s); s = scm_cdr (s))
+ {
+ SCM entry = scm_car (s);
+ SCM prop = scm_car (entry);
+ SCM val = scm_cdr (entry);
+
+ if ((Pitch::is_smob (val)
+ || (prop == ly_symbol2scm ("element") && Music::is_smob (val))
+ || (prop == ly_symbol2scm ("elements") && scm_is_pair (val))
+ || (prop == ly_symbol2scm ("pitch-alist") && scm_is_pair (val)))
+ && scm_is_false (scm_assq (prop, mutable_property_alist_)))
+ mutable_property_alist_
+ = scm_acons (prop, ly_music_deep_copy (val), mutable_property_alist_);
+ }
+}
+