+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 ((unsmob<Pitch> (val)
+ || (scm_is_eq (prop, ly_symbol2scm ("element")) && unsmob<Music> (val))
+ || (scm_is_eq (prop, ly_symbol2scm ("elements")) && scm_is_pair (val))
+ || (scm_is_eq (prop, ly_symbol2scm ("pitch-alist")) && scm_is_pair (val)))
+ && scm_is_false (scm_assq (prop, mutable_property_alist_)))
+ mutable_property_alist_
+ = scm_acons (prop, music_deep_copy (val), mutable_property_alist_);
+ }
+}
+