-install(FILES banner.png timeline_nothumbs.png timeline_athumbs.png timeline_vthumbs.png timeline_avthumbs.png transition.png metadata.properties DESTINATION ${DATA_INSTALL_DIR}/kdenlive )
+install(FILES banner.png timeline_nothumbs.png timeline_athumbs.png timeline_vthumbs.png timeline_avthumbs.png transition.png metadata.properties blacklisted_effects.txt DESTINATION ${DATA_INSTALL_DIR}/kdenlive )
--- /dev/null
+frei0r.squareblur
wave.xml
fadein.xml
fadeout.xml
+frei0r_squareblur.xml
DESTINATION ${DATA_INSTALL_DIR}/kdenlive/effects)
--- /dev/null
+<!DOCTYPE kpartgui>
+<effect tag="frei0r.squareblur" id="frei0r.squareblur">
+ <name>Square Blur</name>
+ <description>Variable-size square blur (frei0r.squareblur)</description>
+ <author>Drone</author>
+ <parameter type="constant" name="Kernel size" max="500" min="0" default="50" factor="1000">
+ <name>Kernel size</name>
+ </parameter>
+</effect>
bool needRepaint = false;
/*QDomDocument doc;
doc.appendChild(doc.importNode(effect, true));
- kDebug() << "/////// CLIP ADD EFFECT: "<< doc.toString();*/
+ kDebug() << "/////// CLIP ADD EFFECT: " << doc.toString();*/
m_effectList.append(effect);
effectParams["tag"] = effect.attribute("tag");
QString effectId = effect.attribute("id");
else if (e.attribute("name") == "in") fade += e.attribute("value").toInt();
}
} else {
- effectParams[e.attribute("name")] = QString::number(effectParams[e.attribute("name")].toDouble() / f);
+ effectParams[e.attribute("name")] = QString::number(e.attribute("value").toDouble() / f);
}
}
}
EffectStackEdit::EffectStackEdit(QWidget *parent): QWidget(parent), m_in(0), m_out(0) {
setSizePolicy(QSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding));
- setBackgroundRole(QPalette::Dark);
QVBoxLayout *vbox1 = new QVBoxLayout(parent);
vbox1->setContentsMargins(0, 0, 0, 0);
vbox1->setSpacing(0);
view.frame->setBackgroundRole(QPalette::AlternateBase);
view.frame->setAutoFillBackground(true);
if (!info.isBlind) view.buttonVideo->setIcon(KIcon("kdenlive-show-video"));
- else view.buttonVideo->setIcon(KIcon("kdenlive-hide-video"));
+ else view.buttonVideo->setIcon(KIcon("kdenlive-hide-video"));
} else {
view.buttonVideo->setHidden(true);
}
void HeaderTrack::switchVideo() {
if (view.buttonVideo->isChecked()) {
- view.buttonVideo->setIcon(KIcon("kdenlive-show-video"));
- }
- else {
- view.buttonVideo->setIcon(KIcon("kdenlive-hide-video"));
+ view.buttonVideo->setIcon(KIcon("kdenlive-show-video"));
+ } else {
+ view.buttonVideo->setIcon(KIcon("kdenlive-hide-video"));
}
emit switchTrackVideo(m_index);
}
void HeaderTrack::switchAudio() {
if (view.buttonAudio->isChecked()) {
- view.buttonAudio->setIcon(KIcon("kdenlive-show-audio"));
- }
- else {
- view.buttonAudio->setIcon(KIcon("kdenlive-hide-audio"));
+ view.buttonAudio->setIcon(KIcon("kdenlive-show-audio"));
+ } else {
+ view.buttonAudio->setIcon(KIcon("kdenlive-hide-audio"));
}
emit switchTrackAudio(m_index);
}
Mlt::Properties *filters = repository->filters();
QStringList filtersList;
+ // Check for blacklisted effects
+ QString blacklist = KStandardDirs::locate("appdata", "blacklisted_effects.txt");
+
+ QFile file(blacklist);
+ QStringList blackListed;
+
+ if (file.open(QIODevice::ReadOnly)) {
+ QTextStream in(&file);
+ while (!in.atEnd()) {
+ blackListed.append(in.readLine().simplified());
+ }
+ }
+ file.close();
+
for (int i = 0 ; i < filters->count() ; i++) {
filtersList << filters->get_name(i);
}
// kDebug()<<"// FOUND EFFECT FILE: "<<itemName<<endl;
}
}
+
+ foreach(const QString &effect, blackListed) {
+ if (filtersList.contains(effect)) filtersList.removeAll(effect);
+ }
+
foreach(const QString &filtername, filtersList) {
QDomDocument doc = createDescriptionFromMlt(repository, "filters", filtername);
if (!doc.isNull())
KUrl projectFolder;
QPoint projectTracks(3, 2);
if (!showProjectSettings && m_timelineArea->count() == 0) {
- if (!KdenliveSettings::activatetabs()) closeCurrentDocument();
- profileName = KdenliveSettings::default_profile();
- }
- else {
+ if (!KdenliveSettings::activatetabs()) closeCurrentDocument();
+ profileName = KdenliveSettings::default_profile();
+ } else {
ProjectSettings *w = new ProjectSettings;
if (w->exec() != QDialog::Accepted) return;
- if (!KdenliveSettings::activatetabs()) closeCurrentDocument();
+ if (!KdenliveSettings::activatetabs()) closeCurrentDocument();
profileName = w->selectedProfile();
projectFolder = w->selectedFolder();
projectTracks = w->tracks();