summaryrefslogtreecommitdiff
path: root/gtk2_ardour/time_axis_view.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-01-09 02:36:47 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-01-09 02:36:47 +0000
commitca2f505ec16f69ef1b5090e48b93f7ded6ae795a (patch)
treebfc484be20fa577b0e5754f1bac0c6a49e80db6c /gtk2_ardour/time_axis_view.cc
parentc115b3d71c47f5bac7fa59de3c97918e764658bd (diff)
lots of debug code still in place, but get a much improved structure for MIDI automation menus actually working. tweaks to follow
git-svn-id: svn://localhost/ardour2/branches/3.0@6470 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/time_axis_view.cc')
-rw-r--r--gtk2_ardour/time_axis_view.cc24
1 files changed, 24 insertions, 0 deletions
diff --git a/gtk2_ardour/time_axis_view.cc b/gtk2_ardour/time_axis_view.cc
index c797389b87..dba5e580fc 100644
--- a/gtk2_ardour/time_axis_view.cc
+++ b/gtk2_ardour/time_axis_view.cc
@@ -89,6 +89,7 @@ TimeAxisView::TimeAxisView (ARDOUR::Session* sess, PublicEditor& ed, TimeAxisVie
}
_canvas_background = new Group (*ed.get_background_group (), 0.0, 0.0);
_canvas_display = new Group (*ed.get_trackview_group (), 0.0, 0.0);
+ _canvas_display->hide(); // reveal as needed
selection_group = new Group (*_canvas_display);
selection_group->hide();
@@ -266,10 +267,15 @@ TimeAxisView::show_at (double y, int& nth, VBox *parent)
/* now show children */
+ cerr << name() << " has " << children.size() << " to show\n";
+
for (Children::iterator i = children.begin(); i != children.end(); ++i) {
if (canvas_item_visible ((*i)->_canvas_display)) {
++nth;
_effective_height += (*i)->show_at (y + _effective_height, nth, parent);
+ cerr << "\tshowed " << (*i)->name() << " as " << nth << endl;
+ } else {
+ cerr << "\t" << (*i)->name() << " has an invisible canvas display\n";
}
}
@@ -282,9 +288,11 @@ TimeAxisView::clip_to_viewport ()
if (_marked_for_display) {
if (_y_position + _effective_height < _editor.get_trackview_group_vertical_offset () || _y_position > _editor.get_trackview_group_vertical_offset () + _canvas_display->get_canvas()->get_height()) {
_canvas_background->hide ();
+ cerr << "Clip hides canvas display for " << name() << endl;
_canvas_display->hide ();
return;
}
+ cerr << "Clip shows canvas display for " << name() << endl;
_canvas_background->show ();
_canvas_display->show ();
}
@@ -1357,3 +1365,19 @@ TimeAxisView::resizer_expose (GdkEventExpose* event)
return true;
}
+bool
+TimeAxisView::set_visibility (bool yn)
+{
+ if (yn != marked_for_display()) {
+ if (yn) {
+ set_marked_for_display (true);
+ canvas_display()->show();
+ } else {
+ set_marked_for_display (false);
+ canvas_display()->hide ();
+ }
+ return true; // things changed
+ }
+
+ return false;
+}