[Ardour-Dev] Problem with pbd/pathscanner ?

John Emmas johne53 at tiscali.co.uk
Tue Sep 22 12:27:30 PDT 2009


Over the past few months I've noticed a few posts from people who complained
about old sessions taking longer to load, after they upgraded Ardour.  Some
of this was put down to problems with peak file generation and a few other
things but I think I've discovered another contibutory factor.

Recently I upgraded to svn 5656 and found my old sessions taking longer to
load.  Eventually I tracked the problem down to this section in function
ARDOUR_UI::install_actions ()  (approx. line 122)

/* <CMT Additions> */
PathScanner scanner;
vector<string*>* results = scanner (getenv ("PATH"), "AniComp", false,
false);

if (results) {
      if (!results->empty()) {
            act = ActionManager::register_action (main_actions,
X_("aniConnect"), _("Connect"),  (mem_fun (*editor,
&PublicEditor::connect_to_image_compositor)));
            ActionManager::session_sensitive_actions.push_back (act);
      }
      delete results;
}

I'm not too sure what the first bit does.  It looks like it might be
searching the user's path for a file (or folder maybe??) called "AniComp".
Anyway, if there are lots of entries in the user's path, that third line
(the one that returns 'results') is taking a lot longer to process than
under previous versions.  So much so, that Ardour can give the appearance of
having hung, just after displaying the message 'Starting audio engine'.

I don't know if that sheds any light on the problem but I compared the same
session when loading with an old copy of Ardour (svn3695) and the old
version was a good 15 to 20 times faster.

John 




More information about the Ardour-Dev mailing list