X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fsemi-tie.cc;h=d9209098dd54ab6bf44d23340baebd77af83a5e6;hb=47db9a3883d726ca53e2133a3b2298f78dd6a32e;hp=a12156e6037ad0ef76b83ebadc4c1a49b4d664f0;hpb=cbb205d40a19c0d2d9801031a63607e108a18038;p=lilypond.git diff --git a/lily/semi-tie.cc b/lily/semi-tie.cc index a12156e603..d9209098dd 100644 --- a/lily/semi-tie.cc +++ b/lily/semi-tie.cc @@ -1,10 +1,21 @@ /* - semi-tie.cc -- implement Semi_tie + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2005--2015 Han-Wen Nienhuys - (c) 2005--2007 Han-Wen Nienhuys + 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 . */ #include "semi-tie-column.hh" @@ -16,33 +27,44 @@ #include "staff-symbol-referencer.hh" ADD_INTERFACE (Semi_tie, - - "A tie which is only on one side connected to note heads. ", + "A tie which is only connected to a note head on one side." + "\n" + "The following properties may be set in the @code{details}" + " list:\n" + "\n" + "@table @code\n" + "@item height-limit\n" + "Maximum tie height: The longer the tie, the closer it is" + " to this height.\n" + "@item ratio\n" + "Parameter for tie shape. The higher this number, the" + " quicker the tie attains its @code{height-limit}.\n" + "@end table\n", - /* properties */ - "control-points " - "direction " - "details " - "head-direction " - "note-head " - "thickness " - ); + /* properties */ + "control-points " + "direction " + "details " + "head-direction " + "note-head " + "thickness " + ); MAKE_SCHEME_CALLBACK (Semi_tie, calc_control_points, 1) SCM Semi_tie::calc_control_points (SCM smob) { - Grob *me = unsmob_grob (smob); + Grob *me = Grob::unsmob (smob); (void) me->get_property ("direction"); - + if (Semi_tie_column::has_interface (me->get_parent (Y_AXIS))) { me->get_parent (Y_AXIS)->get_property ("positioning-done"); } else { - programming_error ("lv tie without Semi_tie_column. Killing lv tie."); - me->suicide (); + programming_error ("lv tie without Semi_tie_column. Killing lv tie."); + me->suicide (); } return me->get_property_data ("control-points"); @@ -51,14 +73,14 @@ Semi_tie::calc_control_points (SCM smob) int Semi_tie::get_position (Grob *me) { - Grob *h = unsmob_grob (me->get_object ("note-head")); + Grob *h = Grob::unsmob (me->get_object ("note-head")); return (int) rint (Staff_symbol_referencer::get_position (h)); } bool Semi_tie::less (Grob *const &s1, - Grob *const &s2) + Grob *const &s2) { return get_position (s1) < get_position (s2); } - +