X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Finiteffects.cpp;h=e13b63c571177eed536a75808c5e9db945390870;hb=fc55ba253fa7aff2678e8212799e5db85f847b8a;hp=647de0643ad53562e75441f9cf9615292c8a0165;hpb=18f70213e0f6a0fe5d836b6220f015b84ba8ec12;p=kdenlive
diff --git a/src/initeffects.cpp b/src/initeffects.cpp
index 647de064..e13b63c5 100644
--- a/src/initeffects.cpp
+++ b/src/initeffects.cpp
@@ -65,7 +65,6 @@ initEffectsThumbnailer initEffects::thumbnailer;
// static
void initEffects::refreshLumas()
{
-
// Check for Kdenlive installed luma files, add empty string at start for no luma
QStringList imagenamelist = QStringList() << i18n("None");
QStringList imagefiles = QStringList() << QString();
@@ -77,20 +76,23 @@ void initEffects::refreshLumas()
QStringList filesnames = QDir(folder).entryList(filters, QDir::Files);
foreach(const QString &fname, filesnames) {
imagenamelist.append(fname);
- imagefiles.append(folder + '/' + fname);
+ imagefiles.append(KUrl(folder).path(KUrl::AddTrailingSlash) + fname);
}
}
// Check for MLT lumas
- QString folder = mlt_environment("MLT_DATA");
- folder.append("/lumas/").append(mlt_environment("MLT_NORMALISATION"));
- QDir lumafolder(folder);
+ KUrl folder(mlt_environment("MLT_DATA"));
+ folder.addPath("lumas");
+ folder.addPath(mlt_environment("MLT_NORMALISATION"));
+ QDir lumafolder(folder.path());
QStringList filesnames = lumafolder.entryList(filters, QDir::Files);
foreach(const QString &fname, filesnames) {
imagenamelist.append(fname);
- imagefiles.append(folder + '/' + fname);
+ KUrl path(folder);
+ path.addPath(fname);
+ imagefiles.append(path.toLocalFile());
}
- QDomElement lumaTransition = MainWindow::transitions.getEffectByTag("luma", QString());
+ QDomElement lumaTransition = MainWindow::transitions.getEffectByTag("luma", "luma");
QDomNodeList params = lumaTransition.elementsByTagName("parameter");
for (int i = 0; i < params.count(); i++) {
QDomElement e = params.item(i).toElement();
@@ -101,6 +103,17 @@ void initEffects::refreshLumas()
}
}
+ QDomElement compositeTransition = MainWindow::transitions.getEffectByTag("composite", "composite");
+ params = compositeTransition.elementsByTagName("parameter");
+ for (int i = 0; i < params.count(); i++) {
+ QDomElement e = params.item(i).toElement();
+ if (e.attribute("tag") == "luma") {
+ e.setAttribute("paramlistdisplay", imagenamelist.join(","));
+ e.setAttribute("paramlist", imagefiles.join(","));
+ break;
+ }
+ }
+
}
@@ -163,6 +176,7 @@ Mlt::Repository *initEffects::parseEffectFiles()
for (int i = 0 ; i < producers->count() ; i++) {
producersList << producers->get_name(i);
}
+ KdenliveSettings::setProducerslist(producersList);
delete filters;
delete producers;
@@ -183,10 +197,12 @@ Mlt::Repository *initEffects::parseEffectFiles()
KGlobal::dirs()->addResourceDir("ladspa_plugin", "/usr/local/lib/ladspa");
KGlobal::dirs()->addResourceDir("ladspa_plugin", "/opt/lib/ladspa");
KGlobal::dirs()->addResourceDir("ladspa_plugin", "/opt/local/lib/ladspa");
+ KGlobal::dirs()->addResourceDir("ladspa_plugin", "/usr/lib64/ladspa");
+ KGlobal::dirs()->addResourceDir("ladspa_plugin", "/usr/local/lib64/ladspa");
kDebug() << "// INIT EFFECT SEARCH" << endl;
- QStringList direc = KGlobal::dirs()->findDirs("data", "kdenlive/effects");
+ QStringList direc = KGlobal::dirs()->findDirs("appdata", "effects");
QDir directory;
for (more = direc.begin() ; more != direc.end() ; ++more) {
@@ -503,7 +519,7 @@ QDomDocument initEffects::createDescriptionFromMlt(Mlt::Repository* repository,
eff.appendChild(desc);
Mlt::Properties param_props((mlt_properties) metadata->get_data("parameters"));
- for (int j = 0; param_props.is_valid() && j < param_props.count();j++) {
+ for (int j = 0; param_props.is_valid() && j < param_props.count(); j++) {
QDomElement params = ret.createElement("parameter");
Mlt::Properties paramdesc((mlt_properties) param_props.get_data(param_props.get_name(j)));
@@ -581,7 +597,7 @@ void initEffects::fillTransitionsList(Mlt::Repository * repository, EffectsList*
desc.appendChild(ret.createTextNode(metadata->get("description")));
Mlt::Properties param_props((mlt_properties) metadata->get_data("parameters"));
- for (int j = 0; param_props.is_valid() && j < param_props.count();j++) {
+ for (int j = 0; param_props.is_valid() && j < param_props.count(); j++) {
QDomElement params = ret.createElement("parameter");
Mlt::Properties paramdesc((mlt_properties) param_props.get_data(param_props.get_name(j)));
@@ -644,19 +660,22 @@ void initEffects::fillTransitionsList(Mlt::Repository * repository, EffectsList*
}
// Check for MLT lumas
- QString folder = mlt_environment("MLT_DATA");
- folder.append("/lumas/").append(mlt_environment("MLT_NORMALISATION"));
- QDir lumafolder(folder);
+ KUrl folder(mlt_environment("MLT_DATA"));
+ folder.addPath("lumas");
+ folder.addPath(mlt_environment("MLT_NORMALISATION"));
+ QDir lumafolder(folder.path());
QStringList filesnames = lumafolder.entryList(filters, QDir::Files);
foreach(const QString &fname, filesnames) {
imagenamelist.append(fname);
- imagefiles.append(folder + '/' + fname);
+ KUrl path(folder);
+ path.addPath(fname);
+ imagefiles.append(path.toLocalFile());
}
if (name == "luma") {
-
- tname.appendChild(ret.createTextNode("Luma"));
- desc.appendChild(ret.createTextNode("Applies a luma transition between the current and next frames"));
+ ktrans.setAttribute("id", name);
+ tname.appendChild(ret.createTextNode("Wipe"));
+ desc.appendChild(ret.createTextNode("Applies a stationary transition between the current and next frames"));
paramList.append(quickParameterFill(ret, "Softness", "softness", "double", "0", "0", "100", "", "", "100"));
paramList.append(quickParameterFill(ret, "Invert", "invert", "bool", "0", "0", "1"));
@@ -671,13 +690,12 @@ void initEffects::fillTransitionsList(Mlt::Repository * repository, EffectsList*
paramList.append(quickParameterFill(ret, "Align", "aligned", "bool", "1", "0", "1"));
paramList.append(quickParameterFill(ret, "Fill", "fill", "bool", "0", "0", "1"));
paramList.append(quickParameterFill(ret, "Distort", "distort", "bool", "0", "0", "1"));
- paramList.append(quickParameterFill(ret, "Luma Image File", "luma", "list", "", "", "", imagefiles.join(","), imagenamelist.join(",")));
- paramList.append(quickParameterFill(ret, "Luma Softness", "softness", "double", "0", "0", "100", "", "", "100"));
- paramList.append(quickParameterFill(ret, "Luma Invert", "luma_invert", "bool", "0", "0", "1"));
- paramList.append(quickParameterFill(ret, "Force Progressive Rendering", "progressive", "bool", "0", "0", "1"));
+ paramList.append(quickParameterFill(ret, "Wipe File", "luma", "list", "", "", "", imagefiles.join(","), imagenamelist.join(",")));
+ paramList.append(quickParameterFill(ret, "Wipe Softness", "softness", "double", "0", "0", "100", "", "", "100"));
+ paramList.append(quickParameterFill(ret, "Wipe Invert", "luma_invert", "bool", "0", "0", "1"));
+ paramList.append(quickParameterFill(ret, "Force Progressive Rendering", "progressive", "bool", "1", "0", "1"));
paramList.append(quickParameterFill(ret, "Force Deinterlace Overlay", "deinterlace", "bool", "0", "0", "1"));
tname.appendChild(ret.createTextNode("Composite"));
-
ktrans.setAttribute("id", "composite");
/*QDomDocument ret1;
QDomElement ktrans1 = ret1.createElement("ktransition");
@@ -723,18 +741,23 @@ void initEffects::fillTransitionsList(Mlt::Repository * repository, EffectsList*
transitions->append(ret.documentElement());
//kDebug() << "//// //// TRANSITON XML";
- // kDebug() << ret.toString();
+ //kDebug() << ret.toString();
/*
*/
}
- QString wipetrans = "WipeSlide image from one side to anotherDirection Align";
+ QString slidetrans = "SlideSlide image from one side to anotherDirection AlignForce Progressive RenderingForce Deinterlace OverlayInvert";
QDomDocument ret;
- ret.setContent(wipetrans);
+ ret.setContent(slidetrans);
transitions->append(ret.documentElement());
+ QString dissolve = "DissolveFade out one video while fading in the other videoReverse";
+ QDomDocument dissolveDoc;
+ dissolveDoc.setContent(dissolve);
+ transitions->append(dissolveDoc.documentElement());
+
/*QString alphatrans = "Alpha transparencyMake alpha channel transparentDirectionRescaleAlign";
QDomDocument ret2;
ret2.setContent(alphatrans);