}
}
-void ClipManager::setThumbsProgress(KUrl url, int progress) {
- m_doc->setThumbsProgress(url, progress);
+void ClipManager::setThumbsProgress(const QString &message, int progress) {
+ m_doc->setThumbsProgress(message, progress);
}
QList <DocClipBase*> ClipManager::documentClipList() {
void ClipManager::addClip(DocClipBase *clip) {
m_clipList.append(clip);
+ int id = clip->getId();
+ if (id >= m_clipIdCounter) m_clipIdCounter = id + 1;
}
void ClipManager::slotDeleteClip(uint clipId) {
for (int i = 0; i < m_clipList.count(); i++) {
if (m_clipList.at(i)->getId() == clipId) {
- //m_clipList.removeAt(i);
AddClipCommand *command = new AddClipCommand(m_doc, m_clipList.at(i)->toXML(), clipId, false);
m_doc->commandStack()->push(command);
break;
}
DocClipBase *ClipManager::getClipById(int clipId) {
- kDebug() << "++++ CLIP MAN, LOOKING FOR CLIP ID: " << clipId;
+ //kDebug() << "++++ CLIP MAN, LOOKING FOR CLIP ID: " << clipId;
for (int i = 0; i < m_clipList.count(); i++) {
if (m_clipList.at(i)->getId() == clipId) {
- kDebug() << "++++ CLIP MAN, FOUND FOR CLIP ID: " << clipId;
+ //kDebug() << "++++ CLIP MAN, FOUND FOR CLIP ID: " << clipId;
return m_clipList.at(i);
}
}
return NULL;
}
-void ClipManager::slotAddClipFile(const KUrl url, const QString group) {
+void ClipManager::slotAddClipFile(const KUrl url, const QString group, const int groupId) {
kDebug() << "///// CLIP MANAGER, ADDING CLIP: " << url;
QDomDocument doc;
QDomElement prod = doc.createElement("producer");
prod.setAttribute("resource", url.path());
uint id = m_clipIdCounter++;
prod.setAttribute("id", QString::number(id));
- if (!group.isEmpty()) prod.setAttribute("group", group);
+ if (!group.isEmpty()) {
+ prod.setAttribute("groupname", group);
+ prod.setAttribute("groupid", groupId);
+ }
KMimeType::Ptr type = KMimeType::findByUrl(url);
if (type->name().startsWith("image/")) {
prod.setAttribute("type", (int) IMAGE);
m_doc->commandStack()->push(command);
}
-void ClipManager::slotAddColorClipFile(const QString name, const QString color, QString duration, const QString group) {
+void ClipManager::slotAddColorClipFile(const QString name, const QString color, QString duration, const QString group, const int groupId) {
QDomDocument doc;
QDomElement prod = doc.createElement("producer");
prod.setAttribute("mlt_service", "colour");
prod.setAttribute("in", "0");
prod.setAttribute("out", m_doc->getFramePos(duration));
prod.setAttribute("name", name);
+ if (!group.isEmpty()) {
+ prod.setAttribute("groupname", group);
+ prod.setAttribute("groupid", groupId);
+ }
+ AddClipCommand *command = new AddClipCommand(m_doc, prod, id, true);
+ 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) {
+ QDomDocument doc;
+ QDomElement prod = doc.createElement("producer");
+ prod.setAttribute("resource", path);
+ prod.setAttribute("type", (int) SLIDESHOW);
+ uint id = m_clipIdCounter++;
+ prod.setAttribute("id", QString::number(id));
+ prod.setAttribute("in", "0");
+ prod.setAttribute("out", m_doc->getFramePos(duration) * count);
+ prod.setAttribute("ttl", m_doc->getFramePos(duration));
+ prod.setAttribute("name", name);
+ prod.setAttribute("loop", loop);
+ if (!group.isEmpty()) {
+ prod.setAttribute("groupname", group);
+ prod.setAttribute("groupid", groupId);
+ }
+ AddClipCommand *command = new AddClipCommand(m_doc, prod, id, true);
+ m_doc->commandStack()->push(command);
+}
+
+
+
+void ClipManager::slotAddTextClipFile(const QString path, 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);
+ uint id = m_clipIdCounter++;
+ prod.setAttribute("id", QString::number(id));
+ if (!group.isEmpty()) {
+ prod.setAttribute("groupname", group);
+ prod.setAttribute("groupid", groupId);
+ }
+ prod.setAttribute("type", (int) TEXT);
+ prod.setAttribute("in", "0");
+ prod.setAttribute("out", m_doc->getFramePos(KdenliveSettings::image_duration()));
AddClipCommand *command = new AddClipCommand(m_doc, prod, id, true);
m_doc->commandStack()->push(command);
}
+int ClipManager::getFreeClipId() {
+ return m_clipIdCounter++;
+}
+
+