+
+ if (have_compound_regions) {
+ _region_actions->get_action("uncombine-regions")->set_sensitive (true);
+ } else {
+ _region_actions->get_action("uncombine-regions")->set_sensitive (false);
+ }
+
+ if (have_audio) {
+
+ if (have_envelope_visible && !have_envelope_invisible) {
+ Glib::RefPtr<ToggleAction>::cast_dynamic (_region_actions->get_action("toggle-region-gain-envelope-visible"))->set_active ();
+ } else if (have_envelope_visible && have_envelope_invisible) {
+// _region_actions->get_action("toggle-region-gain-envelope-visible")->set_inconsistent ();
+ }
+
+ if (have_envelope_active && !have_envelope_inactive) {
+ Glib::RefPtr<ToggleAction>::cast_dynamic (_region_actions->get_action("toggle-region-gain-envelope-active"))->set_active ();
+ } else if (have_envelope_active && have_envelope_inactive) {
+// _region_actions->get_action("toggle-region-gain-envelope-active")->set_inconsistent ();
+ }
+
+ } else {
+
+ _region_actions->get_action("analyze-region")->set_sensitive (false);
+ _region_actions->get_action("reset-region-gain-envelopes")->set_sensitive (false);
+ _region_actions->get_action("toggle-region-gain-envelope-visible")->set_sensitive (false);
+ _region_actions->get_action("toggle-region-gain-envelope-active")->set_sensitive (false);
+ _region_actions->get_action("pitch-shift-region")->set_sensitive (false);
+
+ }
+
+ if (!have_non_unity_scale_amplitude || !have_audio) {
+ _region_actions->get_action("reset-region-scale-amplitude")->set_sensitive (false);
+ }
+
+ Glib::RefPtr<ToggleAction>::cast_dynamic (_region_actions->get_action("toggle-region-lock"))->set_active (have_locked && !have_unlocked);
+ if (have_locked && have_unlocked) {
+// _region_actions->get_action("toggle-region-lock")->set_inconsistent ();
+ }
+
+ Glib::RefPtr<ToggleAction>::cast_dynamic (_region_actions->get_action("toggle-region-lock-style"))->set_active (have_position_lock_style_music && !have_position_lock_style_audio);
+
+ if (have_position_lock_style_music && have_position_lock_style_audio) {
+// _region_actions->get_action("toggle-region-lock-style")->set_inconsistent ();
+ }
+
+ Glib::RefPtr<ToggleAction>::cast_dynamic (_region_actions->get_action("toggle-region-mute"))->set_active (have_muted && !have_unmuted);
+ if (have_muted && have_unmuted) {
+// _region_actions->get_action("toggle-region-mute")->set_inconsistent ();
+ }
+
+ Glib::RefPtr<ToggleAction>::cast_dynamic (_region_actions->get_action("toggle-opaque-region"))->set_active (have_opaque && !have_non_opaque);
+ if (have_opaque && have_non_opaque) {
+// _region_actions->get_action("toggle-opaque-region")->set_inconsistent ();
+ }
+
+ if (!have_not_at_natural_position) {
+ _region_actions->get_action("naturalize-region")->set_sensitive (false);
+ }
+
+ /* XXX: should also check that there is a track of the appropriate type for the selected region */
+ if (_edit_point == EditAtMouse || _regions->get_single_selection() == 0 || selection->tracks.empty()) {
+ _region_actions->get_action("insert-region-from-region-list")->set_sensitive (false);
+ } else {
+ _region_actions->get_action("insert-region-from-region-list")->set_sensitive (true);
+ }
+
+ _ignore_region_action = false;
+
+ _all_region_actions_sensitized = false;