From c9446aa1e1ce53fae29591bc3797382ad686eca6 Mon Sep 17 00:00:00 2001 From: Colin Fletcher Date: Mon, 18 Apr 2022 16:56:36 +0100 Subject: [PATCH] gtk2_ardour: set region marks into currently recording regions Region actions are generally set insensitive whilst recording, so special-case the "add-region-cue-marker" action by explicitly enabling it when starting to roll in record. Additionally, the action becomes disabled again after it's been executed, so re-enable it after queuing the cue when recording. --- gtk2_ardour/ardour_ui.cc | 1 + gtk2_ardour/editor_ops.cc | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/gtk2_ardour/ardour_ui.cc b/gtk2_ardour/ardour_ui.cc index 884685d605..f5122f8a51 100644 --- a/gtk2_ardour/ardour_ui.cc +++ b/gtk2_ardour/ardour_ui.cc @@ -1812,6 +1812,7 @@ ARDOUR_UI::transport_record (bool roll) } _session->maybe_enable_record (); if (roll) { + ActionManager::get_action (X_("Region"), X_("add-region-cue-marker"))->set_sensitive(true); transport_roll (); } break; diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 6b7ea0197c..7f564e3297 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -9042,6 +9042,13 @@ Editor::add_region_marker () return; } + if (_session->actively_recording ()) { + CueMarker mark (str, position); + std::cerr << "queuing cue " << str << " at " << position << "\n"; + _session->pending_source_markers.insert (mark); + ActionManager::get_action (X_("Region"), X_("add-region-cue-marker"))->set_sensitive(true); + return; + } bool in_command = false;