Merge branch 'apple' of https://github.com/mfisher31/ardour
This commit is contained in:
@@ -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\
|
||||
"));
|
||||
"), VERSIONSTRING));
|
||||
|
||||
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"));
|
||||
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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user