diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2013-07-15 15:04:01 -0400 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2013-07-15 15:04:01 -0400 |
commit | 0c641f684712cfe666ea5524870600cae0cc3af3 (patch) | |
tree | c7abc6857a178744ed86f995483bfd34d774a203 | |
parent | d80f672e8487f459d76ab291958bffcded08f0fd (diff) | |
parent | 08e6dcde7621c309f3abc2779a196b2b86f19060 (diff) |
Merge branch 'apple' of https://github.com/mfisher31/ardour
-rw-r--r-- | gtk2_ardour/startup.cc | 34 | ||||
-rw-r--r-- | libs/ardour/lv2_plugin.cc | 51 |
2 files changed, 50 insertions, 35 deletions
diff --git a/gtk2_ardour/startup.cc b/gtk2_ardour/startup.cc index ca598ba949..e7edf5e995 100644 --- a/gtk2_ardour/startup.cc +++ b/gtk2_ardour/startup.cc @@ -189,33 +189,33 @@ ArdourStartup::ready_without_display () const void ArdourStartup::setup_prerelease_page () { - VBox* vbox = manage (new VBox); - Label* label = manage (new Label); - label->set_markup (_("<b>Welcome to this BETA release of Ardour 3.0</b>\n\n\ -Ardour 3.0 has been released for Linux but because of the lack of testers,\n\ + VBox* vbox = manage (new VBox); + Label* label = manage (new Label); + label->set_markup (string_compose (_("<b>Welcome to this BETA release of Ardour %1</b>\n\n\ +Ardour %1 has been released for Linux but because of the lack of testers,\n\ it is still at the beta stage on OS X. So, a few guidelines:\n\ \n\ 1) Please do <b>NOT</b> use this software with the expectation that it is stable or reliable\n\ though it may be so, depending on your workflow.\n\ -3) <b>Please do NOT use the forums at ardour.org to report issues</b>.\n\ -4) Please <b>DO</b> use the bugtracker at http://tracker.ardour.org/ to report issues\n\ - making sure to note the product version number as 3.0-beta.\n\ -5) Please <b>DO</b> use the ardour-users mailing list to discuss ideas and pass on comments.\n\ -6) Please <b>DO</b> join us on IRC for real time discussions about ardour3. You\n\ +2) <b>Please do NOT use the forums at ardour.org to report issues</b>.\n\ +3) Please <b>DO</b> use the bugtracker at http://tracker.ardour.org/ to report issues\n\ + making sure to note the product version number as %1-beta.\n\ +4) Please <b>DO</b> use the ardour-users mailing list to discuss ideas and pass on comments.\n\ +5) Please <b>DO</b> join us on IRC for real time discussions about ardour3. You\n\ can get there directly from Ardour via the Help->Chat menu option.\n\ \n\ Full information on all the above can be found on the support page at\n\ \n\ http://ardour.org/support\n\ -")); - - vbox->set_border_width (12); - vbox->pack_start (*label, false, false, 12); - vbox->show_all (); +"), VERSIONSTRING)); - append_page (*vbox); - set_page_type (*vbox, ASSISTANT_PAGE_CONTENT); - set_page_title (*vbox, _("This is a BETA RELEASE")); + vbox->set_border_width (12); + vbox->pack_start (*label, false, false, 12); + vbox->show_all (); + + append_page (*vbox); + set_page_type (*vbox, ASSISTANT_PAGE_CONTENT); + set_page_title (*vbox, _("This is a BETA RELEASE")); set_page_complete (*vbox, true); } diff --git a/libs/ardour/lv2_plugin.cc b/libs/ardour/lv2_plugin.cc index d49f8412b7..df33e6c38d 100644 --- a/libs/ardour/lv2_plugin.cc +++ b/libs/ardour/lv2_plugin.cc @@ -112,6 +112,8 @@ public: LV2World (); ~LV2World (); + void load_bundled_plugins(); + LilvWorld* world; LilvNode* atom_AtomPort; @@ -140,6 +142,9 @@ public: LilvNode* time_Position; LilvNode* ui_GtkUI; LilvNode* ui_external; + +private: + bool _bundle_checked; }; static LV2World _world; @@ -1903,27 +1908,10 @@ static bool lv2_filter (const string& str, void *arg) LV2World::LV2World() : world(lilv_world_new()) + , _bundle_checked(false) { lilv_world_load_all(world); - cout << "Scanning folders for bundled LV2s: " << ARDOUR::lv2_bundled_search_path().to_string() << endl; - PathScanner scanner; - vector<string *> *plugin_objects = scanner (ARDOUR::lv2_bundled_search_path().to_string(), lv2_filter, 0, true, true); - if (plugin_objects) { - for ( vector<string *>::iterator x = plugin_objects->begin(); x != plugin_objects->end (); ++x) { -#ifdef WINDOWS - string uri = "file:///" + **x + "/"; -#else - string uri = "file://" + **x + "/"; -#endif - LilvNode *node = lilv_new_uri(world, uri.c_str()); - lilv_world_load_bundle(world, node); - lilv_node_free(node); - } - } - delete (plugin_objects); - - atom_AtomPort = lilv_new_uri(world, LV2_ATOM__AtomPort); atom_Chunk = lilv_new_uri(world, LV2_ATOM__Chunk); atom_Sequence = lilv_new_uri(world, LV2_ATOM__Sequence); @@ -1982,6 +1970,31 @@ LV2World::~LV2World() lilv_node_free(atom_AtomPort); } +void +LV2World::load_bundled_plugins() +{ + if (!_bundle_checked) { + cout << "Scanning folders for bundled LV2s: " << ARDOUR::lv2_bundled_search_path().to_string() << endl; + PathScanner scanner; + vector<string *> *plugin_objects = scanner (ARDOUR::lv2_bundled_search_path().to_string(), lv2_filter, 0, true, true); + if (plugin_objects) { + for ( vector<string *>::iterator x = plugin_objects->begin(); x != plugin_objects->end (); ++x) { +#ifdef WINDOWS + string uri = "file:///" + **x + "/"; +#else + string uri = "file://" + **x + "/"; +#endif + LilvNode *node = lilv_new_uri(world, uri.c_str()); + lilv_world_load_bundle(world, node); + lilv_node_free(node); + } + } + delete (plugin_objects); + + _bundle_checked = true; + } +} + LV2PluginInfo::LV2PluginInfo (const void* c_plugin) : _c_plugin(c_plugin) { @@ -2013,6 +2026,8 @@ LV2PluginInfo::load(Session& session) PluginInfoList* LV2PluginInfo::discover() { + _world.load_bundled_plugins(); + PluginInfoList* plugs = new PluginInfoList; const LilvPlugins* plugins = lilv_world_get_all_plugins(_world.world); |