]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/ligature-engraver.cc
Run grand replace for 2015.
[lilypond.git] / lily / ligature-engraver.cc
index 99e86ed20b193a1da92e40532ebac1a85f340d2a..4fde7110559cf570ee823dc37e021dcbfc0324aa 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 2002--2011 Juergen Reuter <reuter@ipd.uka.de>
+  Copyright (C) 2002--2015 Juergen Reuter <reuter@ipd.uka.de>
 
   LilyPond is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
  * produce a single connected graphical object of fixed width,
  * consisting of noteheads and other primitives.  Space may be
  * inserted only after each ligature, if necessary, but in no case
- * between the primitives of the ligature.  Accidentals have to be put
+ * between the primitives of the ligature. The same approach is
+ * used for Kievan notation ligatures, or, rather melismas.
+ * Though these are not single connected objects, they behave much
+ * in the same way and have a fixed, small amount of space between
+ * noteheads. Except in Kievan "ligatures", accidentals have to be put
  * to the left of the ligature, and not to the left of individual
- * noteheads.  Class Coherent_ligature_engraver is the common
+ * noteheads. In Kievan ligatures, the B-flat may be part of the
+ * ligature itself. Class Coherent_ligature_engraver is the common
  * superclass for all of these engravers.
  *
  * The second category is for engravers that are relaxed in the sense
@@ -100,15 +105,15 @@ Ligature_engraver::process_music ()
   if (events_drul_[STOP])
     {
       if (!ligature_)
-       {
-         events_drul_[STOP]->origin ()->warning (_ ("cannot find start of ligature"));
-         return;
-       }
+        {
+          events_drul_[STOP]->origin ()->warning (_ ("cannot find start of ligature"));
+          return;
+        }
 
       if (!last_bound_)
-       events_drul_[STOP]->origin ()->warning (_ ("no right bound"));
+        events_drul_[STOP]->origin ()->warning (_ ("no right bound"));
       else
-       ligature_->set_bound (RIGHT, last_bound_);
+        ligature_->set_bound (RIGHT, last_bound_);
 
       prev_start_event_ = 0;
       finished_primitives_ = primitives_;
@@ -116,7 +121,7 @@ Ligature_engraver::process_music ()
       primitives_.clear ();
       ligature_ = 0;
     }
-  last_bound_ = unsmob_grob (get_property ("currentMusicalColumn"));
+  last_bound_ = Grob::unsmob (get_property ("currentMusicalColumn"));
 
   if (ligature_)
     {
@@ -127,19 +132,19 @@ Ligature_engraver::process_music ()
   if (events_drul_[START])
     {
       if (ligature_)
-       {
-         events_drul_[START]->origin ()->warning (_ ("already have a ligature"));
-         return;
-       }
+        {
+          events_drul_[START]->origin ()->warning (_ ("already have a ligature"));
+          return;
+        }
 
       prev_start_event_ = events_drul_[START];
       ligature_ = create_ligature_spanner ();
 
-      Grob *bound = unsmob_grob (get_property ("currentMusicalColumn"));
+      Grob *bound = Grob::unsmob (get_property ("currentMusicalColumn"));
       if (!bound)
-       events_drul_[START]->origin ()->warning (_ ("no left bound"));
+        events_drul_[START]->origin ()->warning (_ ("no left bound"));
       else
-       ligature_->set_bound (LEFT, bound);
+        ligature_->set_bound (LEFT, bound);
 
       ligature_start_mom_ = now_mom ();
 
@@ -154,16 +159,15 @@ Ligature_engraver::stop_translation_timestep ()
   if (finished_ligature_)
     {
       if (!finished_primitives_.size ())
-       {
-         finished_ligature_->programming_error (
-           "Ligature_engraver::stop_translation_timestep ():"
-           " junking empty ligature");
-       }
+        {
+          finished_ligature_->programming_error ("Ligature_engraver::stop_translation_timestep ():"
+                                                 " junking empty ligature");
+        }
       else
-       {
-         typeset_ligature (finished_ligature_, finished_primitives_);
-         finished_primitives_.clear ();
-       }
+        {
+          typeset_ligature (finished_ligature_, finished_primitives_);
+          finished_primitives_.clear ();
+        }
       finished_ligature_ = 0;
     }