X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fdouble-percent-repeat-engraver.cc;h=ec927c9eee5e733b117cf805dbb6c9b774dc4c77;hb=b872748c6aa8bb721ced458691b38ac2fac5dfc8;hp=5d775a17561c3ac6067717b1af105ebcaaba732a;hpb=f93e4199873c91ae32f0e84a610d14853dc379df;p=lilypond.git diff --git a/lily/double-percent-repeat-engraver.cc b/lily/double-percent-repeat-engraver.cc index 5d775a1756..ec927c9eee 100644 --- a/lily/double-percent-repeat-engraver.cc +++ b/lily/double-percent-repeat-engraver.cc @@ -1,7 +1,7 @@ /* This file is part of LilyPond, the GNU music typesetter. - Copyright (C) 2011 Neil Puttock + Copyright (C) 2011--2015 Neil Puttock LilyPond is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -38,17 +38,17 @@ protected: // moment (global time) where percent started Moment start_mom_; - DECLARE_TRANSLATOR_LISTENER (double_percent); + void listen_double_percent (Stream_event *); void process_music (); }; -Double_percent_repeat_engraver::Double_percent_repeat_engraver () +Double_percent_repeat_engraver::Double_percent_repeat_engraver (Context *c) + : Engraver (c) { percent_event_ = 0; } -IMPLEMENT_TRANSLATOR_LISTENER (Double_percent_repeat_engraver, double_percent); void Double_percent_repeat_engraver::listen_double_percent (Stream_event *ev) { @@ -73,7 +73,7 @@ Double_percent_repeat_engraver::process_music () percent_event_->self_scm ()); SCM count = percent_event_->get_property ("repeat-count"); - if (count != SCM_EOL && to_boolean (get_property ("countPercentRepeats")) + if (!scm_is_null (count) && to_boolean (get_property ("countPercentRepeats")) && check_repeat_count_visibility (context (), count)) { Item *double_percent_counter @@ -95,6 +95,12 @@ Double_percent_repeat_engraver::process_music () } } +void +Double_percent_repeat_engraver::boot () +{ + ADD_LISTENER (Double_percent_repeat_engraver, double_percent); +} + ADD_TRANSLATOR (Double_percent_repeat_engraver, /* doc */ "Make double measure repeats.",