plugin status fixes from 2.X
git-svn-id: svn://localhost/ardour2/branches/3.0@6539 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
ad4506daad
commit
d3f41d0950
|
@ -86,7 +86,12 @@ class PluginManager : public boost::noncopyable {
|
|||
}
|
||||
|
||||
bool operator<(const PluginStatus& other) const {
|
||||
return other.type < type || other.unique_id < unique_id;
|
||||
if (other.type < type) {
|
||||
return true;
|
||||
} else if (other.type == type && other.unique_id < unique_id) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
};
|
||||
typedef std::set<PluginStatus> PluginStatusList;
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
#include <glibmm/miscutils.h>
|
||||
|
||||
#include "pbd/pathscanner.h"
|
||||
#include "pbd/whitespace.h"
|
||||
|
||||
#include "ardour/ladspa.h"
|
||||
#include "ardour/session.h"
|
||||
|
@ -600,7 +601,7 @@ PluginManager::save_statuses ()
|
|||
break;
|
||||
}
|
||||
|
||||
ofs << ' ' << (*i).unique_id << ' ';
|
||||
ofs << ' ';
|
||||
|
||||
switch ((*i).status) {
|
||||
case Normal:
|
||||
|
@ -613,7 +614,9 @@ PluginManager::save_statuses ()
|
|||
ofs << "Hidden";
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
ofs << ' ';
|
||||
ofs << (*i).unique_id;;
|
||||
ofs << endl;
|
||||
}
|
||||
|
||||
|
@ -630,12 +633,13 @@ PluginManager::load_statuses ()
|
|||
if (!ifs) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
std::string stype;
|
||||
std::string id;
|
||||
std::string sstatus;
|
||||
std::string id;
|
||||
PluginType type;
|
||||
PluginStatusType status;
|
||||
char buf[1024];
|
||||
|
||||
while (ifs) {
|
||||
|
||||
|
@ -644,10 +648,6 @@ PluginManager::load_statuses ()
|
|||
break;
|
||||
|
||||
}
|
||||
ifs >> id;
|
||||
if (!ifs) {
|
||||
break;
|
||||
}
|
||||
|
||||
ifs >> sstatus;
|
||||
if (!ifs) {
|
||||
|
@ -655,6 +655,26 @@ PluginManager::load_statuses ()
|
|||
|
||||
}
|
||||
|
||||
/* rest of the line is the plugin ID */
|
||||
|
||||
ifs.getline (buf, sizeof (buf), '\n');
|
||||
if (!ifs) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (sstatus == "Normal") {
|
||||
status = Normal;
|
||||
} else if (sstatus == "Favorite") {
|
||||
status = Favorite;
|
||||
} else if (sstatus == "Hidden") {
|
||||
status = Hidden;
|
||||
} else {
|
||||
error << string_compose (_("unknown plugin status type \"%1\" - all entries ignored"), sstatus)
|
||||
<< endmsg;
|
||||
statuses.clear ();
|
||||
break;
|
||||
}
|
||||
|
||||
if (stype == "LADSPA") {
|
||||
type = LADSPA;
|
||||
} else if (stype == "AudioUnit") {
|
||||
|
@ -668,21 +688,12 @@ PluginManager::load_statuses ()
|
|||
<< endmsg;
|
||||
continue;
|
||||
}
|
||||
if (sstatus == "Normal") {
|
||||
status = Normal;
|
||||
} else if (sstatus == "Favorite") {
|
||||
status = Favorite;
|
||||
} else if (sstatus == "Hidden") {
|
||||
status = Hidden;
|
||||
} else {
|
||||
error << string_compose (_("unknown plugin status type \"%1\" - ignored"), stype)
|
||||
<< endmsg;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
id = buf;
|
||||
strip_whitespace_edges (id);
|
||||
set_status (type, id, status);
|
||||
}
|
||||
|
||||
|
||||
ifs.close ();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue