Make coverage frames work slightly better; jury is still out on whether they are any use, I think.

git-svn-id: svn://localhost/ardour2/branches/3.0@11121 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Carl Hetherington 2011-12-30 21:56:11 +00:00
parent dd53e7284a
commit b5b921d820
2 changed files with 9 additions and 11 deletions

View File

@ -779,8 +779,8 @@ RegionView::update_coverage_frames (LayerDisplay d)
ArdourCanvas::SimpleRect* cr = 0;
bool me = false;
uint32_t const color = frame->property_fill_color_rgba ();
uint32_t const base_alpha = UINT_RGBA_A (color);
/* the color that will be used to show parts of regions that will not be heard */
uint32_t non_playing_color = RGBA_TO_UINT (32, 32, 32, 192);
while (t < end) {
@ -802,12 +802,11 @@ RegionView::update_coverage_frames (LayerDisplay d)
cr->property_y1() = 1;
cr->property_y2() = _height + 1;
cr->property_outline_pixels() = 0;
/* areas that will be played get a lower alpha */
uint32_t alpha = base_alpha;
if (new_me) {
alpha /= 2;
cr->property_fill_color_rgba () = UINT_RGBA_CHANGE_A (non_playing_color, 0);
} else {
cr->property_fill_color_rgba () = non_playing_color;
}
cr->property_fill_color_rgba () = UINT_RGBA_CHANGE_A (color, alpha);
}
t = pl->find_next_region_boundary (t, 1);

View File

@ -324,21 +324,20 @@ StreamView::playlist_switched (boost::weak_ptr<Track> wtr)
playlist_connections.drop_connections ();
undisplay_track ();
/* draw it */
redisplay_track ();
/* update layers count and the y positions and heights of our regions */
_layers = tr->playlist()->top_layer() + 1;
update_contents_height ();
update_coverage_frames ();
/* draw it */
redisplay_track ();
/* catch changes */
tr->playlist()->LayeringChanged.connect (playlist_connections, invalidator (*this), boost::bind (&StreamView::playlist_layered, this, boost::weak_ptr<Track> (tr)), gui_context());
tr->playlist()->RegionAdded.connect (playlist_connections, invalidator (*this), ui_bind (&StreamView::add_region_view, this, _1), gui_context());
tr->playlist()->RegionRemoved.connect (playlist_connections, invalidator (*this), ui_bind (&StreamView::remove_region_view, this, _1), gui_context());
tr->playlist()->ContentsChanged.connect (playlist_connections, invalidator (*this), ui_bind (&StreamView::update_coverage_frames, this), gui_context());
}
void