]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/staff-symbol.cc
Issue 4828/1: Allow override of NoteHead.ledger-positions
[lilypond.git] / lily / staff-symbol.cc
index 256a9bdd0d24687ac26a63cc8cbc9a7ca2c7159e..527a5c7baf726b2a0d04d7e4e1c841777ea9fa0f 100644 (file)
@@ -135,8 +135,16 @@ Staff_symbol::line_positions (Grob *me)
 }
 
 vector<Real>
-Staff_symbol::ledger_positions (Grob *me, int pos)
+Staff_symbol::ledger_positions (Grob *me, int pos, Item const *head)
 {
+  // allow the option to override ledger positions via note head grob
+  if (head)
+    {
+      SCM posns = head->get_property ("ledger-positions");
+      if (scm_is_pair (posns))
+        return ly_scm2floatvector (posns);
+    }
+
   SCM ledger_positions = me->get_property ("ledger-positions");
   Real ledger_extra = robust_scm2double (me->get_property ("ledger-extra"), 0);
   vector<Real> line_positions = Staff_symbol::line_positions (me);