From 280fdb6e62a2afb37e5c64149fe6262962fb62c8 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Thu, 6 Jun 2024 23:46:03 -0600 Subject: [PATCH] virtualize EditingContext::midi_action() so that MidiCueEditor works This makes MIDI bindings work in the cue editor, as intended. --- gtk2_ardour/editing_context.h | 2 +- gtk2_ardour/midi_cue_editor.cc | 10 ++++++++++ gtk2_ardour/midi_cue_editor.h | 2 ++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gtk2_ardour/editing_context.h b/gtk2_ardour/editing_context.h index f6a4d38793..bef1683761 100644 --- a/gtk2_ardour/editing_context.h +++ b/gtk2_ardour/editing_context.h @@ -341,7 +341,7 @@ public: ARDOUR::Quantize* get_quantize_op (); void apply_midi_note_edit_op (ARDOUR::MidiOperator& op, const RegionSelection& rs); PBD::Command* apply_midi_note_edit_op_to_region (ARDOUR::MidiOperator& op, MidiView& mrv); - void midi_action (void (MidiView::*method)()); + virtual void midi_action (void (MidiView::*method)()); std::vector filter_to_unique_midi_region_views (RegionSelection const & ms) const; void quantize_region (); diff --git a/gtk2_ardour/midi_cue_editor.cc b/gtk2_ardour/midi_cue_editor.cc index 31a91d4b6f..55b380365e 100644 --- a/gtk2_ardour/midi_cue_editor.cc +++ b/gtk2_ardour/midi_cue_editor.cc @@ -1408,3 +1408,13 @@ MidiCueEditor::visual_changer (const VisualChange& vc) // XXX redisplay_grid (true); } } + +void +MidiCueEditor::midi_action (void (MidiView::*method)()) +{ + if (!view) { + return; + } + + (view->*method) (); +} diff --git a/gtk2_ardour/midi_cue_editor.h b/gtk2_ardour/midi_cue_editor.h index a62aabd84e..d04093576e 100644 --- a/gtk2_ardour/midi_cue_editor.h +++ b/gtk2_ardour/midi_cue_editor.h @@ -94,6 +94,8 @@ class MidiCueEditor : public CueEditor void maybe_autoscroll (bool, bool, bool); bool autoscroll_active() const; + void midi_action (void (MidiView::*method)()); + protected: void register_actions ();