#include "side-position-interface.hh"
#include "axis-group-interface.hh"
#include "align-interface.hh"
+#include "text-interface.hh"
+#include "system.hh"
#include "translator.icc"
SCM long_text = get_property ("instrument");
SCM short_text = get_property ("instr");
- if (! (scm_is_string (long_text)
- || scm_is_string (short_text)))
+ if (!(Text_interface::is_markup (long_text)
+ || Text_interface::is_markup (short_text)))
{
long_text = get_property ("vocalName");
short_text = get_property ("vocNam");
}
- if (scm_is_string (long_text)
- || scm_is_string (short_text))
+ if (Text_interface::is_markup (long_text)
+ || Text_interface::is_markup (short_text))
{
text_spanner_ = make_spanner ("InstrumentName", SCM_EOL);
- text_spanner_->set_bound (LEFT, unsmob_grob (get_property ("currentCommandColumn")));
+
+ Grob *col = unsmob_grob (get_property ("currentCommandColumn"));
+ text_spanner_->set_bound (LEFT, col);
text_spanner_->set_property ("text", short_text);
text_spanner_->set_property ("long-text", long_text);
}
{
text_spanner_->set_bound (RIGHT,
unsmob_grob (get_property ("currentCommandColumn")));
+
+ Pointer_group_interface::set_ordered (text_spanner_, ly_symbol2scm ("elements"), false);
+
+ System *system = get_root_system (text_spanner_);
+
+ /*
+ UGH, should handle this in Score_engraver.
+ */
+ if (system)
+ Axis_group_interface::add_element (system, text_spanner_);
+ else
+ text_spanner_->programming_error ("can't find root system");
}
}
/* create */
"InstrumentName ",
- /* accept */ "",
+ /* accept */
+ "",
/* read */
"vocNam vocalName instrument instr "