X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fgrace-music.cc;h=8337a0b7f5e2b1bb72ee0b5d126900abec60f45c;hb=97a0169312a260933246ab224e4f8b0969871dd5;hp=9e88f7b835cb21d35933b7e8c969f618c2643b90;hpb=5b6181075e3615dce049711973d3cd5caa60e5db;p=lilypond.git diff --git a/lily/grace-music.cc b/lily/grace-music.cc index 9e88f7b835..8337a0b7f5 100644 --- a/lily/grace-music.cc +++ b/lily/grace-music.cc @@ -1,48 +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--2015 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 l = Music_wrapper::length_mom (); - Moment gl; - gl.grace_mom_ = l.main_part_ + l.grace_mom_ ; - return gl; -} + 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 -{ - return Music::start_mom (); -} +#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 (Music_wrapper::length_callback (m)); + Moment gl; + gl.grace_part_ = -(l->main_part_ + l->grace_part_); + return gl.smobbed_copy (); } - -ADD_MUSIC (Grace_music);