X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fsession_metadata_dialog.cc;h=a4cfee2b1047ff33aa78eca0955fb3419553cdfa;hb=8e1de17319efb316f6eebdbe1b25dd777a4d3e0e;hp=c4eede02c3e06002f461d2c6ee95072b196ae969;hpb=6f2ca4194c732cebc71edd8a4295eefebf7294b3;p=ardour.git
diff --git a/gtk2_ardour/session_metadata_dialog.cc b/gtk2_ardour/session_metadata_dialog.cc
index c4eede02c3..a4cfee2b10 100644
--- a/gtk2_ardour/session_metadata_dialog.cc
+++ b/gtk2_ardour/session_metadata_dialog.cc
@@ -30,7 +30,7 @@
#include "ardour/session.h"
#include "ardour/session_utils.h"
-#include "i18n.h"
+#include "pbd/i18n.h"
using namespace std;
using namespace Glib;
@@ -270,23 +270,26 @@ EAN13MetadataField::update_status ()
// calculate EAN-13 modulo 10 check digit
int sum = 0;
const char *p = _value.c_str();
- for (int i =0; i < 12; i++) {
+ for (int i = 0; i < 12; i++) {
char c = p[i] - '0';
if (i % 2) {
- sum += c;
- } else {
sum += c * 3;
+ } else {
+ sum += c;
}
}
sum %= 10;
+ if (sum)
+ sum = 10 - sum;
+
if (sum == p[12] - '0') {
status_label->set_markup (string_compose(
"%1: %2",
_("EAN Check digit OK"), sum));
} else {
status_label->set_markup (string_compose(
- "%1: %2 (expected %3)",
- _("EAN Check digit error"), p[12] - '0', sum));
+ "%1: %2 (%3 %4)",
+ _("EAN Check digit error"), p[12] - '0', _("expected"), sum));
}
} else if (len > 0) {
status_label->set_markup (string_compose(
@@ -900,7 +903,7 @@ SessionMetadataImporter::run ()
return;
}
- //create a temporary
+ //create a temporary
ARDOUR::SessionMetadata data;
data.set_state (*node, version);
init_data ( true ); //skip user data here