lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

* use correct left to right ordering in keySignature list


From: hanwenn
Subject: * use correct left to right ordering in keySignature list
Date: Tue, 23 Dec 2008 13:46:14 +0000

Reviewers: Reinhold,

Message:
Shouldn't there be changes in other files to correspond? (do we have a
regtest?)

Description:
* use correct left to right ordering in keySignature list
The keySignature property list of the KeySignature so far was using
reversed order (e.g. the rightmost accidental came first). This was
quite confusing when manually setting non-standard key signatures like
  \set Staff.keySignature = #`(((0 . 3) . ,SHARP)
                               ((0 . 5) . ,FLAT)
                               ((0 . 6) . ,FLAT))
In this example, you'll get bes, as, fis in that reversed order rather
than
in the order in which you list the alterations.

Please review this at http://codereview.appspot.com/8686

Affected files:
  M lily/key-engraver.cc


Index: lily/key-engraver.cc
diff --git a/lily/key-engraver.cc b/lily/key-engraver.cc
index d3b7eb01ddada1c2d00b7888fef88ee16ed88eb7..3f9dc02c1c9d40de7732bc2c569b7e65ec7ab73a 100644
--- a/lily/key-engraver.cc
+++ b/lily/key-engraver.cc
@@ -93,13 +93,13 @@ Key_engraver::create_key (bool is_default)
                                         key_event_
                                         ? key_event_->self_scm () : SCM_EOL);
        
-             cancellation_->set_property ("alteration-alist", restore);
+ cancellation_->set_property ("alteration-alist", scm_reverse (restore));
              cancellation_->set_property ("c0-position",
                                           get_property ("middleCPosition"));
            }
        }

-      item_->set_property ("alteration-alist", key);
+      item_->set_property ("alteration-alist", scm_reverse (key));
     }

   if (!is_default)
@@ -189,7 +189,7 @@ Key_engraver::read_event (Stream_event const *r)
        r->origin ()->warning ("No ordering for key signature alterations");
     }

-  context ()->set_property ("keySignature", accs);
+  context ()->set_property ("keySignature", scm_reverse (accs));
   context ()->set_property ("tonic",
                            r->get_property ("tonic"));
 }






reply via email to

[Prev in Thread] Current Thread [Next in Thread]