- set<Evoral::Parameter> const & params = _route->pannable()->what_can_be_automated ();
- for (set<Evoral::Parameter>::iterator p = params.begin(); p != params.end(); ++p) {
- _main_automation_menu_map[*p] = pan_automation_item;
+ _main_automation_menu_map[Evoral::Parameter(MuteAutomation)] = mute_automation_item;
+
+ if (!pan_tracks.empty()) {
+ automation_items.push_back (CheckMenuElem (_("Pan"), sigc::mem_fun (*this, &AudioTimeAxisView::update_pan_track_visibility)));
+ pan_automation_item = dynamic_cast<Gtk::CheckMenuItem*> (&automation_items.back ());
+ pan_automation_item->set_active ((!for_selection || _editor.get_selection().tracks.size() == 1) &&
+ (!pan_tracks.empty() && string_is_affirmative (pan_tracks.front()->gui_property ("visible"))));
+
+ set<Evoral::Parameter> const & params = _route->pannable()->what_can_be_automated ();
+ for (set<Evoral::Parameter>::const_iterator p = params.begin(); p != params.end(); ++p) {
+ _main_automation_menu_map[*p] = pan_automation_item;
+ }