// 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();
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();
}
}
+ 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;
+ }
+ }
+
}
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) {
// static
void initEffects::parseCustomEffectsFile()
{
- MainWindow::customEffects.clear();
+ MainWindow::customEffects.clearList();
QString path = KStandardDirs::locateLocal("appdata", "effects/", true);
QDir directory = QDir(path);
QStringList filter;
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)));
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)));
}
// 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"));
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, "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"));
transitions->append(ret.documentElement());
//kDebug() << "//// //// TRANSITON XML";
- // kDebug() << ret.toString();
+ //kDebug() << ret.toString();
/*
<transition fill="1" in="11" a_track="1" out="73" mlt_service="luma" b_track="2" softness="0" resource="/home/marco/Projekte/kdenlive/install_cmake/share/apps/kdenlive/pgm/PAL/square2.pgm" />
*/
}
- QString wipetrans = "<ktransition tag=\"composite\" id=\"wipe\"><name>Wipe</name><description>Slide image from one side to another</description><parameter tag=\"geometry\" type=\"wipe\" default=\"-100%,0%:100%x100%;-1=0%,0%:100%x100%\" name=\"geometry\"><name>Direction</name> </parameter><parameter tag=\"aligned\" default=\"0\" type=\"bool\" name=\"aligned\" ><name>Align</name></parameter><parameter tag=\"progressive\" default=\"1\" type=\"bool\" name=\"progressive\" ><name>Force Progressive Rendering</name></parameter><parameter tag=\"deinterlace\" default=\"0\" type=\"bool\" name=\"deinterlace\" ><name>Force Deinterlace Overlay</name></parameter></ktransition>";
+ QString slidetrans = "<ktransition tag=\"composite\" id=\"slide\"><name>Slide</name><description>Slide image from one side to another</description><parameter tag=\"geometry\" type=\"wipe\" default=\"-100%,0%:100%x100%;-1=0%,0%:100%x100%\" name=\"geometry\"><name>Direction</name> </parameter><parameter tag=\"aligned\" default=\"0\" type=\"bool\" name=\"aligned\" ><name>Align</name></parameter><parameter tag=\"progressive\" default=\"1\" type=\"bool\" name=\"progressive\" ><name>Force Progressive Rendering</name></parameter><parameter tag=\"deinterlace\" default=\"0\" type=\"bool\" name=\"deinterlace\" ><name>Force Deinterlace Overlay</name></parameter><parameter tag=\"invert\" default=\"0\" type=\"bool\" name=\"invert\" ><name>Invert</name></parameter></ktransition>";
QDomDocument ret;
- ret.setContent(wipetrans);
+ ret.setContent(slidetrans);
transitions->append(ret.documentElement());
+ QString dissolve = "<ktransition tag=\"luma\" id=\"dissolve\"><name>Dissolve</name><description>Fade out one video while fading in the other video</description><parameter tag=\"reverse\" default=\"0\" type=\"bool\" name=\"reverse\" ><name>Reverse</name></parameter></ktransition>";
+ QDomDocument dissolveDoc;
+ dissolveDoc.setContent(dissolve);
+ transitions->append(dissolveDoc.documentElement());
+
/*QString alphatrans = "<ktransition tag=\"composite\" id=\"alphatransparency\" ><name>Alpha transparency</name><description>Make alpha channel transparent</description><parameter tag=\"geometry\" type=\"fixed\" default=\"0%,0%:100%x100%\" name=\"geometry\"><name>Direction</name></parameter><parameter tag=\"fill\" default=\"0\" type=\"bool\" name=\"fill\" ><name>Rescale</name></parameter><parameter tag=\"aligned\" default=\"0\" type=\"bool\" name=\"aligned\" ><name>Align</name></parameter></ktransition>";
QDomDocument ret2;
ret2.setContent(alphatrans);