+ Menu* units_menu = manage (new Menu);
+ MenuList& units_items = units_menu->items();
+ RadioMenuItem::Group units_group;
+
+ units_items.push_back (RadioMenuElem (units_group, _("Percent"), sigc::bind (sigc::mem_fun (*this, &ShuttleControl::set_shuttle_units), Percentage)));
+ if (Config->get_shuttle_units() == Percentage) {
+ static_cast<RadioMenuItem*>(&units_items.back())->set_active();
+ }
+ units_items.push_back (RadioMenuElem (units_group, _("Semitones"), sigc::bind (sigc::mem_fun (*this, &ShuttleControl::set_shuttle_units), Semitones)));
+ if (Config->get_shuttle_units() == Semitones) {
+ static_cast<RadioMenuItem*>(&units_items.back())->set_active();
+ }
+ items.push_back (MenuElem (_("Units"), *units_menu));
+
+ Menu* style_menu = manage (new Menu);
+ MenuList& style_items = style_menu->items();
+ RadioMenuItem::Group style_group;
+
+ style_items.push_back (RadioMenuElem (style_group, _("Sprung"), sigc::bind (sigc::mem_fun (*this, &ShuttleControl::set_shuttle_style), Sprung)));
+ if (Config->get_shuttle_behaviour() == Sprung) {
+ static_cast<RadioMenuItem*>(&style_items.back())->set_active();
+ }
+ style_items.push_back (RadioMenuElem (style_group, _("Wheel"), sigc::bind (sigc::mem_fun (*this, &ShuttleControl::set_shuttle_style), Wheel)));
+ if (Config->get_shuttle_behaviour() == Wheel) {
+ static_cast<RadioMenuItem*>(&style_items.back())->set_active();
+ }
+
+ items.push_back (MenuElem (_("Mode"), *style_menu));
+
+ RadioMenuItem::Group speed_group;