X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fgrob-info.cc;h=baa1da427b121a1b78b943f118d4c3137b802fe3;hb=0a0da41d935f7744e7ffd934034f25c40d4c59be;hp=a8f3f4c7b1c5320b1cfa34a2ddb9381fee193c5a;hpb=9f3572d98bb948c9689cd1f75401a029451fa001;p=lilypond.git diff --git a/lily/grob-info.cc b/lily/grob-info.cc index a8f3f4c7b1..baa1da427b 100644 --- a/lily/grob-info.cc +++ b/lily/grob-info.cc @@ -1,24 +1,40 @@ /* - grob-info.cc -- implement Grob_info + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 1997--2009 Han-Wen Nienhuys - (c) 1997--2006 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 "context.hh" #include "grob-info.hh" -#include "grob.hh" +#include "item.hh" #include "music.hh" -#include "translator-group.hh" -#include "context.hh" #include "spanner.hh" -#include "item.hh" +#include "stream-event.hh" +#include "translator-group.hh" Grob_info::Grob_info (Translator *t, Grob *g) { origin_trans_ = t; grob_ = g; start_end_ = START; + + /* + assert here, because this is easier to debug. + */ + assert (g); } Grob_info::Grob_info () @@ -28,11 +44,11 @@ Grob_info::Grob_info () origin_trans_ = 0; } -Music * -Grob_info::music_cause () const +Stream_event * +Grob_info::event_cause () const { SCM cause = grob_->get_property ("cause"); - return unsmob_music (cause); + return unsmob_stream_event (cause); } vector @@ -68,15 +84,13 @@ Grob_info::item () const return dynamic_cast (grob_); } -Music * -Grob_info::ultimate_music_cause () const +Stream_event * +Grob_info::ultimate_event_cause () const { SCM cause = grob_->self_scm (); while (unsmob_grob (cause)) { cause = unsmob_grob (cause)->get_property ("cause"); } - - return unsmob_music (cause); + return unsmob_stream_event (cause); } -