#include "kdenlivedoc.h"
-
-KdenliveDoc::KdenliveDoc(const KUrl &url, double fps, int width, int height, QWidget *parent):QObject(parent), m_render(NULL), m_url(url), m_fps(fps), m_width(width), m_height(height), m_projectName(NULL)
+KdenliveDoc::KdenliveDoc(const KUrl &url, double fps, int width, int height, QWidget *parent):QObject(parent), m_render(NULL), m_url(url), m_fps(fps), m_width(width), m_height(height), m_projectName(NULL), m_commandStack(new KUndoStack())
{
-
- m_commandStack = new KUndoStack();
+ m_clipManager = new ClipManager(this);
if (!url.isEmpty()) {
QString tmpFile;
if(KIO::NetAccess::download(url.path(), tmpFile, parent))
/*QDomElement westley = m_document.createElement("westley");
m_document.appendChild(westley);*/
- QDomElement prod = m_document.createElement("producer");
- prod.setAttribute("resource", "colour");
- prod.setAttribute("colour", "red");
- prod.setAttribute("id", "black");
- prod.setAttribute("in", "0");
- prod.setAttribute("out", "0");
+
QDomElement tractor = m_document.createElement("tractor");
QDomElement multitrack = m_document.createElement("multitrack");
-
+ QDomElement playlist = m_document.createElement("playlist");
+ QDomElement producer = m_document.createElement("producer");
+ /*producer.setAttribute("mlt_service", "colour");
+ producer.setAttribute("colour", "red");
+ playlist.appendChild(producer);*/
+ multitrack.appendChild(playlist);
QDomElement playlist1 = m_document.createElement("playlist");
- playlist1.appendChild(prod);
+ playlist1.setAttribute("id", "playlist1");
+ playlist1.setAttribute("hide", "video");
multitrack.appendChild(playlist1);
QDomElement playlist2 = m_document.createElement("playlist");
+ playlist2.setAttribute("id", "playlist2");
+ playlist2.setAttribute("hide", "video");
multitrack.appendChild(playlist2);
QDomElement playlist3 = m_document.createElement("playlist");
multitrack.appendChild(playlist3);
+ playlist3.setAttribute("id", "playlist3");
QDomElement playlist4 = m_document.createElement("playlist");
- playlist4.setAttribute("hide", "video");
multitrack.appendChild(playlist4);
+ playlist4.setAttribute("id", "playlist4");
QDomElement playlist5 = m_document.createElement("playlist");
- playlist5.setAttribute("hide", "video");
multitrack.appendChild(playlist5);
+ playlist5.setAttribute("id", "playlist5");
tractor.appendChild(multitrack);
doc.appendChild(tractor);
KdenliveDoc::~KdenliveDoc()
{
delete m_commandStack;
+ delete m_clipManager;
+}
+
+ClipManager *KdenliveDoc::clipManager()
+{
+ return m_clipManager;
}
KUndoStack *KdenliveDoc::commandStack()
if (m_render) m_render->setSceneList(m_document);
}
+Render *KdenliveDoc::renderer()
+{
+ return m_render;
+}
+
+int KdenliveDoc::getFramePos(QString duration)
+{
+ return m_timecode.getFrameCount(duration, m_fps);
+}
+
QString KdenliveDoc::producerName(int id)
{
QString result = "unnamed";
return m_url;
}
+void KdenliveDoc::addClip(const QDomElement &elem, const int clipId)
+{
+ kDebug()<<"///////// DOCUM, CREATING NEW CLIP, ID:"<<clipId;
+ DocClipBase *clip = new DocClipBase(elem, clipId);
+ m_clipManager->addClip(clip);
+ emit addProjectClip(clip);
+}
+
+void KdenliveDoc::deleteClip(const uint clipId)
+{
+ m_clipManager->deleteClip(clipId);
+}
+
+void KdenliveDoc::slotAddClipFile(const KUrl url, const QString group)
+{
+ kDebug()<<"///////// DOCUM, ADD CLP: "<<url;
+ m_clipManager->slotAddClipFile(url, group);
+}
+
+DocClipBase *KdenliveDoc::getBaseClip(int clipId)
+{
+ return m_clipManager->getClipById(clipId);
+}
+
+void KdenliveDoc::slotAddColorClipFile(const QString name, const QString color, QString duration, const QString group)
+{
+ m_clipManager->slotAddColorClipFile(name, color, duration, group);
+}
+
#include "kdenlivedoc.moc"