}
ClipManager::~ClipManager() {
+ qDeleteAll(m_clipList);
}
void ClipManager::checkAudioThumbs() {
if (type->name().startsWith("image/")) {
prod.setAttribute("type", (int) IMAGE);
prod.setAttribute("in", "0");
- prod.setAttribute("out", m_doc->getFramePos(KdenliveSettings::image_duration()));
+ prod.setAttribute("out", m_doc->getFramePos(KdenliveSettings::image_duration()) - 1);
}
AddClipCommand *command = new AddClipCommand(m_doc, prod, id, true);
m_doc->commandStack()->push(command);
uint id = m_clipIdCounter++;
prod.setAttribute("id", QString::number(id));
prod.setAttribute("in", "0");
- prod.setAttribute("out", m_doc->getFramePos(duration));
+ prod.setAttribute("out", m_doc->getFramePos(duration) - 1);
prod.setAttribute("name", name);
if (!group.isEmpty()) {
prod.setAttribute("groupname", group);
m_doc->commandStack()->push(command);
}
-void ClipManager::slotAddSlideshowClipFile(const QString name, const QString path, int count, const QString duration, const bool loop, QString group, const int groupId) {
+void ClipManager::slotAddSlideshowClipFile(const QString name, const QString path, int count, const QString duration, const bool loop, const bool fade, const QString &luma_duration, const QString &luma_file, const int softness, QString group, const int groupId) {
QDomDocument doc;
QDomElement prod = doc.createElement("producer");
prod.setAttribute("resource", path);
uint id = m_clipIdCounter++;
prod.setAttribute("id", QString::number(id));
prod.setAttribute("in", "0");
- prod.setAttribute("out", m_doc->getFramePos(duration) * count);
+ prod.setAttribute("out", m_doc->getFramePos(duration) * count - 1);
prod.setAttribute("ttl", m_doc->getFramePos(duration));
+ prod.setAttribute("luma_duration", m_doc->getFramePos(luma_duration));
prod.setAttribute("name", name);
prod.setAttribute("loop", loop);
+ prod.setAttribute("fade", fade);
+ prod.setAttribute("softness", QString::number(softness));
+ prod.setAttribute("luma_file", luma_file);
if (!group.isEmpty()) {
prod.setAttribute("groupname", group);
prod.setAttribute("groupid", groupId);
-void ClipManager::slotAddTextClipFile(const QString path, const QString group, const int groupId) {
+void ClipManager::slotAddTextClipFile(const QString path, const QString xml, const QString group, const int groupId) {
kDebug() << "///// CLIP MANAGER, ADDING CLIP: " << path;
QDomDocument doc;
QDomElement prod = doc.createElement("producer");
prod.setAttribute("resource", path + ".png");
prod.setAttribute("xml", path);
+ prod.setAttribute("xmldata", xml);
uint id = m_clipIdCounter++;
prod.setAttribute("id", QString::number(id));
if (!group.isEmpty()) {
prod.setAttribute("groupid", groupId);
}
prod.setAttribute("type", (int) TEXT);
+ prod.setAttribute("transparency", "1");
prod.setAttribute("in", "0");
- prod.setAttribute("out", m_doc->getFramePos(KdenliveSettings::image_duration()));
+ prod.setAttribute("out", m_doc->getFramePos(KdenliveSettings::image_duration()) - 1);
AddClipCommand *command = new AddClipCommand(m_doc, prod, id, true);
m_doc->commandStack()->push(command);
}