diff --git a/openbr/plugins/misc.cpp b/openbr/plugins/misc.cpp index f872f1a..8a1f713 100644 --- a/openbr/plugins/misc.cpp +++ b/openbr/plugins/misc.cpp @@ -35,16 +35,19 @@ class OpenTransform : public UntrainableMetaTransform void project(const Template &src, Template &dst) const { - if (Globals->verbose) qDebug("Opening %s", qPrintable(src.file.flat())); - dst.file = src.file; - foreach (const File &file, src.file.split()) { - QScopedPointer format(Factory::make(file)); - Template t = format->read(); - if (t.isEmpty()) qWarning("Can't open %s from %s", qPrintable(file.flat()), qPrintable(QDir::currentPath())); - dst.append(t); - dst.file.append(t.file.localMetadata()); + if (!src.m().empty()) dst.append(src.clone()); + else { + if (Globals->verbose) qDebug("Opening %s", qPrintable(src.file.flat())); + dst.file = src.file; + foreach (const File &file, src.file.split()) { + QScopedPointer format(Factory::make(file)); + Template t = format->read(); + if (t.isEmpty()) qWarning("Can't open %s from %s", qPrintable(file.flat()), qPrintable(QDir::currentPath())); + dst.append(t); + dst.file.append(t.file.localMetadata()); + } + dst.file.set("FTO", dst.isEmpty()); } - dst.file.set("FTO", dst.isEmpty()); } };