_end = _session->current_end_frame() + session_length * _overhang_fraction;
/* compute track height */
- size_t const N = _editor->track_views.size ();
+ int N = 0;
+ for (TrackViewList::const_iterator i = _editor->track_views.begin(); i != _editor->track_views.end(); ++i) {
+ if (!(*i)->hidden()) {
+ ++N;
+ }
+ }
+
if (N == 0) {
_track_height = 16;
} else {
double y = 0;
for (TrackViewList::const_iterator i = _editor->track_views.begin(); i != _editor->track_views.end(); ++i) {
+ if ((*i)->hidden()) {
+ continue;
+ }
+
cairo_set_source_rgb (cr, 0.2, 0.2, 0.2);
cairo_set_line_width (cr, _track_height - 2);
cairo_move_to (cr, 0, y + _track_height / 2);
double ey = 0;
TrackViewList::const_iterator i = _editor->track_views.begin ();
while (i != _editor->track_views.end()) {
+
+ if ((*i)->hidden()) {
+ ++i;
+ continue;
+ }
+
double const h = (*i)->effective_height ();
if (y < _track_height) {
/* in this track */
double sy = 0;
TrackViewList::const_iterator i = _editor->track_views.begin ();
while (i != _editor->track_views.end()) {
+
+ if ((*i)->hidden()) {
+ ++i;
+ continue;
+ }
+
double const h = (*i)->effective_height ();
if (y < h) {
/* in this track */