summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2010-01-21 23:09:43 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2010-01-21 23:09:43 +0000
commite58aba80bf1086c205cf9275de0761b5b9602710 (patch)
treec92550c50d34d18157ada5e76cf1c8cca82a08f2
parentf552628e046a401f5d8be3ddf50bb09e6cfd72d9 (diff)
fix up parsing/format of plugin_statuses file, and add new italian translators
git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@6535 d708f5d6-7413-0410-9779-e7cbd77b26cf
-rw-r--r--gtk2_ardour/about.cc4
-rw-r--r--libs/ardour/plugin_manager.cc44
2 files changed, 31 insertions, 17 deletions
diff --git a/gtk2_ardour/about.cc b/gtk2_ardour/about.cc
index c5d9641ccd..3338f76022 100644
--- a/gtk2_ardour/about.cc
+++ b/gtk2_ardour/about.cc
@@ -167,7 +167,9 @@ static const char* translators[] = {
N_("German:\n\tKarsten Petersen <kapet@kapet.de>\
\n\tSebastian Arnold <mail@sebastian-arnold.net>\
\n\tRobert Schwede<schwede@ironshark.com>\n"),
- N_("Italian:\n\tFilippo Pappalardo <filippo@email.it>\n"),
+ N_("Italian:\n\tFilippo Pappalardo <filippo@email.it>\
+\n\tValerio Orlandini\
+\n\tEmanuele Costantini"),
N_("Portuguese:\n\tRui Nuno Capela <rncbc@rncbc.org>\n"),
N_("Brazilian Portuguese:\n\tAlexander da Franca Fernandes <alexander@nautae.eti.br>\
\n\tChris Ross <chris@tebibyte.org>\n"),
diff --git a/libs/ardour/plugin_manager.cc b/libs/ardour/plugin_manager.cc
index 064a19a278..1c12410666 100644
--- a/libs/ardour/plugin_manager.cc
+++ b/libs/ardour/plugin_manager.cc
@@ -33,6 +33,7 @@
#include <glibmm/miscutils.h>
#include <pbd/pathscanner.h>
+#include <pbd/whitespace.h>
#include <ardour/ladspa.h>
#include <ardour/session.h>
@@ -593,7 +594,7 @@ PluginManager::save_statuses ()
break;
}
- ofs << ' ' << (*i).unique_id << ' ';
+ ofs << ' ';
switch ((*i).status) {
case Normal:
@@ -607,6 +608,10 @@ PluginManager::save_statuses ()
break;
}
+ ofs << ' ';
+
+ ofs << (*i).unique_id;
+
ofs << endl;
}
@@ -625,10 +630,11 @@ PluginManager::load_statuses ()
}
std::string stype;
- std::string id;
std::string sstatus;
+ std::string id;
PluginType type;
PluginStatusType status;
+ char buf[1024];
while (ifs) {
@@ -637,15 +643,31 @@ PluginManager::load_statuses ()
break;
}
- ifs >> id;
+
+ ifs >> sstatus;
if (!ifs) {
break;
+
}
- ifs >> sstatus;
+ /* 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") {
@@ -662,18 +684,8 @@ PluginManager::load_statuses ()
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"), sstatus)
- << endmsg;
- continue;
- }
-
+ id = buf;
+ strip_whitespace_edges (id);
set_status (type, id, status);
}