From f44c37869b946868e77b62f953e75db13dc7a3ee Mon Sep 17 00:00:00 2001
From: Colin Fletcher <colin.m.fletcher@googlemail.com>
Date: Mon, 18 Apr 2022 16:56:36 +0100
Subject: [PATCH 2/2] 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 908b2dfa61..3235b0ac6d 100644
--- a/gtk2_ardour/ardour_ui.cc
+++ b/gtk2_ardour/ardour_ui.cc
@@ -1801,6 +1801,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;
 
-- 
2.30.2

