From 76aa211537ed6bf29b99406c9175d65116eeaa86 Mon Sep 17 00:00:00 2001 From: Rune Zedeler Date: Mon, 18 Dec 2006 12:44:56 +0100 Subject: [PATCH] Fix #106 and problems with 'modern accidental style. --- input/regression/accidentals-modern.ly | 16 ++++++++++++++++ lily/accidental-engraver.cc | 10 ++++++---- 2 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 input/regression/accidentals-modern.ly diff --git a/input/regression/accidentals-modern.ly b/input/regression/accidentals-modern.ly new file mode 100644 index 0000000000..9f749aed2c --- /dev/null +++ b/input/regression/accidentals-modern.ly @@ -0,0 +1,16 @@ +\header { + + texidoc = "In 'modern accidental style, the last note should +have an accidental sign. " + +} +\version "2.10.3" + +\score { + \new Staff { + \relative c' { + #(set-accidental-style 'modern) + d4 dis'4 d,2^"this should have accidental" + } + } +} diff --git a/lily/accidental-engraver.cc b/lily/accidental-engraver.cc index fc462faffa..ac532efd46 100644 --- a/lily/accidental-engraver.cc +++ b/lily/accidental-engraver.cc @@ -120,8 +120,7 @@ Accidental_engraver::update_local_key_signature () /* Huh. Don't understand what this is good for. --hwn. */ - SCM val; - while (trans && trans->where_defined (ly_symbol2scm ("localKeySignature"), &val)) + while (trans) { trans->set_property ("localKeySignature", ly_deep_copy (last_keysig_)); trans = trans->get_parent_context (); @@ -191,11 +190,14 @@ number_accidentals_from_sig (bool *different, SCM sig, Pitch *pitch, { SCM entry = scm_car (s); if (scm_is_pair (scm_car (entry)) - && scm_cdar (entry) == scm_from_int (n)) + && scm_cdar (entry) == scm_from_int (n)) { from_other_octaves = scm_cdr (entry); + break; + } } - if (from_same_octave != SCM_BOOL_F + if (!ignore_octave + && from_same_octave != SCM_BOOL_F && recent_enough (bar_number, from_same_octave, laziness)) previous_alteration = from_same_octave; else if (ignore_octave -- 2.39.5