]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/key-engraver.cc
Admin: run yearly grand-replace.
[lilypond.git] / lily / key-engraver.cc
index 7997d11c33adb98e655d189691f211afd9714d0d..e67247cd8c3c8a188bd40f9fab4363bfcd46f5bf 100644 (file)
@@ -1,9 +1,20 @@
 /*
-  key-engraver.cc -- implement Key_engraver
+  This file is part of LilyPond, the GNU music typesetter.
 
-  source file of the GNU LilyPond music typesetter
+  Copyright (C) 1997--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
-  (c) 1997--2008 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  LilyPond is free software: you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation, either version 3 of the License, or
+  (at your option) any later version.
+
+  LilyPond is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with LilyPond.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #include "bar-line.hh"
@@ -79,8 +90,9 @@ Key_engraver::create_key (bool is_default)
              SCM new_alter_pair = scm_assoc (scm_caar (s), key);
              Rational old_alter = robust_scm2rational (scm_cdar (s), 0);
              if (new_alter_pair == SCM_BOOL_F
-                 || extranatural
-                 && (ly_scm2rational (scm_cdr (new_alter_pair)) - old_alter)*old_alter < Rational (0))
+                 || (extranatural
+                     && (ly_scm2rational (scm_cdr (new_alter_pair)) - old_alter)*old_alter
+                         < Rational (0)))
                {
                  *tail = scm_cons (scm_car (s), *tail);
                  tail = SCM_CDRLOC (*tail);
@@ -93,13 +105,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)
@@ -119,18 +131,16 @@ Key_engraver::listen_key_change (Stream_event *ev)
 }
 
 void
-Key_engraver::acknowledge_clef (Grob_info info)
+Key_engraver::acknowledge_clef (Grob_info /* info */)
 {
-  (void)info;
   SCM c = get_property ("createKeyOnClefChange");
   if (to_boolean (c))
     create_key (false);
 }
 
 void
-Key_engraver::acknowledge_bar_line (Grob_info info)
+Key_engraver::acknowledge_bar_line (Grob_info /* info */)
 {
-  (void)info;
   if (scm_is_pair (get_property ("keySignature")))
     create_key (true);
 }
@@ -189,7 +199,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"));
 }
@@ -212,6 +222,7 @@ ADD_TRANSLATOR (Key_engraver,
                "Engrave a key signature.",
 
                /* create */
+               "KeyCancellation "
                "KeySignature ",
                
                /* read */