aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Baptiste Mardelle <[email protected]>2015-01-02 01:25:37 +0100
committerJean-Baptiste Mardelle <[email protected]>2015-01-02 01:25:37 +0100
commit2a85cc99fb07ff998be3785c56e8e0ac6b5658d2 (patch)
tree354a1afe215caf1ff54449c04e434a4ba566ff47
parent033fd5b40293eb8fdd9b0241f659965a63684bd0 (diff)
Refactoring cleanup, remove references to DocClipBase
-rw-r--r--src/doc/docclipbase.h2
-rw-r--r--src/doc/kdenlivedoc.cpp34
-rw-r--r--src/doc/kdenlivedoc.h4
-rw-r--r--src/mainwindow.cpp15
-rw-r--r--src/mainwindow.h3
-rw-r--r--src/mltcontroller/bincontroller.cpp5
-rw-r--r--src/mltcontroller/bincontroller.h1
-rw-r--r--src/mltcontroller/clipcontroller.cpp19
-rw-r--r--src/project/clipmanager.cpp148
-rw-r--r--src/project/clipmanager.h12
-rw-r--r--src/project/dialogs/archivewidget.cpp27
-rw-r--r--src/project/dialogs/archivewidget.h3
-rw-r--r--src/project/dialogs/projectsettings.cpp39
-rw-r--r--src/project/projectlist.cpp68
-rw-r--r--src/project/projectlist.h4
-rw-r--r--src/timeline/trackview.cpp4
16 files changed, 148 insertions, 240 deletions
diff --git a/src/doc/docclipbase.h b/src/doc/docclipbase.h
index 9c252d7..c77b74b 100644
--- a/src/doc/docclipbase.h
+++ b/src/doc/docclipbase.h
@@ -58,7 +58,7 @@ public:
* done here. If a new clip type is added then it should be possible to combine it with both audio
* and video. */
- DocClipBase(ClipManager *clipManager, QDomElement xml, const QString &id);
+ Q_DECL_DEPRECATED DocClipBase(ClipManager *clipManager, QDomElement xml, const QString &id);
// DocClipBase & operator=(const DocClipBase & clip);
virtual ~ DocClipBase();
diff --git a/src/doc/kdenlivedoc.cpp b/src/doc/kdenlivedoc.cpp
index b5d7edd..a8698ab 100644
--- a/src/doc/kdenlivedoc.cpp
+++ b/src/doc/kdenlivedoc.cpp
@@ -19,7 +19,6 @@
#include "kdenlivedoc.h"
-#include "docclipbase.h"
#include "documentchecker.h"
#include "documentvalidator.h"
#include "mltcontroller/clipcontroller.h"
@@ -326,8 +325,8 @@ KdenliveDoc::KdenliveDoc(const QUrl &url, const QUrl &projectFolder, QUndoGroup
e = markerslist.at(k).toElement();
if (e.tagName() == "marker") {
CommentedTime marker(GenTime(e.attribute("time").toDouble()), e.attribute("comment"), e.attribute("type").toInt());
- DocClipBase *baseClip = m_clipManager->getClipById(e.attribute("id"));
- if (baseClip) baseClip->addSnapMarker(marker);
+ ClipController *controller = getClipController(e.attribute("id"));
+ if (controller) controller->addSnapMarker(marker);
else qDebug()<< " / / Warning, missing clip: "<< e.attribute("id");
}
}
@@ -759,18 +758,19 @@ QDomDocument KdenliveDoc::xmlSceneList(const QString &scene, const QStringList &
}
// Save project clips
+
QDomElement e;
- QList <DocClipBase*> list = m_clipManager->documentClipList();
+ QList <ClipController*> list = pCore->binController()->getControllerList();
for (int i = 0; i < list.count(); ++i) {
- e = list.at(i)->toXML(true);
+ /*e = list.at(i)->toXML(true);
e.setTagName("kdenlive_producer");
- addedXml.appendChild(sceneList.importNode(e, true));
+ addedXml.appendChild(sceneList.importNode(e, true));*/
QList < CommentedTime > marks = list.at(i)->commentedSnapMarkers();
for (int j = 0; j < marks.count(); ++j) {
QDomElement marker = sceneList.createElement("marker");
marker.setAttribute("time", marks.at(j).time().ms() / 1000);
marker.setAttribute("comment", marks.at(j).comment());
- marker.setAttribute("id", e.attribute("id"));
+ marker.setAttribute("id", list.at(i)->clipId());
marker.setAttribute("type", marks.at(j).markerType());
markers.appendChild(marker);
}
@@ -857,13 +857,13 @@ void KdenliveDoc::setProjectFolder(QUrl url)
void KdenliveDoc::moveProjectData(const QUrl &url)
{
- QList <DocClipBase*> list = m_clipManager->documentClipList();
+ QList <ClipController*> list = pCore->binController()->getControllerList();
QList<QUrl> cacheUrls;
for (int i = 0; i < list.count(); ++i) {
- DocClipBase *clip = list.at(i);
+ ClipController *clip = list.at(i);
if (clip->clipType() == Text) {
// the image for title clip must be moved
- QUrl oldUrl = clip->fileURL();
+ QUrl oldUrl = clip->clipUrl();
QUrl newUrl = QUrl::fromLocalFile(url.toLocalFile() + QDir::separator() + "titles/" + oldUrl.fileName());
KIO::Job *job = KIO::copy(oldUrl, newUrl);
if (job->exec()) clip->setProperty("resource", newUrl.path());
@@ -994,7 +994,7 @@ void KdenliveDoc::setRenderer(Render *render) {
void KdenliveDoc::checkProjectClips(bool displayRatioChanged, bool fpsChanged)
{
if (m_render == NULL) return;
- m_clipManager->resetProducersList(m_render->producersList(), displayRatioChanged, fpsChanged);
+ //m_clipManager->resetProducersList(m_render->producersList(), displayRatioChanged, fpsChanged);
}
Render *KdenliveDoc::renderer()
@@ -1096,7 +1096,7 @@ bool KdenliveDoc::addClip(QDomElement elem, const QString &clipId, bool createCl
qDebug()<<"ADDING CLIP COMMAND\n-----------\n"<<str;
return true;
- DocClipBase *clip = m_clipManager->getClipById(producerId);
+ /*DocClipBase *clip = m_clipManager->getClipById(producerId);
if (clip == NULL) {
QString clipFolder = KRecentDirs::dir(":KdenliveClipFolder");
@@ -1168,7 +1168,7 @@ bool KdenliveDoc::addClip(QDomElement elem, const QString &clipId, bool createCl
if (createClipItem) {
emit addProjectClip(clip);
}
-
+ */
return true;
}
@@ -1233,7 +1233,7 @@ QString KdenliveDoc::searchFileRecursively(const QDir &dir, const QString &match
bool KdenliveDoc::addClipInfo(QDomElement elem, QDomElement orig, const QString &clipId)
{
- DocClipBase *clip = m_clipManager->getClipById(clipId);
+ /*DocClipBase *clip = m_clipManager->getClipById(clipId);
if (clip == NULL) {
if (!addClip(elem, clipId, false))
return false;
@@ -1265,7 +1265,7 @@ bool KdenliveDoc::addClipInfo(QDomElement elem, QDomElement orig, const QString
clip->setMetadata(meta);
}
}
- return true;
+ return true;*/
}
@@ -1292,10 +1292,6 @@ ClipController *KdenliveDoc::getClipController(const QString &clipId)
return pCore->binController()->getController(clipId);
}
-DocClipBase *KdenliveDoc::getBaseClip(const QString &clipId)
-{
- return m_clipManager->getClipById(clipId);
-}
void KdenliveDoc::slotCreateXmlClip(const QString &name, const QDomElement &xml, const QString &group, const QString &groupId)
{
diff --git a/src/doc/kdenlivedoc.h b/src/doc/kdenlivedoc.h
index 16df5e0..ce5e0bc 100644
--- a/src/doc/kdenlivedoc.h
+++ b/src/doc/kdenlivedoc.h
@@ -41,7 +41,6 @@
class Render;
class ClipManager;
-class DocClipBase;
class MainWindow;
class TrackInfo;
class NotesPlugin;
@@ -93,7 +92,6 @@ public:
int getFramePos(const QString &duration);
ProjectClip *getBinClip(const QString &clipId);
ClipController *getClipController(const QString &clipId);
- DocClipBase *getBaseClip(const QString &clipId);
void updateClip(const QString &id);
/** @brief Informs Kdenlive of the audio thumbnails generation progress. */
@@ -255,7 +253,7 @@ private slots:
signals:
void resetProjectList();
- void addProjectClip(DocClipBase *, bool getInfo = true);
+ //void addProjectClip(DocClipBase *, bool getInfo = true);
void signalDeleteProjectClip(const QString &);
void updateClipDisplay(const QString&);
void progressInfo(const QString &, int);
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 7155956..de31d7a 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -669,8 +669,9 @@ void MainWindow::slotConnectMonitors()
connect(m_projectMonitor, SIGNAL(requestFrameForAnalysis(bool)), this, SLOT(slotMonitorRequestRenderFrame(bool)));
- connect(m_clipMonitor, SIGNAL(saveZone(Render*,QPoint,DocClipBase*)), this, SLOT(slotSaveZone(Render*,QPoint,DocClipBase*)));
- connect(m_projectMonitor, SIGNAL(saveZone(Render*,QPoint,DocClipBase*)), this, SLOT(slotSaveZone(Render*,QPoint,DocClipBase*)));
+ //TODO
+ /*connect(m_clipMonitor, SIGNAL(saveZone(Render*,QPoint,DocClipBase*)), this, SLOT(slotSaveZone(Render*,QPoint,DocClipBase*)));
+ connect(m_projectMonitor, SIGNAL(saveZone(Render*,QPoint,DocClipBase*)), this, SLOT(slotSaveZone(Render*,QPoint,DocClipBase*)));*/
}
void MainWindow::slotAdjustClipMonitor()
@@ -1313,7 +1314,7 @@ void MainWindow::slotEditProjectSettings()
if (project->getDocumentProperty("proxyparams") != w->proxyParams()) {
project->setModified();
project->setDocumentProperty("proxyparams", w->proxyParams());
- if (project->clipManager()->clipsCount() > 0 && KMessageBox::questionYesNo(this, i18n("You have changed the proxy parameters. Do you want to recreate all proxy clips for this project?")) == KMessageBox::Yes) {
+ if (pCore->binController()->clipCount() > 0 && KMessageBox::questionYesNo(this, i18n("You have changed the proxy parameters. Do you want to recreate all proxy clips for this project?")) == KMessageBox::Yes) {
//TODO: rebuild all proxies
//m_projectList->rebuildProxies();
}
@@ -1537,7 +1538,7 @@ void MainWindow::connectDocument()
connect(trackView, SIGNAL(setZoom(int)), this, SLOT(slotSetZoom(int)));
connect(trackView->projectView(), SIGNAL(displayMessage(QString,MessageType)), m_messageLabel, SLOT(setMessage(QString,MessageType)));
- connect(trackView->projectView(), SIGNAL(showClipFrame(DocClipBase*,QPoint,bool,int)), m_clipMonitor, SLOT(slotSetClipProducer(DocClipBase*,QPoint,bool,int)));
+ //connect(trackView->projectView(), SIGNAL(showClipFrame(DocClipBase*,QPoint,bool,int)), m_clipMonitor, SLOT(slotSetClipProducer(DocClipBase*,QPoint,bool,int)));
connect(trackView->projectView(), SIGNAL(playMonitor()), m_projectMonitor, SLOT(slotPlay()));
connect(trackView->projectView(), SIGNAL(transitionItemSelected(Transition*,int,QPoint,bool)), m_projectMonitor, SLOT(slotSetSelectedClip(Transition*)));
@@ -2454,7 +2455,7 @@ void MainWindow::hideEvent(QHideEvent */*event*/)
pCore->monitorManager()->stopActiveMonitor();
}
-void MainWindow::slotSaveZone(Render *render, const QPoint &zone, DocClipBase *baseClip, QUrl path)
+/*void MainWindow::slotSaveZone(Render *render, const QPoint &zone, DocClipBase *baseClip, QUrl path)
{
QPointer<QDialog> dialog = new QDialog(this);
dialog->setWindowTitle("Save clip zone");
@@ -2513,7 +2514,7 @@ void MainWindow::slotSaveZone(Render *render, const QPoint &zone, DocClipBase *b
else render->saveZone(url->url(), edit->text(), zone);
}
delete dialog;
-}
+}*/
void MainWindow::slotResizeItemStart()
{
@@ -3079,7 +3080,7 @@ void MainWindow::slotUpdateProxySettings()
void MainWindow::slotArchiveProject()
{
- QList <DocClipBase*> list = m_projectList->documentClipList();
+ QList <ClipController*> list = pCore->binController()->getControllerList();
QDomDocument doc = pCore->projectManager()->current()->xmlSceneList(m_projectMonitor->sceneList(), m_projectList->expandedFolders());
QPointer<ArchiveWidget> d = new ArchiveWidget(pCore->projectManager()->current()->url().fileName(), doc, list, pCore->projectManager()->currentTrackView()->projectView()->extractTransitionsLumas(), this);
if (d->exec()) {
diff --git a/src/mainwindow.h b/src/mainwindow.h
index 5d86961..0b16697 100644
--- a/src/mainwindow.h
+++ b/src/mainwindow.h
@@ -55,7 +55,6 @@ class TransitionSettings;
class Monitor;
class RecMonitor;
class RenderWidget;
-class DocClipBase;
class Render;
class Transition;
class KActionCollection;
@@ -361,7 +360,7 @@ private slots:
void slotAdjustClipMonitor();
void slotAdjustProjectMonitor();
- void slotSaveZone(Render *render, const QPoint &zone, DocClipBase *baseClip = NULL, QUrl path = QUrl());
+ //void slotSaveZone(Render *render, const QPoint &zone, DocClipBase *baseClip = NULL, QUrl path = QUrl());
void slotResizeItemStart();
void slotResizeItemEnd();
diff --git a/src/mltcontroller/bincontroller.cpp b/src/mltcontroller/bincontroller.cpp
index b444ece..33d8d67 100644
--- a/src/mltcontroller/bincontroller.cpp
+++ b/src/mltcontroller/bincontroller.cpp
@@ -290,3 +290,8 @@ ClipController *BinController::getController(const QString &id)
return m_clipList.value(id);
}
+const QList <ClipController *> BinController::getControllerList() const
+{
+ return m_clipList.values();
+}
+
diff --git a/src/mltcontroller/bincontroller.h b/src/mltcontroller/bincontroller.h
index f3a3199..736cc7b 100644
--- a/src/mltcontroller/bincontroller.h
+++ b/src/mltcontroller/bincontroller.h
@@ -123,6 +123,7 @@ public:
Mlt::Producer *cloneProducer(Mlt::Producer &original);
ClipController *getController(const QString &id);
+ const QList <ClipController *> getControllerList() const;
void replaceBinPlaylistClip(const QString &id, Mlt::Producer &producer);
diff --git a/src/mltcontroller/clipcontroller.cpp b/src/mltcontroller/clipcontroller.cpp
index 01b7af5..2885c3f 100644
--- a/src/mltcontroller/clipcontroller.cpp
+++ b/src/mltcontroller/clipcontroller.cpp
@@ -229,7 +229,6 @@ ClipType ClipController::clipType() const
QPixmap ClipController::pixmap(int framePosition, int width, int height)
{
//int currentPosition = position();
- return QPixmap();
m_masterProducer->seek(framePosition);
Mlt::Frame *frame = m_masterProducer->get_frame();
if (frame == NULL || !frame->is_valid()) {
@@ -274,24 +273,6 @@ QPixmap ClipController::pixmap(int framePosition, int width, int height)
pixmap.convertFromImage(image);
return pixmap;
-
- //const uchar* imagedata = frame->get_image(format, ow, oh);
- //QImage image(imagedata, ow, oh, QImage::Format_ARGB32_Premultiplied);
-
- /*if (!image.isNull()) {
- if (ow > (2 * displayWidth)) {
- // there was a scaling problem, do it manually
- image = image.scaled(displayWidth, height).rgbSwapped();
- } else {
- image = image.scaled(displayWidth, height, Qt::IgnoreAspectRatio).rgbSwapped();
- }
- p.fill(QColor(Qt::black).rgb());
- QPainter painter(&p);
- painter.drawImage(p.rect(), image);
- painter.end();
- } else
- p.fill(QColor(Qt::red).rgb());
- return p;*/
}
QList < GenTime > ClipController::snapMarkers() const
diff --git a/src/project/clipmanager.cpp b/src/project/clipmanager.cpp
index 2433ca5..54ff3bb 100644
--- a/src/project/clipmanager.cpp
+++ b/src/project/clipmanager.cpp
@@ -20,11 +20,10 @@
#include "clipmanager.h"
#include "subprojectitem.h"
-
+#include "mltcontroller/clipcontroller.h"
#include "kdenlivesettings.h"
#include "doc/kthumb.h"
#include "doc/doccommands.h"
-#include "doc/docclipbase.h"
#include "doc/kdenlivedoc.h"
#include "timeline/abstractclipitem.h"
#include "timeline/abstractgroupitem.h"
@@ -92,8 +91,6 @@ ClipManager::~ClipManager()
m_audioThumbsQueue.clear();
m_thumbsMutex.unlock();
- qDeleteAll(m_clipList);
- m_clipList.clear();
delete pixmapCache;
}
@@ -111,8 +108,6 @@ void ClipManager::clear()
m_abortAudioThumb = false;
m_folderList.clear();
m_modifiedClips.clear();
- qDeleteAll(m_clipList);
- m_clipList.clear();
m_folderIdCounter = 1;
pixmapCache->clear();
}
@@ -187,6 +182,8 @@ void ClipManager::slotGetThumbs()
}
m_thumbsMutex.unlock();
qSort(values);
+ //TODO
+ /*
DocClipBase *clip = getClipById(m_processingThumbId);
if (!clip) continue;
max = m_requestedThumbs.size() + values.count();
@@ -207,6 +204,7 @@ void ClipManager::slotGetThumbs()
done++;
if (max > 3) emit displayMessage(i18n("Loading thumbnails"), 100 * done / max);
}
+ */
}
m_processingThumbId.clear();
emit displayMessage(QString(), -1);
@@ -227,11 +225,14 @@ void ClipManager::checkAudioThumbs()
}
m_thumbsMutex.lock();
+ //TODO
+ /*
for (int i = 0; i < m_clipList.count(); ++i) {
DocClipBase *clip = m_clipList.at(i);
if (clip->hasAudioThumb() && !clip->audioThumbCreated())
m_audioThumbsQueue.append(m_clipList.at(i)->getId());
}
+ */
m_thumbsMutex.unlock();
if (!m_audioThumbsThread.isRunning() && !m_audioThumbsQueue.isEmpty()) {
m_audioThumbsThread = QtConcurrent::run(this, &ClipManager::slotGetAudioThumbs);
@@ -240,17 +241,18 @@ void ClipManager::checkAudioThumbs()
void ClipManager::askForAudioThumb(const QString &id)
{
- DocClipBase *clip = getClipById(id);
+ /*DocClipBase *clip = getClipById(id);
if (clip && KdenliveSettings::audiothumbnails() && (clip->hasAudioThumb())) {
m_thumbsMutex.lock();
if (!m_audioThumbsQueue.contains(id)) m_audioThumbsQueue.append(id);
m_thumbsMutex.unlock();
if (!m_audioThumbsThread.isRunning()) m_audioThumbsThread = QtConcurrent::run(this, &ClipManager::slotGetAudioThumbs);
- }
+ }*/
}
void ClipManager::slotGetAudioThumbs()
{
+ /*
Mlt::Profile prof((char*) KdenliveSettings::current_profile().toUtf8().constData());
mlt_audio_format audioFormat = mlt_audio_s16;
while (!m_abortAudioThumb && !m_audioThumbsQueue.isEmpty()) {
@@ -327,11 +329,11 @@ void ClipManager::slotGetAudioThumbs()
producer.set("video_index", "-1");
- if (KdenliveSettings::normaliseaudiothumbs()) {
- /*Mlt::Filter m_convert(prof, "volume");
- m_convert.set("gain", "normalise");
- producer.attach(m_convert);*/
- }
+ //if (KdenliveSettings::normaliseaudiothumbs()) {
+ //Mlt::Filter m_convert(prof, "volume");
+ //m_convert.set("gain", "normalise");
+ //producer.attach(m_convert);
+ //}
int last_val = 0;
double framesPerSecond = mlt_producer_get_fps(producer.get_producer());
@@ -381,6 +383,7 @@ void ClipManager::slotGetAudioThumbs()
}
}
m_processingAudioThumbId.clear();
+ */
}
void ClipManager::setThumbsProgress(const QString &message, int progress)
@@ -388,21 +391,12 @@ void ClipManager::setThumbsProgress(const QString &message, int progress)
m_doc->setThumbsProgress(message, progress);
}
-QList <DocClipBase*> ClipManager::documentClipList() const
-{
- return m_clipList;
-}
QMap <QString, QString> ClipManager::documentFolderList() const
{
return m_folderList;
}
-void ClipManager::setClipProducer(DocClipBase *clip, Mlt::Producer *producer, bool replace)
-{
- //clip->setProducer(*producer, replace);
-}
-
void ClipManager::slotAddClip(const QString &url, const QString &groupName, const QString &groupId)
{
//qDebug()<<"// Adding clip: "<<url;
@@ -555,19 +549,6 @@ void ClipManager::addProjectClip(QDomElement xml, const QString &clipId)
pCore->bin()->createClip(xml);
}
-void ClipManager::addClip(DocClipBase *clip)
-{
- m_clipList.append(clip);
- if (clip->clipType() != Color && clip->clipType() != SlideShow && !clip->fileURL().isEmpty()) {
- // listen for file change
- ////qDebug() << "// LISTEN FOR: " << clip->fileURL().path();
- m_fileWatcher.addFile(clip->fileURL().path());
- }
- const QString id = clip->getId();
- const QString gid = clip->getProperty("groupid");
- if (!gid.isEmpty() && gid.toInt() >= m_folderIdCounter) m_folderIdCounter = gid.toInt() + 1;
-}
-
void ClipManager::slotDeleteClips(QStringList ids)
{
QUndoCommand *delClips = new QUndoCommand();
@@ -587,38 +568,17 @@ void ClipManager::slotDeleteClips(QStringList ids)
void ClipManager::deleteClip(const QString &clipId)
{
+ ClipController *controller = pCore->binController()->getController(clipId);
+ ClipType type = controller->clipType();
+ QString url = controller->clipUrl().toLocalFile();
+ if (type != Color && type != SlideShow && !url.isEmpty()) {
+ m_fileWatcher.removeFile(url);
+ }
pCore->binController()->removeBinClip(clipId);
pCore->bin()->deleteClip(clipId);
- return;
- for (int i = 0; i < m_clipList.count(); ++i) {
- if (m_clipList.at(i)->getId() == clipId) {
- DocClipBase *clip = m_clipList.takeAt(i);
- if (clip->clipType() != Color && clip->clipType() != SlideShow && !clip->fileURL().isEmpty()) {
- //if (m_clipList.at(i)->clipType() == IMAGE || m_clipList.at(i)->clipType() == AUDIO || (m_clipList.at(i)->clipType() == TEXT && !m_clipList.at(i)->fileURL().isEmpty())) {
- // listen for file change
- m_fileWatcher.removeFile(clip->fileURL().path());
- }
- delete clip;
- clip = NULL;
- break;
- }
- }
-}
-
-DocClipBase *ClipManager::getClipById(QString clipId)
-{
- ////qDebug() << "++++ CLIP MAN, LOOKING FOR CLIP ID: " << clipId;
- clipId = clipId.section('_', 0, 0);
- for (int i = 0; i < m_clipList.count(); ++i) {
- if (m_clipList.at(i)->getId() == clipId) {
- ////qDebug() << "++++ CLIP MAN, FOUND FOR CLIP ID: " << clipId;
- return m_clipList.at(i);
- }
- }
- return NULL;
}
-const QList <DocClipBase *> ClipManager::getClipByResource(const QString &resource)
+/*const QList <DocClipBase *> ClipManager::getClipByResource(const QString &resource)
{
QList <DocClipBase *> list;
QString clipResource;
@@ -632,43 +592,16 @@ const QList <DocClipBase *> ClipManager::getClipByResource(const QString &resour
}
}
return list;
-}
+}*/
void ClipManager::clearUnusedProducers()
{
- for (int i = 0; i < m_clipList.count(); ++i) {
+/* for (int i = 0; i < m_clipList.count(); ++i) {
if (m_clipList.at(i)->numReferences() == 0) m_clipList.at(i)->deleteProducers();
- }
+ }*/
}
-void ClipManager::resetProducersList(const QList <Mlt::Producer *> prods, bool displayRatioChanged, bool fpsChanged)
-{
- for (int i = 0; i < m_clipList.count(); ++i) {
- if (m_clipList.at(i)->numReferences() > 0 || displayRatioChanged || fpsChanged) {
- m_clipList.at(i)->deleteProducers();
- }
- }
- QString id;
- Mlt::Producer *prod;
- QStringList brokenClips;
- for (int i = 0; i < prods.count(); ++i) {
- prod = prods.at(i);
- id = prod->get("id");
- if (id.contains('_')) id = id.section('_', 0, 0);
- DocClipBase *clip = getClipById(id);
- QString markup = prod->get("markup");
- if (prod->is_blank() || !prod->is_valid() || !markup.isEmpty()) {
- // The clip is broken (missing proxy or source clip)
- //qDebug()<<"// WARNING, CLIP "<<id<<" Cannot be loaded";
- brokenClips << id;
- }
- else if (clip) {
- clip->setProducer(*prod, false, true);
- }
- }
- emit checkAllClips(displayRatioChanged, fpsChanged, brokenClips);
-}
void ClipManager::slotAddCopiedClip(KIO::Job *job, const QUrl &, const QUrl &dst)
{
@@ -689,7 +622,8 @@ void ClipManager::doAddClipList(const QList<QUrl> &urls, const QMap <QString, QS
listRemovableVolumes();
foreach(const QUrl &file, urls) {
if (QFile::exists(file.path())) {
- if (!data.contains("bypassDuplicate") && !getClipByResource(file.path()).empty()) {
+ //TODO check for duplicates
+ if (!data.contains("bypassDuplicate") && false /*!getClipByResource(file.path()).empty()*/) {
if (KMessageBox::warningContinueCancel(QApplication::activeWindow(), i18n("Clip <b>%1</b><br />already exists in project, what do you want to do?", file.path()), i18n("Clip already exists")) == KMessageBox::Cancel)
continue;
}
@@ -1004,8 +938,9 @@ QDomElement ClipManager::groupsXml() const
void ClipManager::slotClipModified(const QString &path)
{
- ////qDebug() << "// CLIP: " << path << " WAS MODIFIED";
- const QList <DocClipBase *> list = getClipByResource(path);
+ qDebug() << "// CLIP: " << path << " WAS MODIFIED";
+ //TODO
+ /*const QList <DocClipBase *> list = getClipByResource(path);
for (int i = 0; i < list.count(); ++i) {
DocClipBase *clip = list.at(i);
if (clip != NULL) {
@@ -1015,7 +950,7 @@ void ClipManager::slotClipModified(const QString &path)
m_modifiedClips[id] = QTime::currentTime();
}
}
- if (!m_modifiedTimer.isActive()) m_modifiedTimer.start();
+ if (!m_modifiedTimer.isActive()) m_modifiedTimer.start();*/
}
void ClipManager::slotProcessModifiedClips()
@@ -1036,27 +971,24 @@ void ClipManager::slotProcessModifiedClips()
void ClipManager::slotClipMissing(const QString &path)
{
- // //qDebug() << "// CLIP: " << path << " WAS MISSING";
- const QList <DocClipBase *> list = getClipByResource(path);
+ qDebug() << "// CLIP: " << path << " WAS MISSING";
+ //TODO
+ /*const QList <DocClipBase *> list = getClipByResource(path);
for (int i = 0; i < list.count(); ++i) {
DocClipBase *clip = list.at(i);
if (clip != NULL) emit missingClip(clip->getId());
- }
+ }*/
}
void ClipManager::slotClipAvailable(const QString &path)
{
- // //qDebug() << "// CLIP: " << path << " WAS ADDED";
- const QList <DocClipBase *> list = getClipByResource(path);
+ qDebug() << "// CLIP: " << path << " WAS ADDED";
+ //TODO
+ /*const QList <DocClipBase *> list = getClipByResource(path);
for (int i = 0; i < list.count(); ++i) {
DocClipBase *clip = list.at(i);
if (clip != NULL) emit availableClip(clip->getId());
- }
-}
-
-int ClipManager::clipsCount() const
-{
- return m_clipList.count();
+ }*/
}
diff --git a/src/project/clipmanager.h b/src/project/clipmanager.h
index 2648351..f284221 100644
--- a/src/project/clipmanager.h
+++ b/src/project/clipmanager.h
@@ -43,7 +43,6 @@
class KdenliveDoc;
-class DocClipBase;
class AbstractGroupItem;
@@ -71,12 +70,8 @@ Q_OBJECT public:
ClipManager(KdenliveDoc *doc);
virtual ~ ClipManager();
- void addClip(DocClipBase *clip);
void deleteClip(const QString &clipId);
- // Set producer on a DocClipBase and insert it in the bin's playlist
- void setClipProducer(DocClipBase *clip, Mlt::Producer *producer, bool replace);
-
/** @brief Adds a list of files to the project.
* @param urls files to add
* @param group name of the group to insert the files in (can be empty)
@@ -99,19 +94,16 @@ Q_OBJECT public:
void slotAddXmlClipFile(const QString &name, const QDomElement &xml, const QString &group, const QString &groupId);
void slotAddColorClipFile(const QString &name, const QString &color, const QString &duration, const QString &group, const QString &groupId);
void slotAddSlideshowClipFile(QMap <QString, QString> properties, const QString &group, const QString &groupId);
- DocClipBase *getClipById(QString clipId);
- const QList <DocClipBase *> getClipByResource(const QString &resource);
+ //const QList <DocClipBase *> getClipByResource(const QString &resource);
void slotDeleteClips(QStringList ids);
void setThumbsProgress(const QString &message, int progress);
void checkAudioThumbs();
- QList <DocClipBase*> documentClipList() const;
QMap <QString, QString> documentFolderList() const;
int getFreeFolderId();
int lastClipId() const;
void askForAudioThumb(const QString &id);
QString projectFolder() const;
void clearUnusedProducers();
- void resetProducersList(const QList <Mlt::Producer *> prods, bool displayRatioChanged, bool fpsChanged);
void addFolder(const QString&, const QString&);
void deleteFolder(const QString&);
void clear();
@@ -119,7 +111,6 @@ Q_OBJECT public:
AbstractGroupItem *createGroup();
void removeGroup(AbstractGroupItem *group);
QDomElement groupsXml() const;
- int clipsCount() const;
/** @brief remove a clip id from the queue list. */
void stopThumbs(const QString &id);
void projectTreeThumbReady(const QString &id, int frame, const QImage &img, int type);
@@ -150,7 +141,6 @@ private slots:
private: // Private attributes
/** the list of clips in the document */
- QList <DocClipBase*> m_clipList;
/** the list of groups in the document */
QList <AbstractGroupItem *> m_groupsList;
QMap <QString, QString> m_folderList;
diff --git a/src/project/dialogs/archivewidget.cpp b/src/project/dialogs/archivewidget.cpp
index 8983d8d..ad9a02d 100644
--- a/src/project/dialogs/archivewidget.cpp
+++ b/src/project/dialogs/archivewidget.cpp
@@ -21,6 +21,7 @@
#include "archivewidget.h"
#include "projectsettings.h"
#include "titler/titlewidget.h"
+#include "mltcontroller/clipcontroller.h"
#include <klocalizedstring.h>
#include <KDiskFreeSpaceInfo>
@@ -36,7 +37,7 @@
#include <QTreeWidget>
#include <QtConcurrent>
-ArchiveWidget::ArchiveWidget(const QString &projectName, const QDomDocument &doc, const QList <DocClipBase*> &list, const QStringList &luma_list, QWidget * parent) :
+ArchiveWidget::ArchiveWidget(const QString &projectName, const QDomDocument &doc, const QList <ClipController*> &list, const QStringList &luma_list, QWidget * parent) :
QDialog(parent)
, m_requestedSize(0)
, m_copyJob(NULL)
@@ -113,31 +114,31 @@ ArchiveWidget::ArchiveWidget(const QString &projectName, const QDomDocument &doc
QMap <QString, QString>proxyUrls;
for (int i = 0; i < list.count(); ++i) {
- DocClipBase *clip = list.at(i);
+ ClipController *clip = list.at(i);
ClipType t = clip->clipType();
- QString id = clip->getId();
+ QString id = clip->clipId();
if (t == SlideShow) {
- QUrl slideUrl = clip->fileURL();
+ QUrl slideUrl = clip->clipUrl();
//TODO: Slideshow files
slideUrls.insert(id, slideUrl.path());
}
- else if (t == Image) imageUrls.insert(id, clip->fileURL().path());
+ else if (t == Image) imageUrls.insert(id, clip->clipUrl().path());
else if (t == Text) {
- QStringList imagefiles = TitleWidget::extractImageList(clip->getProperty("xmldata"));
- QStringList fonts = TitleWidget::extractFontList(clip->getProperty("xmldata"));
+ QStringList imagefiles = TitleWidget::extractImageList(clip->property("xmldata"));
+ QStringList fonts = TitleWidget::extractFontList(clip->property("xmldata"));
extraImageUrls << imagefiles;
allFonts << fonts;
} else if (t == Playlist) {
- playlistUrls.insert(id, clip->fileURL().path());
- QStringList files = ProjectSettings::extractPlaylistUrls(clip->fileURL().path());
+ playlistUrls.insert(id, clip->clipUrl().path());
+ QStringList files = ProjectSettings::extractPlaylistUrls(clip->clipUrl().path());
otherUrls << files;
}
- else if (!clip->fileURL().isEmpty()) {
- if (t == Audio) audioUrls.insert(id, clip->fileURL().path());
+ else if (!clip->clipUrl().isEmpty()) {
+ if (t == Audio) audioUrls.insert(id, clip->clipUrl().path());
else {
- videoUrls.insert(id, clip->fileURL().path());
+ videoUrls.insert(id, clip->clipUrl().path());
// Check if we have a proxy
- QString proxy = clip->getProperty("proxy");
+ QString proxy = clip->property("proxy");
if (!proxy.isEmpty() && proxy != "-" && QFile::exists(proxy)) proxyUrls.insert(id, proxy);
}
}
diff --git a/src/project/dialogs/archivewidget.h b/src/project/dialogs/archivewidget.h
index a6f0b10..61caa67 100644
--- a/src/project/dialogs/archivewidget.h
+++ b/src/project/dialogs/archivewidget.h
@@ -36,6 +36,7 @@
class KJob;
class KArchive;
+class ClipController;
/**
* @class ArchiveWidget
@@ -50,7 +51,7 @@ class ArchiveWidget : public QDialog, public Ui::ArchiveWidget_UI
Q_OBJECT
public:
- ArchiveWidget(const QString &projectName, const QDomDocument &doc, const QList <DocClipBase*> &list, const QStringList &luma_list, QWidget * parent = 0);
+ ArchiveWidget(const QString &projectName, const QDomDocument &doc, const QList <ClipController*> &list, const QStringList &luma_list, QWidget * parent = 0);
// Constructor for extracting widget
explicit ArchiveWidget(const QUrl &url, QWidget * parent = 0);
~ArchiveWidget();
diff --git a/src/project/dialogs/projectsettings.cpp b/src/project/dialogs/projectsettings.cpp
index 4e6925c..73baef2 100644
--- a/src/project/dialogs/projectsettings.cpp
+++ b/src/project/dialogs/projectsettings.cpp
@@ -24,7 +24,8 @@
#include "titler/titlewidget.h"
#include "effectslist/effectslist.h"
#include "dialogs/profilesdialog.h"
-
+#include "mltcontroller/clipcontroller.h"
+#include "mltcontroller/bincontroller.h"
#include <KMessageBox>
#include <QDebug>
@@ -205,6 +206,8 @@ ProjectSettings::ProjectSettings(ProjectList *projectlist, QMap <QString, QStrin
void ProjectSettings::slotDeleteUnused()
{
QStringList toDelete;
+ //TODO
+ /*
QList <DocClipBase*> list = m_projectList->documentClipList();
for (int i = 0; i < list.count(); ++i) {
DocClipBase *clip = list.at(i);
@@ -233,6 +236,7 @@ void ProjectSettings::slotDeleteUnused()
if (KMessageBox::warningYesNoList(this, i18n("This will remove the following files from your hard drive.\nThis action cannot be undone, only use if you know what you are doing.\nAre you sure you want to continue?"), toDelete, i18n("Delete unused clips")) != KMessageBox::Yes) return;
m_projectList->trashUnusedClips();
slotUpdateFiles();
+ */
}
void ProjectSettings::slotClearCache()
@@ -287,7 +291,7 @@ void ProjectSettings::slotUpdateFiles(bool cacheOnly)
int used = 0;
KIO::filesize_t usedSize = 0;
KIO::filesize_t unUsedSize = 0;
- QList <DocClipBase*> list = m_projectList->documentClipList();
+ QList <ClipController*> list = m_projectList->binController()->getControllerList();
files_list->clear();
// List all files that are used in the project. That also means:
@@ -324,59 +328,60 @@ void ProjectSettings::slotUpdateFiles(bool cacheOnly)
}
for (int i = 0; i < list.count(); ++i) {
- DocClipBase *clip = list.at(i);
+ ClipController *clip = list.at(i);
if (clip->clipType() == SlideShow) {
- QStringList subfiles = extractSlideshowUrls(clip->fileURL());
+ QStringList subfiles = extractSlideshowUrls(clip->clipUrl());
foreach(const QString & file, subfiles) {
count++;
new QTreeWidgetItem(slideshows, QStringList() << file);
}
- } else if (!clip->fileURL().isEmpty()) {
+ } else if (!clip->clipUrl().isEmpty()) {
//allFiles.append(clip->fileURL().path());
switch (clip->clipType()) {
case Text:
- new QTreeWidgetItem(texts, QStringList() << clip->fileURL().path());
+ new QTreeWidgetItem(texts, QStringList() << clip->clipUrl().path());
break;
case Audio:
- new QTreeWidgetItem(sounds, QStringList() << clip->fileURL().path());
+ new QTreeWidgetItem(sounds, QStringList() << clip->clipUrl().path());
break;
case Image:
- new QTreeWidgetItem(images, QStringList() << clip->fileURL().path());
+ new QTreeWidgetItem(images, QStringList() << clip->clipUrl().path());
break;
case Playlist:
- new QTreeWidgetItem(playlists, QStringList() << clip->fileURL().path());
+ new QTreeWidgetItem(playlists, QStringList() << clip->clipUrl().path());
break;
case Unknown:
- new QTreeWidgetItem(others, QStringList() << clip->fileURL().path());
+ new QTreeWidgetItem(others, QStringList() << clip->clipUrl().path());
break;
default:
- new QTreeWidgetItem(videos, QStringList() << clip->fileURL().path());
+ new QTreeWidgetItem(videos, QStringList() << clip->clipUrl().path());
break;
}
count++;
}
if (clip->clipType() == Text) {
- QStringList imagefiles = TitleWidget::extractImageList(clip->getProperty("xmldata"));
- QStringList fonts = TitleWidget::extractFontList(clip->getProperty("xmldata"));
+ QStringList imagefiles = TitleWidget::extractImageList(clip->property("xmldata"));
+ QStringList fonts = TitleWidget::extractFontList(clip->property("xmldata"));
foreach(const QString & file, imagefiles) {
count++;
new QTreeWidgetItem(images, QStringList() << file);
}
allFonts << fonts;
} else if (clip->clipType() == Playlist) {
- QStringList files = extractPlaylistUrls(clip->fileURL().path());
+ QStringList files = extractPlaylistUrls(clip->clipUrl().path());
foreach(const QString & file, files) {
count++;
new QTreeWidgetItem(others, QStringList() << file);
}
}
- if (clip->numReferences() == 0) {
+ //TODO
+ if (false /*clip->numReferences() == 0*/) {
unused++;
- unUsedSize += clip->fileSize();
+ //unUsedSize += clip->fileSize();
} else {
used++;
- usedSize += clip->fileSize();
+ //usedSize += clip->fileSize();
}
}
allFonts.removeDuplicates();
diff --git a/src/project/projectlist.cpp b/src/project/projectlist.cpp
index 80743bd..b78534d 100644
--- a/src/project/projectlist.cpp
+++ b/src/project/projectlist.cpp
@@ -1489,6 +1489,7 @@ void ProjectList::getCachedThumbnail(SubProjectItem *item)
void ProjectList::updateAllClips(bool displayRatioChanged, bool fpsChanged, const QStringList &brokenClips)
{
+ /*
if (!m_allClipsProcessed) m_listView->setEnabled(false);
m_listView->setSortingEnabled(false);
QTreeWidgetItemIterator it(m_listView);
@@ -1609,6 +1610,7 @@ void ProjectList::updateAllClips(bool displayRatioChanged, bool fpsChanged, cons
monitorItemEditing(true);
slotProcessNextThumbnail();
}
+ */
}
// static
@@ -1991,14 +1993,14 @@ void ProjectList::setDocument(KdenliveDoc *doc)
folder->setExpanded(openedFolders.contains(f.key()));
}
- QList <DocClipBase*> list = doc->clipManager()->documentClipList();
+ /*QList <DocClipBase*> list = doc->clipManager()->documentClipList();
if (list.isEmpty()) {
// blank document
m_refreshed = true;
m_allClipsProcessed = true;
}
for (int i = 0; i < list.count(); ++i)
- slotAddClip(list.at(i), false);
+ slotAddClip(list.at(i), false);*/
m_listView->blockSignals(false);
connect(m_doc->clipManager(), SIGNAL(reloadClip(QString)), this, SLOT(slotReloadClip(QString)));
@@ -2028,32 +2030,6 @@ void ProjectList::slotSetThumbnail(const QString &id, int framePos, QImage img)
}
}
-QList <DocClipBase*> ProjectList::documentClipList() const
-{
- if (m_doc == NULL)
- return QList <DocClipBase*> ();
-
- return m_doc->clipManager()->documentClipList();
-}
-
-QDomElement ProjectList::producersList()
-{
- QDomDocument doc;
- QDomElement prods = doc.createElement("producerlist");
- doc.appendChild(prods);
- QTreeWidgetItemIterator it(m_listView);
- while (*it) {
- if ((*it)->type() != ProjectClipType) {
- // subitem
- ++it;
- continue;
- }
- prods.appendChild(doc.importNode(((ProjectItem *)(*it))->toXml(), true));
- ++it;
- }
- return prods;
-}
-
void ProjectList::slotCheckForEmptyQueue()
{
if (m_render->processingItems() == 0 && m_thumbnailQueue.isEmpty()) {
@@ -2094,8 +2070,9 @@ void ProjectList::slotProcessNextThumbnail()
slotCheckForEmptyQueue();
return;
}
- int max = m_doc->clipManager()->clipsCount();
- emit displayMessage(i18n("Loading thumbnails"), (int)(100 *(max - m_thumbnailQueue.count()) / max));
+ //TODO
+ /*int max = m_doc->clipManager()->clipsCount();
+ emit displayMessage(i18n("Loading thumbnails"), (int)(100 *(max - m_thumbnailQueue.count()) / max));*/
slotRefreshClipThumbnail(m_thumbnailQueue.takeFirst(), false);
}
@@ -2312,9 +2289,12 @@ void ProjectList::slotReplyGetFileProperties(requestClipInfo &clipInfo, Mlt::Pro
emit firstClip(item);
}
} else {
+ //TODO
+ /*
int max = m_doc->clipManager()->clipsCount();
if (max > 0)
emit displayMessage(i18n("Loading clips"), (int)(100 *(max - queue) / max));
+ */
}
if (m_allClipsProcessed)
@@ -2717,6 +2697,8 @@ void ProjectList::slotAddOrUpdateSequence(const QString &frameName)
QString pattern = SlideshowClip::selectedPath(QUrl::fromLocalFile(frameName), false, QString(), &list);
int count = list.count();
if (count > 1) {
+ //TODO
+ /*
const QList <DocClipBase *> existing = m_doc->clipManager()->getClipByResource(pattern);
if (!existing.isEmpty()) {
// Sequence already exists, update
@@ -2728,9 +2710,8 @@ void ProjectList::slotAddOrUpdateSequence(const QString &frameName)
oldprops["out"] = existing.at(0)->getProperty("out");
newprops["out"] = QString::number(ttl * count - 1);
slotUpdateClipProperties(id, newprops);
- //TODO
/*EditClipCommand *command = new EditClipCommand(this, id, oldprops, newprops, false);
- m_commandStack->push(command);*/
+ m_commandStack->push(command);
} else {
// Create sequence
QStringList groupInfo = getGroup();
@@ -2748,6 +2729,7 @@ void ProjectList::slotAddOrUpdateSequence(const QString &frameName)
m_doc->slotCreateSlideshowClipFile(properties, groupInfo.at(0), groupInfo.at(1));
}
+ */
} else emit displayMessage(i18n("Sequence not found"), -2, ErrorMessage);
}
@@ -2995,6 +2977,7 @@ void ProjectList::slotAbortProxy(const QString &id, const QString &path)
void ProjectList::slotProcessJobs()
{
+ /*
while (!m_jobList.isEmpty() && !m_abortAllJobs) {
emit projectModified();
AbstractClipJob *job = NULL;
@@ -3066,6 +3049,7 @@ void ProjectList::slotProcessJobs()
}
// Thread finished, cleanup & update count
QTimer::singleShot(200, this, SIGNAL(checkJobProcess()));
+ */
}
@@ -3326,6 +3310,8 @@ void ProjectList::processThumbOverlays(ProjectItem *item, QPixmap &pix)
void ProjectList::slotCancelJobs()
{
+ //TODO in jobmanager
+ /*
m_abortAllJobs = true;
for (int i = 0; i < m_jobList.count(); ++i) {
m_jobList.at(i)->setStatus(JobAborted);
@@ -3353,19 +3339,22 @@ void ProjectList::slotCancelJobs()
m_jobList.clear();
m_abortAllJobs = false;
m_infoLabel->slotSetJobCount(0);
+ */
}
void ProjectList::slotCancelRunningJob(const QString id, stringMap newProps)
{
+ //TODO
+ /*
if (newProps.isEmpty() || m_closing) return;
DocClipBase *currentClip = m_doc->clipManager()->getClipById(id);
if (!currentClip) return;
QMap <QString, QString> oldProps = currentClip->currentProperties(newProps);
if (newProps == oldProps) return;
QMapIterator<QString, QString> i(oldProps);
- //TODO
- /*EditClipCommand *command = new EditClipCommand(this, id, oldProps, newProps, true);
- m_commandStack->push(command);*/
+ EditClipCommand *command = new EditClipCommand(this, id, oldProps, newProps, true);
+ m_commandStack->push(command);
+ */
}
bool ProjectList::hasPendingJob(ProjectItem *item, AbstractClipJob::JOBTYPE type)
@@ -3542,11 +3531,13 @@ void ProjectList::startClipFilterJob(const QString &filterName, const QString &c
delete cons;
QString groupId;
QString groupName;
- DocClipBase *base = m_doc->clipManager()->getClipById(keys.at(ix));
+ //TODO
+ /*DocClipBase *base = m_doc->clipManager()->getClipById(keys.at(ix));
if (base) {
groupId = base->getProperty("groupid");
groupName = base->getProperty("groupname");
}
+ */
emit addClip(dest, groupId, groupName);
ix++;
}
@@ -3812,6 +3803,11 @@ void ProjectList::slotGotFilterJobResults(QString id, int , int , stringMap resu
}
}
+// Should be removed (hack to fix projectsettings)
+BinController *ProjectList::binController()
+{
+ return pCore->binController();
+}
/*
// Work in progress: apply filter based on clip's camcorder
diff --git a/src/project/projectlist.h b/src/project/projectlist.h
index 2fc3c97..0fc820b 100644
--- a/src/project/projectlist.h
+++ b/src/project/projectlist.h
@@ -73,6 +73,7 @@ class Producer;
}
class ProjectItem;
+class BinController;
class ProjectListView;
class Render;
class KdenliveDoc;
@@ -112,7 +113,7 @@ public:
ProjectList(QWidget *parent = 0);
virtual ~ProjectList();
- QDomElement producersList();
+ BinController *binController();
void setRenderer(Render *projectRender);
void slotUpdateClipProperties(const QString &id, QMap <QString, QString> properties);
QByteArray headerInfo() const;
@@ -125,7 +126,6 @@ public:
QDomDocument generateTemplateXml(QString data, const QString &replaceString);
void cleanup();
void trashUnusedClips();
- QList <DocClipBase*> documentClipList() const;
void addClipCut(const QString &id, int in, int out, const QString desc, bool newItem);
void removeClipCut(const QString &id, int in, int out);
void focusTree() const;
diff --git a/src/timeline/trackview.cpp b/src/timeline/trackview.cpp
index 25c77a4..efd8095 100644
--- a/src/timeline/trackview.cpp
+++ b/src/timeline/trackview.cpp
@@ -1074,10 +1074,12 @@ DocClipBase *TrackView::getMissingProducer(const QString &id) const
//qDebug()<<"******************\nADJUSTED 2\n*************************";
}
DocClipBase *missingClip = NULL;
+ //TODO
+ /*
if (!resource.isEmpty()) {
QList <DocClipBase *> list = m_doc->clipManager()->getClipByResource(resource);
if (!list.isEmpty()) missingClip = list.at(0);
- }
+ }*/
return missingClip;
}