X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fgrace-music.cc;h=13835c802778b7ee9fa7a35e5fb0475d3114f2fe;hb=d53c83975e6d5a913b6eb88f1e26b83754721f4c;hp=8fd0ff0d0b8c6cb0ab8da2346de6cec0bf2b8dd3;hpb=20091095d3ac112fa0d0c55c8e2b8092584be4b2;p=lilypond.git diff --git a/lily/grace-music.cc b/lily/grace-music.cc index 8fd0ff0d0b..13835c8027 100644 --- a/lily/grace-music.cc +++ b/lily/grace-music.cc @@ -1,49 +1,37 @@ -/* - grace-music.cc -- implement Grace_music - - source file of the GNU LilyPond music typesetter - - (c) 1999--2001 Han-Wen Nienhuys - - */ +/* + This file is part of LilyPond, the GNU music typesetter. -#include "grace-music.hh" -#include "grace-iterator.hh" + Copyright (C) 1999--2011 Han-Wen Nienhuys -void -Grace_music::compress (Moment m) -{ - Music_wrapper::compress (m); -} + 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. -Moment -Grace_music::length_mom () const -{ - Moment m ; - return m; -} + 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 . +*/ -Moment -Grace_music::start_mom () const -{ - Moment l = Music_wrapper::length_mom (); - Moment gl; - gl.grace_part_ = -(l.main_part_ + l.grace_part_ ); - return gl; -} +#include "music.hh" +#include "music-wrapper.hh" -Grace_music::Grace_music () +class Grace_music { - set_mus_property ("iterator-ctor", - Grace_iterator::constructor_cxx_function); -} +public: + DECLARE_SCHEME_CALLBACK (start_callback, (SCM)); +}; -Grace_music::Grace_music (SCM p) - : Music_wrapper (p) +MAKE_SCHEME_CALLBACK (Grace_music, start_callback, 1); +SCM +Grace_music::start_callback (SCM m) { - set_mus_property ("iterator-ctor", - Grace_iterator::constructor_cxx_function); + Moment *l = unsmob_moment (Music_wrapper::length_callback (m)); + Moment gl; + gl.grace_part_ = -(l->main_part_ + l->grace_part_); + return gl.smobbed_copy (); } - -ADD_MUSIC (Grace_music);