+ return m_clipType;
+}
+
+int ProjectItem::clipMaxDuration() const
+{
+ return m_clip->getProperty("duration").toInt();
+}
+
+QStringList ProjectItem::names() const
+{
+ QStringList result;
+ result.append(text(0));
+ result.append(text(1));
+ result.append(text(2));
+ return result;
+}
+
+QDomElement ProjectItem::toXml() const
+{
+ return m_clip->toXML();
+}
+
+const KUrl ProjectItem::clipUrl() const
+{
+ if (m_clipType != COLOR && m_clipType != VIRTUAL && m_clipType != UNKNOWN)
+ return KUrl(m_clip->getProperty("resource"));
+ else return KUrl();
+}
+
+void ProjectItem::changeDuration(int frames)
+{
+ setData(0, DurationRole, Timecode::getEasyTimecode(GenTime(frames, KdenliveSettings::project_fps()), KdenliveSettings::project_fps()));
+}
+
+void ProjectItem::setProperties(QMap <QString, QString> props)
+{
+ if (m_clip == NULL) return;
+ m_clip->setProperties(props);
+}
+
+QString ProjectItem::getClipHash() const
+{
+ if (m_clip == NULL) return QString();
+ return m_clip->getClipHash();
+}
+
+void ProjectItem::setProperty(const QString &key, const QString &value)
+{
+ if (m_clip == NULL) return;
+ m_clip->setProperty(key, value);
+}
+
+void ProjectItem::clearProperty(const QString &key)
+{
+ if (m_clip == NULL) return;
+ m_clip->clearProperty(key);
+}
+
+DocClipBase *ProjectItem::referencedClip()
+{
+ return m_clip;