]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/piano-pedal-bracket.cc
Handle situations that either one of above and below is a valid
[lilypond.git] / lily / piano-pedal-bracket.cc
index d11e670e78fbdd8e19ba743fc6fa89b9fa7a5b83..40ebbaef7df5a7b638286cff96f2b10a8c654086 100644 (file)
@@ -1,9 +1,20 @@
 /*
-  piano-pedal-bracket.cc -- implement  Piano_pedal_bracket
+  This file is part of LilyPond, the GNU music typesetter.
 
-  source file of the GNU LilyPond music typesetter
+  Copyright (C) 2003--2011 Han-Wen Nienhuys <hanwen@xs4all.nl>
 
-  (c) 2003--2005 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 "stencil.hh"
@@ -14,7 +25,7 @@
 struct Piano_pedal_bracket
 {
   DECLARE_SCHEME_CALLBACK (print, (SCM));
-  static bool has_interface (Grob *);
+  DECLARE_GROB_INTERFACE ();
 };
 
 MAKE_SCHEME_CALLBACK (Piano_pedal_bracket, print, 1);
@@ -22,7 +33,7 @@ SCM
 Piano_pedal_bracket::print (SCM smob)
 {
   Spanner *me = dynamic_cast<Spanner *> (unsmob_grob (smob));
-  Spanner *orig = dynamic_cast<Spanner *> (me->original_);
+  Spanner *orig = dynamic_cast<Spanner *> (me->original ());
 
   Drul_array<bool> broken (false, false);
   Drul_array<Real> height = robust_scm2drul
@@ -48,7 +59,8 @@ Piano_pedal_bracket::print (SCM smob)
       if (broken[d])
        {
          if (orig
-             && ((d == RIGHT && me->get_break_index () != orig->broken_intos_.size () - 1)
+             && ((d == RIGHT
+                  && me->get_break_index () != orig->broken_intos_.size () - 1)
                  || (d == LEFT && me->get_break_index ())))
            height[d] = 0.0;
          else
@@ -88,7 +100,14 @@ Piano_pedal_bracket::print (SCM smob)
   return m.smobbed_copy ();
 }
 
-ADD_INTERFACE (Piano_pedal_bracket, "piano-pedal-bracket-interface",
-              "The bracket of the piano pedal.  It can be tuned through the regular "
-              "bracket properties.",
-              "bound-padding edge-height shorten-pair bracket-flare pedal-text");
+ADD_INTERFACE (Piano_pedal_bracket,
+              "The bracket of the piano pedal.  It can be tuned through"
+              " the regular bracket properties.",
+
+              /* properties */
+              "bound-padding "
+              "edge-height "
+              "shorten-pair "
+              "bracket-flare "
+              "pedal-text "
+              );