+ Molecule r = fm->find_by_name ("accordion-accDiscant");
+ m.add_molecule (r);
+ if (reg.left_str (1) == "F")
+ {
+ Molecule d = fm->find_by_name ("accordion-accDot");
+ d.translate_axis (staff_space * 2.5 PT, Y_AXIS);
+ m.add_molecule (d);
+ reg = reg.right_str (reg.length_i ()-1);
+ }
+ int eflag = 0x00;
+ if (reg.left_str (3) == "EEE")
+ {
+ eflag = 0x07;
+ reg = reg.right_str (reg.length_i ()-3);
+ }
+ else if (reg.left_str (2) == "EE")
+ {
+ eflag = 0x05;
+ reg = reg.right_str (reg.length_i ()-2);
+ }
+ else if (reg.left_str (2) == "Eh")
+ {
+ eflag = 0x04;
+ reg = reg.right_str (reg.length_i ()-2);
+ }
+ else if (reg.left_str (1) == "E")
+ {
+ eflag = 0x02;
+ reg = reg.right_str (reg.length_i ()-1);
+ }
+ if (eflag & 0x02)
+ {
+ Molecule d = fm->find_by_name ("accordion-accDot");
+ d.translate_axis (staff_space * 1.5 PT, Y_AXIS);
+ m.add_molecule (d);
+ }
+ if (eflag & 0x04)
+ {
+ Molecule d = fm->find_by_name ("accordion-accDot");
+ d.translate_axis (staff_space * 1.5 PT, Y_AXIS);
+ d.translate_axis (0.8 * staff_space PT, X_AXIS);
+ m.add_molecule (d);
+ }
+ if (eflag & 0x01)
+ {
+ Molecule d = fm->find_by_name ("accordion-accDot");
+ d.translate_axis (staff_space * 1.5 PT, Y_AXIS);
+ d.translate_axis (-0.8 * staff_space PT, X_AXIS);
+ m.add_molecule (d);
+ }
+ if (reg.left_str (2) == "SS")
+ {
+ Molecule d = fm->find_by_name ("accordion-accDot");
+ d.translate_axis (0.5 * staff_space PT, Y_AXIS);
+ d.translate_axis (0.4 * staff_space PT, X_AXIS);
+ m.add_molecule (d);
+ d.translate_axis (-0.8 * staff_space PT, X_AXIS);
+ m.add_molecule (d);
+ reg = reg.right_str (reg.length_i ()-2);
+ }
+ if (reg.left_str (1) == "S")
+ {
+ Molecule d = fm->find_by_name ("accordion-accDot");
+ d.translate_axis (0.5 * staff_space PT, Y_AXIS);
+ m.add_molecule (d);
+ reg = reg.right_str (reg.length_i ()-1);
+ }