/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1997--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1997--2015 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
protected:
void stop_translation_timestep ();
- DECLARE_TRANSLATOR_LISTENER (alternative);
- DECLARE_ACKNOWLEDGER (break_alignment);
+ void listen_alternative (Stream_event *);
+ void acknowledge_break_alignment (Grob_info);
void process_music ();
void create_items ();
TRANSLATOR_DECLARATIONS (Bar_number_engraver);
};
-IMPLEMENT_TRANSLATOR_LISTENER (Bar_number_engraver, alternative);
void
Bar_number_engraver::listen_alternative (Stream_event *ev)
{
alternative_event_ = ev;
int current_barnumber = robust_scm2int (get_property ("currentBarNumber"), 0);
Direction alternative_dir = robust_scm2dir (ev->get_property ("alternative-dir"), CENTER);
- bool make_alternative = get_property ("alternativeNumberingStyle") == ly_symbol2scm ("numbers")
- || get_property ("alternativeNumberingStyle") == ly_symbol2scm ("numbers-with-letters");
+ bool make_alternative = scm_is_eq (get_property ("alternativeNumberingStyle"),
+ ly_symbol2scm ("numbers"))
+ || scm_is_eq (get_property ("alternativeNumberingStyle"),
+ ly_symbol2scm ("numbers-with-letters"));
if (make_alternative)
{
/*
create_items ();
SCM alternative_style = get_property ("alternativeNumberingStyle");
string text_tag = "";
- if (alternative_style == ly_symbol2scm ("numbers-with-letters"))
+ if (scm_is_eq (alternative_style, ly_symbol2scm ("numbers-with-letters")))
{
if (alternative_event_)
{
text_ = make_item ("BarNumber", SCM_EOL);
}
-ADD_ACKNOWLEDGER (Bar_number_engraver, break_alignment);
+
+void
+Bar_number_engraver::boot ()
+{
+ ADD_LISTENER (Bar_number_engraver, alternative);
+ ADD_ACKNOWLEDGER (Bar_number_engraver, break_alignment);
+}
ADD_TRANSLATOR (Bar_number_engraver,
/* doc */