summaryrefslogtreecommitdiff
path: root/gtk2_ardour/streamview.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gtk2_ardour/streamview.cc')
-rw-r--r--gtk2_ardour/streamview.cc18
1 files changed, 12 insertions, 6 deletions
diff --git a/gtk2_ardour/streamview.cc b/gtk2_ardour/streamview.cc
index 28905ee45f..2bc70cf997 100644
--- a/gtk2_ardour/streamview.cc
+++ b/gtk2_ardour/streamview.cc
@@ -57,7 +57,6 @@ StreamView::StreamView (RouteTimeAxisView& tv, ArdourCanvas::Group* background_g
, _samples_per_unit (_trackview.editor().get_current_zoom ())
, rec_updating(false)
, rec_active(false)
- , region_color(_trackview.color())
, stream_base_color(0xFFFFFFFF)
, _layers (1)
, _layer_display (Overlaid)
@@ -302,7 +301,7 @@ StreamView::playlist_layered (boost::weak_ptr<Track> wtr)
_layers = tr->playlist()->top_layer() + 1;
}
- if (_layer_display == Stacked) {
+ if (_layer_display == Stacked || _layer_display == Expanded) {
update_contents_height ();
update_coverage_frames ();
} else {
@@ -330,8 +329,6 @@ StreamView::playlist_switched (boost::weak_ptr<Track> wtr)
update_contents_height ();
update_coverage_frames ();
- tr->playlist()->set_explicit_relayering (_layer_display == Stacked);
-
/* draw it */
redisplay_track ();
@@ -569,10 +566,16 @@ StreamView::get_inverted_selectables (Selection& sel, list<Selectable*>& results
double
StreamView::child_height () const
{
- if (_layer_display == Stacked) {
+ switch (_layer_display) {
+ case Overlaid:
+ return height;
+ case Stacked:
return height / _layers;
+ case Expanded:
+ return height / (_layers * 2 + 1);
}
+ /* NOTREACHED */
return height;
}
@@ -589,6 +592,9 @@ StreamView::update_contents_height ()
case Stacked:
(*i)->set_y (height - ((*i)->region()->layer() + 1) * h);
break;
+ case Expanded:
+ (*i)->set_y (height - ((*i)->region()->layer() + 1) * 2 * h);
+ break;
}
(*i)->set_height (h);
@@ -600,6 +606,7 @@ StreamView::update_contents_height ()
i->rectangle->property_y2() = height;
break;
case Stacked:
+ case Expanded:
/* In stacked displays, the recregion is always at the top */
i->rectangle->property_y1() = 0;
i->rectangle->property_y2() = h;
@@ -614,7 +621,6 @@ StreamView::set_layer_display (LayerDisplay d)
_layer_display = d;
update_contents_height ();
update_coverage_frames ();
- _trackview.track()->playlist()->set_explicit_relayering (_layer_display == Stacked);
}
void