}
//static
-Mlt::Repository *initEffects::parseEffectFiles()
+void initEffects::parseEffectFiles()
{
QStringList::Iterator more;
QStringList::Iterator it;
Mlt::Repository *repository = Mlt::Factory::init();
if (!repository) {
kDebug() << "Repository didn't finish initialisation" ;
- return NULL;
+ return;
}
// Retrieve the list of MLT's available effects.
Mlt::Properties *filters = repository->filters();
QStringList filtersList;
- for (int i = 0; i < filters->count(); ++i)
+ int max = filters->count();
+ for (int i = 0; i < max; ++i)
filtersList << filters->get_name(i);
delete filters;
// Retrieve the list of available producers.
Mlt::Properties *producers = repository->producers();
QStringList producersList;
- for (int i = 0; i < producers->count(); ++i)
+ max = producers->count();
+ for (int i = 0; i < max; ++i)
producersList << producers->get_name(i);
KdenliveSettings::setProducerslist(producersList);
delete producers;
// Retrieve the list of available transitions.
Mlt::Properties *transitions = repository->transitions();
QStringList transitionsItemList;
- for (int i = 0; i < transitions->count(); ++i)
+ max = transitions->count();
+ for (int i = 0; i < max; ++i)
transitionsItemList << transitions->get_name(i);
delete transitions;
QMap<QString, QDomElement> audioEffectsMap;
// Create transitions
- for (int i = 0; i < MainWindow::transitions.count(); ++i) {
+ max = MainWindow::transitions.count();
+ for (int i = 0; i < max; ++i) {
effectInfo = MainWindow::transitions.at(i);
effectsMap.insert(effectInfo.firstChildElement("name").text().toLower().toUtf8().data(), effectInfo);
}
}
// Create custom effects
- for (int i = 0; i < MainWindow::customEffects.count(); ++i) {
+ max = MainWindow::customEffects.count();
+ for (int i = 0; i < max; ++i) {
effectInfo = MainWindow::customEffects.at(i);
effectsMap.insert(effectInfo.firstChildElement("name").text().toLower().toUtf8().data(), effectInfo);
}
effectsMap.clear();
// Create audio effects
- for (int i = 0; i < MainWindow::audioEffects.count(); ++i) {
+ max = MainWindow::audioEffects.count();
+ for (int i = 0; i < max; ++i) {
effectInfo = MainWindow::audioEffects.at(i);
audioEffectsMap.insert(effectInfo.firstChildElement("name").text().toLower().toUtf8().data(), effectInfo);
}
MainWindow::audioEffects.append(effect);
// Create video effects
- for (int i = 0; i < MainWindow::videoEffects.count(); ++i) {
+ max = MainWindow::videoEffects.count();
+ for (int i = 0; i < max; ++i) {
effectInfo = MainWindow::videoEffects.at(i);
videoEffectsMap.insert(effectInfo.firstChildElement("name").text().toLower().toUtf8().data(), effectInfo);
}
MainWindow::videoEffects.clearList();
foreach(const QDomElement & effect, videoEffectsMap)
MainWindow::videoEffects.append(effect);
-
- return repository;
}
// static
}
}
foreach(const QDomElement & effect, effectsMap)
- MainWindow::customEffects.append(effect);
+ MainWindow::customEffects.append(effect);
}
// static
QFile file(name);
doc.setContent(&file, false);
file.close();
- QDomElement documentElement = doc.documentElement();
+ QDomElement documentElement;
QDomNodeList effects = doc.elementsByTagName("effect");
if (effects.count() == 0) {
kDebug() << "Effect broken: " << name;
return;
}
- QLocale locale;
+
bool needsLocaleConversion = false;
for (int i = 0; !effects.item(i).isNull(); ++i) {
+ QLocale locale;
documentElement = effects.item(i).toElement();
QString tag = documentElement.attribute("tag", QString());
if (documentElement.hasAttribute("LC_NUMERIC")) {
needsLocaleConversion = true;
}
}
+ locale.setNumberOptions(QLocale::OmitGroupSeparator);
if (needsLocaleConversion) {
// we need to convert all numbers to the system's locale (for example 0.5 -> 0,5)
QDomElement desc = ret.createElement("description");
ktrans.appendChild(tname);
ktrans.appendChild(desc);
- Mlt::Properties *metadata = repository->metadata(transition_type, name.toUtf8().data());
- if (!customTransitions.contains(name) && metadata && metadata->is_valid()) {
+ Mlt::Properties *metadata = NULL;
+ if (!customTransitions.contains(name)) metadata = repository->metadata(transition_type, name.toUtf8().data());
+ if (metadata && metadata->is_valid()) {
// If possible, set name and description.
if (metadata->get("title") && metadata->get("identifier"))
tname.appendChild(ret.createTextNode(metadata->get("title")));
params.appendChild(pname);
ktrans.appendChild(params);
}
- delete metadata;
- metadata = 0;
} else {
/*
* Check for Kdenlive installed luma files, add empty string at
paramList.append(quickParameterFill(ret, "keyed", "keyed", "fixed", "1", "1", "1"));
paramList.append(quickParameterFill(ret, i18n("Geometry"), "geometry", "geometry", "0/0:100%x100%:100%", "0/0:100%x100%:100%", "0/0:100%x100%:100%", "", "", "", "", "", "true"));
-
+ paramList.append(quickParameterFill(ret, i18n("Distort"), "distort", "bool", "0", "0", "1"));
paramList.append(quickParameterFill(ret, i18n("Rotate X"), "rotate_x", "addedgeometry", "0", "-1800", "1800", QString(), QString(), "10"));
paramList.append(quickParameterFill(ret, i18n("Rotate Y"), "rotate_y", "addedgeometry", "0", "-1800", "1800", QString(), QString(), "10"));
paramList.append(quickParameterFill(ret, i18n("Rotate Z"), "rotate_z", "addedgeometry", "0", "-1800", "1800", QString(), QString(), "10"));
/*paramList.append(quickParameterFill(ret, i18n("Rotate Y"), "rotate_y", "simplekeyframe", "0", "-1800", "1800", QString(), QString(), "10"));
paramList.append(quickParameterFill(ret, i18n("Rotate Z"), "rotate_z", "simplekeyframe", "0", "-1800", "1800", QString(), QString(), "10"));*/
- paramList.append(quickParameterFill(ret, i18n("Fix Shear Y"), "fix_shear_y", "double", "0", "0", "360"));
- paramList.append(quickParameterFill(ret, i18n("Fix Shear X"), "fix_shear_x", "double", "0", "0", "360"));
- paramList.append(quickParameterFill(ret, i18n("Fix Shear Z"), "fix_shear_z", "double", "0", "0", "360"));
+ paramList.append(quickParameterFill(ret, i18n("Fix Shear Y"), "shear_y", "double", "0", "0", "360"));
+ paramList.append(quickParameterFill(ret, i18n("Fix Shear X"), "shear_x", "double", "0", "0", "360"));
+ paramList.append(quickParameterFill(ret, i18n("Fix Shear Z"), "shear_z", "double", "0", "0", "360"));
} else if (name == "mix") {
tname.appendChild(ret.createTextNode(i18n("Mix")));
} else if (name == "region") {
foreach(const QDomElement & e, paramList)
ktrans.appendChild(e);
}
-
+ delete metadata;
+ metadata = 0;
// Add the transition to the global list.
transitions->append(ret.documentElement());
//kDebug() << ret.toString();