X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fgrace-engraver.cc;h=1ebc6c9a7432987ad49f4768632d7e4caf40628b;hb=refs%2Fheads%2Fdebian;hp=2b02020f62314526d4b93ddec861cf3f5fd91622;hpb=2909349bdbefbf880fa9c8c47ba2eddf9f9855ca;p=lilypond.git diff --git a/lily/grace-engraver.cc b/lily/grace-engraver.cc index 2b02020f62..1ebc6c9a74 100644 --- a/lily/grace-engraver.cc +++ b/lily/grace-engraver.cc @@ -1,9 +1,20 @@ /* - grace-engraver.cc -- implement Grace_engraver + This file is part of LilyPond, the GNU music typesetter. - source file of the GNU LilyPond music typesetter + Copyright (C) 2004--2012 Han-Wen Nienhuys - (c) 2004--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 "engraver.hh" @@ -43,15 +54,15 @@ Grace_engraver::consider_change_grace_settings () if (last_moment_.grace_part_ && !now.grace_part_) { for (SCM s = grace_settings_; scm_is_pair (s); s = scm_cdr (s)) - { - SCM context = scm_caar (s); - SCM entry = scm_cdar (s); - SCM grob = scm_cadr (entry); - SCM sym = scm_caddr (entry); + { + SCM context = scm_caar (s); + SCM entry = scm_cdar (s); + SCM grob = scm_cadr (entry); + SCM sym = scm_caddr (entry); - execute_pushpop_property (unsmob_context (context), - grob, sym, SCM_UNDEFINED); - } + execute_pushpop_property (unsmob_context (context), + grob, sym, SCM_UNDEFINED); + } grace_settings_ = SCM_EOL; } @@ -61,30 +72,28 @@ Grace_engraver::consider_change_grace_settings () grace_settings_ = SCM_EOL; for (SCM s = settings; scm_is_pair (s); s = scm_cdr (s)) - { - SCM entry = scm_car (s); - SCM context_name = scm_car (entry); - SCM grob = scm_cadr (entry); - SCM sym = scm_caddr (entry); - SCM val = scm_cadr (scm_cddr (entry)); - - Context *c = context (); - while (c && !c->is_alias (context_name)) - c = c->get_parent_context (); - - if (c) - { - execute_pushpop_property (c, - grob, sym, val); - grace_settings_ - = scm_cons (scm_cons (c->self_scm (), entry), grace_settings_); - } - else - { - programming_error ("cannot find context: "); - scm_display (context_name, scm_current_error_port ()); - } - } + { + SCM entry = scm_car (s); + SCM context_name = scm_car (entry); + SCM grob = scm_cadr (entry); + SCM sym = scm_caddr (entry); + SCM val = scm_cadr (scm_cddr (entry)); + + Context *c = context (); + while (c && !c->is_alias (context_name)) + c = c->get_parent_context (); + + if (c) + { + execute_pushpop_property (c, + grob, sym, val); + grace_settings_ + = scm_cons (scm_cons (c->self_scm (), entry), grace_settings_); + } + else + programming_error ("cannot find context from graceSettings: " + + ly_symbol2string (context_name)); + } } last_moment_ = now_mom (); @@ -106,15 +115,15 @@ Grace_engraver::start_translation_timestep () #include "translator.icc" ADD_TRANSLATOR (Grace_engraver, - /* doc */ - "Set font size and other properties for grace notes.", + /* doc */ + "Set font size and other properties for grace notes.", - /* create */ - "", + /* create */ + "", - /* read */ - "graceSettings ", + /* read */ + "graceSettings ", - /* write */ - "" - ); + /* write */ + "" + );