using namespace Menu_Helpers;
MenuList& items = record_menu->items();
- items.push_back (CheckMenuElem (_("Step Edit"), sigc::mem_fun (*this, &RouteUI::toggle_step_edit)));
+ items.push_back (CheckMenuElem (_("Step Entry"), sigc::mem_fun (*this, &RouteUI::toggle_step_edit)));
step_edit_item = dynamic_cast<CheckMenuItem*> (&items.back());
if (_route->record_enabled()) {
sends_menu->set_name ("ArdourContextMenu");
MenuList& items = sends_menu->items();
- items.push_back (MenuElem(_("Assign all tracks (prefader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_sends), PreFader)));
- items.push_back (MenuElem(_("Assign all tracks (postfader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_sends), PostFader)));
- items.push_back (MenuElem(_("Assign selected tracks (prefader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_selected_sends), PreFader)));
- items.push_back (MenuElem(_("Assign selected tracks (postfader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_selected_sends), PostFader)));
- items.push_back (MenuElem(_("Copy track gains to sends"), sigc::mem_fun (*this, &RouteUI::set_sends_gain_from_track)));
+ items.push_back (
+ MenuElem(_("Assign all tracks (prefader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_sends), PreFader, false))
+ );
+
+ items.push_back (
+ MenuElem(_("Assign all tracks and buses (prefader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_sends), PreFader, true))
+ );
+
+ items.push_back (
+ MenuElem(_("Assign all tracks (postfader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_sends), PostFader, false))
+ );
+
+ items.push_back (
+ MenuElem(_("Assign all tracks and buses (postfader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_sends), PostFader, true))
+ );
+
+ items.push_back (
+ MenuElem(_("Assign selected tracks (prefader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_selected_sends), PreFader, false))
+ );
+
+ items.push_back (
+ MenuElem(_("Assign selected tracks and buses (prefader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_selected_sends), PreFader, true)));
+
+ items.push_back (
+ MenuElem(_("Assign selected tracks (postfader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_selected_sends), PostFader, false))
+ );
+
+ items.push_back (
+ MenuElem(_("Assign selected tracks and buses (postfader)"), sigc::bind (sigc::mem_fun (*this, &RouteUI::create_selected_sends), PostFader, true))
+ );
+
+ items.push_back (MenuElem(_("Copy track/bus gains to sends"), sigc::mem_fun (*this, &RouteUI::set_sends_gain_from_track)));
items.push_back (MenuElem(_("Set sends gain to -inf"), sigc::mem_fun (*this, &RouteUI::set_sends_gain_to_zero)));
items.push_back (MenuElem(_("Set sends gain to 0dB"), sigc::mem_fun (*this, &RouteUI::set_sends_gain_to_unity)));
}
void
-RouteUI::create_sends (Placement p)
+RouteUI::create_sends (Placement p, bool include_buses)
{
- _session->globally_add_internal_sends (_route, p);
+ _session->globally_add_internal_sends (_route, p, include_buses);
}
void
-RouteUI::create_selected_sends (Placement p)
+RouteUI::create_selected_sends (Placement p, bool include_buses)
{
boost::shared_ptr<RouteList> rlist (new RouteList);
TrackSelection& selected_tracks (ARDOUR_UI::instance()->the_editor().get_selection().tracks);
RouteUI* rui;
if ((rtv = dynamic_cast<RouteTimeAxisView*>(*i)) != 0) {
if ((rui = dynamic_cast<RouteUI*>(rtv)) != 0) {
- if (boost::dynamic_pointer_cast<AudioTrack>(rui->route())) {
+ if (include_buses || boost::dynamic_pointer_cast<AudioTrack>(rui->route())) {
rlist->push_back (rui->route());
}
}
--_i_am_the_modifier;
}
- mute_button->set_visual_state (mute_visual_state (_session, _route));
+ mute_button->set_visual_state (mute_visual_state (_session, _route));
}
void
xml_node = new XMLNode ("GUI");
_route->add_extra_xml (*xml_node);
} else {
- /* the Route has one, so it must have been loaded */
- if (Stateful::loading_state_version < 3000) {
+ /* the Route has one; it may have been loaded */
+ if (Stateful::loading_state_version != 0 && Stateful::loading_state_version < 3000) {
/* the GUI extra XML is in 2.X format; we must convert it to the new
format to avoid problems later
*/
}
_route->add_extra_xml (*new_xml_node);
+ xml_node = new_xml_node;
}
}
}
if (route_active_menu_item) {
if (route_active_menu_item->get_active() != (yn = _route->active())) {
- _route->set_active (!yn);
+ _route->set_active (!yn, this);
}
}
}
p.set_title (_("Save As Template"));
p.set_prompt (_("Template name:"));
+ p.add_button (Gtk::Stock::SAVE, Gtk::RESPONSE_ACCEPT);
switch (p.run()) {
case RESPONSE_ACCEPT:
break;
{
if (p == "disable-disarm-during-roll") {
check_rec_enable_sensitivity ();
- } else if (p == "solo-control-is-listen-control") {
- set_button_names ();
- } else if (p == "listen-position") {
+ } else if (p == "use-monitor-bus" || p == "solo-control-is-listen-control" || p == "listen-position") {
set_button_names ();
}
}
_route->set_phase_invert (c, !_route->phase_invert (c));
}
+
+void
+RouteUI::set_invert_sensitive (bool yn)
+{
+ for (list<BindableToggleButton*>::iterator b = _invert_buttons.begin(); b != _invert_buttons.end(); ++b) {
+ (*b)->set_sensitive (yn);
+ }
+}