* lily/note-collision.cc (check_meshing_chords): don't merge fa heads.
* scm/define-grobs.scm (all-grob-descriptions): add Y-offset property.
* lily/clef-engraver.cc (inspect_clef_properties): reset
localKeySignature for clef changes.
+2005-11-17 Han-Wen Nienhuys <hanwen@xs4all.nl>
+
+ * input/regression/accidental-clef-change.ly: new file.
+
+ * lily/note-collision.cc (check_meshing_chords): don't merge fa heads.
+
+ * scm/define-grobs.scm (all-grob-descriptions): add Y-offset property.
+
+ * lily/clef-engraver.cc (inspect_clef_properties): reset
+ localKeySignature for clef changes.
+
2005-11-17 Mats Bengtsson <mabe@drongo.s3.kth.se>
* python/midi.c: PyMIDINIT_FUNC isn't defined in Python < 2.3
2005-11-16 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ * VERSION: release 2.7.17
+
* Documentation/topdocs/NEWS.tely (Top): add note about
refactoring.
PACKAGE_NAME=LilyPond
MAJOR_VERSION=2
MINOR_VERSION=7
-PATCH_LEVEL=17
+PATCH_LEVEL=18
MY_PATCH_LEVEL=
--- /dev/null
+\header {
+ texidoc = "Accidentals are reset for clef changes."
+}
+
+\version "2.7.18"
+\new Staff \relative c' {
+ \clef treble
+ cis dis fis
+ \clef bass
+ <cis dis fis gis>
+}
+
+\layout {raggedright = ##t}
those.
*/
-static void
-set_property_on_children (Context *trans, char const *sym, SCM val)
-{
- trans->set_property (sym, ly_deep_copy (val));
- for (SCM p = trans->children_contexts (); scm_is_pair (p); p = scm_cdr (p))
- {
- Context *trg = unsmob_context (scm_car (p));
- set_property_on_children (trg, sym, ly_deep_copy (val));
- }
-}
Accidental_engraver::Accidental_engraver ()
{
Accidental_engraver::update_local_key_signature ()
{
last_keysig_ = get_property ("keySignature");
- set_property_on_children (context (), "localKeySignature", last_keysig_);
+ set_context_property_on_children (context (),
+ ly_symbol2scm ("localKeySignature"),
+ last_keysig_);
Context *trans = context ()->get_parent_context ();
|| scm_equal_p (octavation, prev_octavation_) == SCM_BOOL_F
|| to_boolean (force_clef))
{
+ set_context_property_on_children (context (),
+ ly_symbol2scm ("localKeySignature"),
+ get_property ("keySignature"));
+
set_glyph ();
if (prev_cpos_ != SCM_BOOL_F || to_boolean (get_property ("firstClef")))
create_clef ();
return m;
}
+
+
+void
+set_context_property_on_children (Context *trans, SCM sym, SCM val)
+{
+ trans->internal_set_property (sym, ly_deep_copy (val));
+ for (SCM p = trans->children_contexts (); scm_is_pair (p); p = scm_cdr (p))
+ {
+ Context *trg = unsmob_context (scm_car (p));
+ set_context_property_on_children (trg, sym, ly_deep_copy (val));
+ }
+}
Moment measure_position (Context const *context);
Rational measure_length (Context const *context);
+void set_context_property_on_children (Context *trans, SCM sym, SCM val);
#endif /* CONTEXT_HH */
(c) 2002--2005 Juergen Reuter <reuter@ipd.uka.de>
*/
+
#ifndef LIGATURE_ENGRAVER_HH
#define LIGATURE_ENGRAVER_HH
&& !to_boolean (me->get_property ("merge-differently-headed")))
merge_possible = false;
+ merge_possible = merge_possible &&
+ !(nu->get_property ("style") == ly_symbol2scm ("fa")
+ && nd->get_property ("style") == ly_symbol2scm ("fa"));
+
+
/* Should never merge quarter and half notes, as this would make
them indistinguishable. */
if (merge_possible
(TextSpanner
. (
(stencil . ,Text_spanner::print)
+ (Y-offset . ,Side_position_interface::y_aligned_side)
(font-shape . italic)
(style . dashed-line)
(staff-padding . 0.8)