fix up ownership of "region color" which got confused during EditingContext refactor

This commit is contained in:
Paul Davis
2026-01-13 22:46:16 -07:00
parent 653468366b
commit 20542439e7
7 changed files with 11 additions and 12 deletions

View File

@@ -111,14 +111,14 @@ AudioStreamView::create_region_view (std::shared_ptr<Region> r, bool wait_for_wa
case Normal:
if (recording) {
region_view = new AudioRegionView (_region_group, _trackview, region,
_samples_per_pixel, region_color, recording, TimeAxisViewItem::Visibility(
_samples_per_pixel, _region_color, recording, TimeAxisViewItem::Visibility(
TimeAxisViewItem::ShowFrame |
TimeAxisViewItem::HideFrameRight |
TimeAxisViewItem::HideFrameLeft |
TimeAxisViewItem::HideFrameTB));
} else {
region_view = new AudioRegionView (_region_group, _trackview, region,
_samples_per_pixel, region_color);
_samples_per_pixel, _region_color);
}
break;

View File

@@ -113,7 +113,7 @@ AutomationStreamView::add_region_view_internal (std::shared_ptr<Region> region,
region_view = new AutomationRegionView (
_canvas_group, _automation_view, region,
_automation_view.parameter (), list,
_samples_per_pixel, region_color
_samples_per_pixel, _region_color
);
region_view->init (false);

View File

@@ -122,11 +122,11 @@ MidiStreamView::create_region_view (std::shared_ptr<Region> r, bool /*wfd*/, boo
if (recording) {
region_view = new MidiRegionView (
_region_group, _trackview.editor(), _trackview, region,
_samples_per_pixel, StreamView::region_color, recording,
_samples_per_pixel, _region_color, recording,
TimeAxisViewItem::Visibility(TimeAxisViewItem::ShowFrame));
} else {
region_view = new MidiRegionView (_region_group, _trackview.editor(), _trackview, region,
_samples_per_pixel, StreamView::region_color);
_samples_per_pixel, _region_color);
}
region_view->init (false);

View File

@@ -86,8 +86,6 @@ class MidiViewBackground : public virtual ViewBackground
ARDOUR::ColorMode color_mode() const { return _color_mode; }
void set_color_mode (ARDOUR::ColorMode);
Gtkmm2ext::Color region_color() const { return _region_color; }
void set_note_visibility_range_style (VisibleNoteRange r);
VisibleNoteRange visibility_range_style() const { return _visibility_note_range; }
@@ -152,7 +150,6 @@ class MidiViewBackground : public virtual ViewBackground
uint8_t _data_note_max; ///< in data
ArdourCanvas::RectSet* _note_lines;
ARDOUR::NoteMode _note_mode;
Gtkmm2ext::Color _region_color;
ARDOUR::ColorMode _color_mode;
VisibleNoteRange _visibility_note_range;
bool note_range_set;

View File

@@ -365,9 +365,9 @@ StreamView::apply_color (uint32_t color, ColorTarget target)
switch (target) {
case RegionColor:
region_color = color;
_region_color = color;
for (i = region_views.begin(); i != region_views.end(); ++i) {
(*i)->set_color (region_color);
(*i)->set_color (_region_color);
}
break;

View File

@@ -102,7 +102,6 @@ public:
StreamBaseColor
};
uint32_t get_region_color () const { return region_color; }
void apply_color (uint32_t, ColorTarget t);
void apply_color (Gdk::Color const &, ColorTarget t);
@@ -184,7 +183,6 @@ protected:
bool rec_updating;
bool rec_active;
uint32_t region_color; ///< Contained region color
uint32_t stream_base_color; ///< Background color
PBD::ScopedConnectionList playlist_connections;

View File

@@ -47,7 +47,11 @@ class ViewBackground : public sigc::trackable
/** @return y position, or -1 if hidden */
virtual int y_position () const { return 0; }
Gtkmm2ext::Color region_color() const { return _region_color; }
protected:
Gtkmm2ext::Color _region_color;
virtual void update_contents_height () {}
virtual void color_handler () {}
virtual void parameter_changed (std::string const &) {}