X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fgrace-music.cc;h=ffac90114cb52e0ebfb74bf4d3f7755f912f54b0;hb=0b544cfb7332615ef809b71b57ab656741311ae1;hp=8acff1974740e96e0ca539f4a92f672504c590d5;hpb=276413150fbc1eb23354c0bde8bab655b26a937e;p=lilypond.git diff --git a/lily/grace-music.cc b/lily/grace-music.cc index 8acff19747..ffac90114c 100644 --- a/lily/grace-music.cc +++ b/lily/grace-music.cc @@ -1,35 +1,37 @@ -/* - grace-music.cc -- implement Grace_music - - source file of the GNU LilyPond music typesetter - - (c) 1999--2004 Han-Wen Nienhuys - -*/ +/* + This file is part of LilyPond, the GNU music typesetter. -#include "grace-music.hh" + Copyright (C) 1999--2014 Han-Wen Nienhuys -#include "grace-iterator.hh" + 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::get_length () 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 +#include "music.hh" +#include "music-wrapper.hh" + +class Grace_music { - Moment l = Music_wrapper::get_length (); - Moment gl; - gl.grace_part_ = -(l.main_part_ + l.grace_part_ ); - return gl; -} +public: + DECLARE_SCHEME_CALLBACK (start_callback, (SCM)); +}; -Grace_music::Grace_music (SCM x) - : Music_wrapper (x) +MAKE_SCHEME_CALLBACK (Grace_music, start_callback, 1); +SCM +Grace_music::start_callback (SCM m) { + 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);