source file of the GNU LilyPond music typesetter
- (c) 2000--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 2000--2009 Han-Wen Nienhuys <hanwen@xs4all.nl>
*/
#include "engraver.hh"
#include "context.hh"
#include "repeated-music.hh"
+#include "translator.icc"
+
/*
Objective:
TRANSLATOR_DECLARATIONS (Repeat_acknowledge_engraver);
protected:
- virtual void start_translation_timestep ();
- virtual void process_music ();
+ void start_translation_timestep ();
+ void process_music ();
virtual void initialize ();
};
void
Repeat_acknowledge_engraver::start_translation_timestep ()
{
- Context *tr = context ()->where_defined (ly_symbol2scm ("repeatCommands"));
+ SCM rc;
+ Context *tr = context ()->where_defined (ly_symbol2scm ("repeatCommands"), &rc);
if (!tr)
tr = context ();
SCM cs = get_property ("repeatCommands");
- String s = "";
+ string s = "";
bool start = false;
bool end = false;
bool volta_found = false;
}
if (start && end)
- s = ":|:";
+ s = robust_scm2string (get_property ("doubleRepeatType"), ":|:");
else if (start)
s = "|:";
else if (end)
if (!scm_is_string (wb) || ly_is_equal (db, wb))
{
if (s != "" || (volta_found && !scm_is_string (wb)))
- {
- context ()->set_property ("whichBar", scm_makfrom0str (s.to_str0 ()));
- }
+ context ()->set_property ("whichBar", ly_string2scm (s));
}
}
ADD_TRANSLATOR (Repeat_acknowledge_engraver,
- /* descr */ "Acknowledge repeated music, and convert the contents of "
- "repeatCommands ainto an appropriate setting for whichBar.",
- /* creats*/ "",
- /* accepts */ "",
- /* acks */ "",
- /* reads */ "repeatCommands whichBar",
- /* write */ "");
+ /* doc */
+ "Acknowledge repeated music, and convert the contents of"
+ " @code{repeatCommands} into an appropriate setting for"
+ " @code{whichBar}.",
+
+ /* create */
+ "",
+
+ /* read */
+ "doubleRepeatType "
+ "repeatCommands "
+ "whichBar ",
+
+ /* write */
+ ""
+ );