summaryrefslogtreecommitdiff
path: root/gtk2_ardour/audio_time_axis.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2008-02-20 22:05:52 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2008-02-20 22:05:52 +0000
commit0d81f482911237724918d51fa02f136939b4884a (patch)
tree3871cc65deb5db72bac72b7529977c8fd2b104b2 /gtk2_ardour/audio_time_axis.cc
parent8291f6ac5437986a8076f670acd6aee7e2e08155 (diff)
notably speed up startup time by deferring streamview display untl the GUI is idle
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3091 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/audio_time_axis.cc')
-rw-r--r--gtk2_ardour/audio_time_axis.cc18
1 files changed, 15 insertions, 3 deletions
diff --git a/gtk2_ardour/audio_time_axis.cc b/gtk2_ardour/audio_time_axis.cc
index 43cf205981..a6bcabc197 100644
--- a/gtk2_ardour/audio_time_axis.cc
+++ b/gtk2_ardour/audio_time_axis.cc
@@ -75,6 +75,11 @@ using namespace PBD;
using namespace Gtk;
using namespace Editing;
+static gboolean __idler (gpointer arg)
+{
+ ((AudioTimeAxisView*)arg)->first_idle ();
+ return FALSE;
+}
AudioTimeAxisView::AudioTimeAxisView (PublicEditor& ed, Session& sess, boost::shared_ptr<Route> rt, Canvas& canvas)
: AxisView(sess)
@@ -114,16 +119,23 @@ AudioTimeAxisView::AudioTimeAxisView (PublicEditor& ed, Session& sess, boost::sh
/* ask for notifications of any new RegionViews */
_view->RegionViewAdded.connect (mem_fun(*this, &AudioTimeAxisView::region_view_added));
- _view->attach ();
+ g_idle_add (__idler, this);
+ } else {
+ post_construct ();
}
-
- post_construct ();
}
AudioTimeAxisView::~AudioTimeAxisView ()
{
}
+void
+AudioTimeAxisView::first_idle ()
+{
+ _view->attach ();
+ post_construct ();
+}
+
AudioStreamView*
AudioTimeAxisView::audio_view()
{