X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fdouble-percent-repeat-engraver.cc;h=ec927c9eee5e733b117cf805dbb6c9b774dc4c77;hb=b872748c6aa8bb721ced458691b38ac2fac5dfc8;hp=9dcaf333020e48492ea006847bcbb41d1946350d;hpb=c39d188d28fdc84cef8cbaea7b8d6e2fb718c30f;p=lilypond.git diff --git a/lily/double-percent-repeat-engraver.cc b/lily/double-percent-repeat-engraver.cc index 9dcaf33302..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--2014 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.",