* Bugfix: use deep copies for resetting keys.
* Removed --ignore-version option. Added --verbose option.
+* Bugfix: use deep copies for resetting keys.
+
1.3.61
======
MAJOR_VERSION=1
MINOR_VERSION=3
PATCH_LEVEL=62
-MY_PATCH_LEVEL=
+MY_PATCH_LEVEL=hwn1
# use the above to send patches: MY_PATCH_LEVEL is always empty for a
# released version.
A ly_B2A (B b);
*/
SCM ly_str02scm (char const*c);
+SCM ly_deep_copy (SCM);
+
+
SCM ly_symbol2scm (char const *);
String ly_scm2string (SCM s);
String ly_symbol2string (SCM);
Rest_collision(SCM);
- SCM member_before_line_breaking ();
- static SCM before_line_breaking (SCM);
+ SCM member_after_line_breaking ();
+ static SCM after_line_breaking (SCM);
};
#endif // REST_COLLISION_HH
}
ADD_SCM_INIT_FUNC(funcs, init_functions);
+
+SCM
+ly_deep_copy (SCM l)
+{
+ if (gh_pair_p (l))
+ {
+ return gh_cons (ly_deep_copy (gh_car (l)), ly_deep_copy (gh_cdr (l)));
+ }
+ else
+ return l;
+}
+
}
}
+/*
+ ugh. deep_copy uses lots of space.
+ */
void
Local_key_engraver::do_process_music()
{
if (!mp)
{
if (!to_boolean (get_property ("noResetKey")))
- daddy_trans_l_->set_property ("localKeySignature", sig);
+ daddy_trans_l_->set_property ("localKeySignature", ly_deep_copy (sig));
}
else if (last_keysig_ != sig)
{
- daddy_trans_l_->set_property ("localKeySignature", sig);
+ daddy_trans_l_->set_property ("localKeySignature", ly_deep_copy (sig));
}
}
return dynamic_cast<Rhythmic_head*> (e);
}
-GLUE_SCORE_ELEMENT(Rest_collision,before_line_breaking);
+GLUE_SCORE_ELEMENT(Rest_collision,after_line_breaking);
+
SCM
-Rest_collision::member_before_line_breaking ()
+Rest_collision::member_after_line_breaking ()
{
Link_array<Note_column> rest_l_arr =
Pointer_group_interface__extract_elements (this, (Note_column*) 0, "rests");
Link_array<Note_column> ncol_l_arr =
Pointer_group_interface__extract_elements (this, (Note_column*) 0, "notes");
-
+
/*
handle rest-rest and rest-note collisions
)
basicRestCollisionProperties = #`(
+ (after-line-breaking-callback . ,Rest_collision::after_line_breaking)
)
basicScriptProperties = #`(
(molecule-callback . ,Script::brew_molecule)
)
basicTieProperties = #`(
(molecule-callback . ,Tie::brew_molecule)
- (after-line-breaking-callback . ,System_start_delimiter::after_line_breaking)
+ (after-line-breaking-callback . ,Tie::after_line_breaking)
)
basicTieColumnProperties = #`(
- (after-line-breaking-callback .,Tie_engraver::after_line_breaking)
+ (after-line-breaking-callback . ,Tie_column::after_line_breaking)
)
basicTupletSpannerProperties = #`(
(number-gap . 2.0)