- if ( pitch.size() ) {
- Molecule m(paper()->lookup_l()->fill(Box(
- Interval(0, paper()->note_width()),
- Interval(0,0))));
+ else
+ {
+ style = "";
+ }
+
+ SCM newas = me->get_grob_property ("new-accidentals");
+ Molecule mol;
+ /*
+ SCM lists are stacks, so we work from right to left, ending with
+ the cancellation signature.
+ */
+ int c0p = gh_scm2int (me->get_grob_property ("c0-position"));
+
+ for (SCM s = newas; gh_pair_p (s); s = ly_cdr (s))
+ {
+ SCM what = gh_caar (s);
+ int alter = gh_scm2int (gh_cdar (s));
+ int pos = alteration_pos (what, alter, c0p);
+
+ Molecule m = Font_interface::get_default_font (me)->
+ find_by_name (String ("accidentals-") + style + to_str (alter));
+ m.translate_axis (pos * inter, Y_AXIS);
+ mol.add_at_edge (X_AXIS, LEFT, m, 0);
+ }
+
+ Item *it = dynamic_cast<Item*> (me) ;
+ if (it->break_status_dir () != RIGHT)
+ {
+ SCM old = me->get_grob_property ("old-accidentals");
+
+ /*
+ Add half a space between cancellation and key sig.