]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/new-fingering-engraver.cc
Merge remote-tracking branch 'origin/translation' into staging
[lilypond.git] / lily / new-fingering-engraver.cc
index b6275b07216cc598316508a4e43402c228ae35aa..51eb26c6d29a1f89aa20836950cba09dc1f36e22 100644 (file)
@@ -1,7 +1,7 @@
 /*
   This file is part of LilyPond, the GNU music typesetter.
 
-  Copyright (C) 1998--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
+  Copyright (C) 1998--2014 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
@@ -194,8 +194,12 @@ New_fingering_engraver::position_scripts (SCM orientations,
                                           vector<Finger_tuple> *scripts)
 {
   for (vsize i = 0; i < scripts->size (); i++)
-    if (stem_ && to_boolean (scripts->at (i).script_->get_property ("add-stem-support")))
-      Side_position_interface::add_support (scripts->at (i).script_, stem_);
+    if (stem_)
+      {
+        Side_position_interface::add_support (scripts->at (i).script_, stem_);
+        if (Grob *flag = unsmob_grob (stem_->get_object ("flag")))
+          Side_position_interface::add_support (scripts->at (i).script_, flag);
+      }
 
   /*
     This is not extremely elegant, but we have to do a little
@@ -291,9 +295,8 @@ New_fingering_engraver::position_scripts (SCM orientations,
       f->set_property ("direction", scm_from_int (hordir));
     }
 
-  Direction d = DOWN;
   Drul_array< vector<Finger_tuple> > vertical (down, up);
-  do
+  for (DOWN_and_UP (d))
     {
       for (vsize i = 0; i < vertical[d].size (); i++)
         {
@@ -311,7 +314,6 @@ New_fingering_engraver::position_scripts (SCM orientations,
           f->set_property ("direction", scm_from_int (d));
         }
     }
-  while (flip (&d) != DOWN);
 }
 
 void