From f407d4e3b732fb29a08aa7c38bd25c8143193b80 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sat, 9 Dec 2023 14:07:58 -0700 Subject: [PATCH] ensure that MidiStreamView calls a color handler for each region This allows MIDI regions to auto-update during theme editing --- gtk2_ardour/midi_streamview.cc | 4 ++++ gtk2_ardour/region_view.h | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gtk2_ardour/midi_streamview.cc b/gtk2_ardour/midi_streamview.cc index 93a1d96b48..048887d64e 100644 --- a/gtk2_ardour/midi_streamview.cc +++ b/gtk2_ardour/midi_streamview.cc @@ -567,6 +567,10 @@ MidiStreamView::color_handler () } else { canvas_rect->set_fill_color (UIConfiguration::instance().color ("midi bus base")); } + + for (auto & rv : region_views) { + rv->color_handler (); + } } void diff --git a/gtk2_ardour/region_view.h b/gtk2_ardour/region_view.h index 23321dc2ea..d4b73cff29 100644 --- a/gtk2_ardour/region_view.h +++ b/gtk2_ardour/region_view.h @@ -158,6 +158,8 @@ public: ARDOUR::CueMarker find_model_cue_marker (ArdourMarker*); void drop_cue_marker (ArdourMarker*); + virtual void color_handler() { set_colors(); } + protected: /** Allows derived types to specify their visibility requirements @@ -189,7 +191,6 @@ protected: virtual void set_sync_mark_color (); virtual void reset_width_dependent_items (double pixel_width); - virtual void color_handler () {} virtual void parameter_changed (std::string const&); void maybe_raise_cue_markers ();