summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_summary.cc
diff options
context:
space:
mode:
authorCarl Hetherington <carl@carlh.net>2010-06-15 23:43:51 +0000
committerCarl Hetherington <carl@carlh.net>2010-06-15 23:43:51 +0000
commitbb34b15944ff24ca703a13daac861d7d4377276b (patch)
tree656c1a0816a8c6cd737c4892c8c740e0a933f28a /gtk2_ardour/editor_summary.cc
parentdb98653d2072d24b00495924f5bd3ac381a7a582 (diff)
Stop summary showing hidden tracks.
git-svn-id: svn://localhost/ardour2/branches/3.0@7260 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_summary.cc')
-rw-r--r--gtk2_ardour/editor_summary.cc24
1 files changed, 23 insertions, 1 deletions
diff --git a/gtk2_ardour/editor_summary.cc b/gtk2_ardour/editor_summary.cc
index 3fa379a9b9..ed72799a89 100644
--- a/gtk2_ardour/editor_summary.cc
+++ b/gtk2_ardour/editor_summary.cc
@@ -144,7 +144,13 @@ EditorSummary::render (cairo_t* cr)
_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 {
@@ -163,6 +169,10 @@ EditorSummary::render (cairo_t* cr)
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);
@@ -535,6 +545,12 @@ EditorSummary::summary_y_to_editor (double y) const
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 */
@@ -555,6 +571,12 @@ EditorSummary::editor_y_to_summary (double y) const
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 */