[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdenlive] src: Fix title clip duration has 1 frame offset: http://www.kdenlive.org/mantis/view.php?
From: Jean-Baptiste Mardelle <jb () kdenlive ! org>
Date: 2012-12-25 23:58:50
Message-ID: 20121225235850.7E64EA6091 () git ! kde ! org
[Download RAW message or body]
Git commit bdfcbfc3ec309800eaa9e106203c9ad840fed35e by Jean-Baptiste Mardelle.
Committed on 26/12/2012 at 00:58.
Pushed by mardelle into branch 'master'.
Fix title clip duration has 1 frame offset: \
http://www.kdenlive.org/mantis/view.php?id=2896
M +2 -2 src/clipmanager.cpp
M +1 -1 src/kdenlivedoc.cpp
M +4 -4 src/mainwindow.cpp
M +4 -4 src/titlewidget.cpp
M +2 -2 src/titlewidget.h
http://commits.kde.org/kdenlive/bdfcbfc3ec309800eaa9e106203c9ad840fed35e
diff --git a/src/clipmanager.cpp b/src/clipmanager.cpp
index 8ae95fb..38ae8e9 100644
--- a/src/clipmanager.cpp
+++ b/src/clipmanager.cpp
@@ -691,7 +691,7 @@ void ClipManager::slotAddSlideshowClipFile(QMap <QString, \
QString> properties, c
-void ClipManager::slotAddTextClipFile(const QString &titleName, int out, const \
QString &xml, const QString &group, const QString &groupId) +void \
ClipManager::slotAddTextClipFile(const QString &titleName, int duration, const \
QString &xml, const QString &group, const QString &groupId) {
QDomDocument doc;
QDomElement prod = doc.createElement("producer");
@@ -708,7 +708,7 @@ void ClipManager::slotAddTextClipFile(const QString &titleName, \
int out, const Q prod.setAttribute("type", (int) TEXT);
prod.setAttribute("transparency", "1");
prod.setAttribute("in", "0");
- prod.setAttribute("out", out);
+ prod.setAttribute("out", duration - 1);
AddClipCommand *command = new AddClipCommand(m_doc, doc.documentElement(), \
QString::number(id), true); m_doc->commandStack()->push(command);
}
diff --git a/src/kdenlivedoc.cpp b/src/kdenlivedoc.cpp
index 611d5a3..e74fbfa 100644
--- a/src/kdenlivedoc.cpp
+++ b/src/kdenlivedoc.cpp
@@ -1274,7 +1274,7 @@ void KdenliveDoc::slotCreateTextClip(QString group, const \
QString &groupId, cons KStandardDirs::makeDir(titlesFolder);
QPointer<TitleWidget> dia_ui = new TitleWidget(templatePath, m_timecode, \
titlesFolder, m_render, kapp->activeWindow()); if (dia_ui->exec() == \
QDialog::Accepted) {
- m_clipManager->slotAddTextClipFile(i18n("Title clip"), dia_ui->outPoint(), \
dia_ui->xml().toString(), group, groupId); + \
m_clipManager->slotAddTextClipFile(i18n("Title clip"), dia_ui->duration(), \
dia_ui->xml().toString(), group, groupId); setModified(true);
emit selectLastAddedClip(QString::number(m_clipManager->lastClipId()));
}
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index 7c1aee5..f422fad 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -3306,12 +3306,12 @@ void MainWindow::slotShowClipProperties(DocClipBase *clip)
if (dia_ui->exec() == QDialog::Accepted) {
QMap <QString, QString> newprops;
newprops.insert("xmldata", dia_ui->xml().toString());
- if (dia_ui->outPoint() != \
clip->duration().frames(m_activeDocument->fps())) { + if \
(dia_ui->duration() != clip->duration().frames(m_activeDocument->fps())) { // \
duration changed, we need to update duration
- newprops.insert("out", QString::number(dia_ui->outPoint()));
+ newprops.insert("out", QString::number(dia_ui->duration() - 1));
int currentLength = \
QString(clip->producerProperty("length")).toInt();
- if (currentLength <= dia_ui->outPoint())
- newprops.insert("length", QString::number(dia_ui->outPoint() \
+ 1)); + if (currentLength <= dia_ui->duration())
+ newprops.insert("length", \
QString::number(dia_ui->duration()));
else newprops.insert("length", clip->producerProperty("length"));
}
if (!path.isEmpty()) {
diff --git a/src/titlewidget.cpp b/src/titlewidget.cpp
index 0fc6c42..bc2e030 100644
--- a/src/titlewidget.cpp
+++ b/src/titlewidget.cpp
@@ -1875,7 +1875,7 @@ void TitleWidget::saveTitle(KUrl url)
delete fs;
}
if (!url.isEmpty()) {
- if (m_titledocument.saveDocument(url, m_startViewport, m_endViewport, \
m_tc.getFrameCount(title_duration->text()), embed_image) == false) + if \
(m_titledocument.saveDocument(url, m_startViewport, m_endViewport, \
m_tc.getFrameCount(title_duration->text()) - 1, embed_image) == \
false)
KMessageBox::error(this, i18n("Cannot write to file %1", url.path()));
}
}
@@ -1883,11 +1883,11 @@ void TitleWidget::saveTitle(KUrl url)
QDomDocument TitleWidget::xml()
{
QDomDocument doc = m_titledocument.xml(m_startViewport, m_endViewport);
- doc.documentElement().setAttribute("out", \
m_tc.getFrameCount(title_duration->text())); + \
doc.documentElement().setAttribute("out", m_tc.getFrameCount(title_duration->text()) \
- 1); return doc;
}
-int TitleWidget::outPoint() const
+int TitleWidget::duration() const
{
return m_tc.getFrameCount(title_duration->text());
}
@@ -1897,7 +1897,7 @@ void TitleWidget::setXml(QDomDocument doc)
int out;
m_count = m_titledocument.loadFromXml(doc, m_startViewport, m_endViewport, &out, \
m_projectTitlePath); adjustFrameSize();
- title_duration->setText(m_tc.getTimecode(GenTime(out, m_render->fps())));
+ title_duration->setText(m_tc.getTimecode(GenTime(out + 1, m_render->fps())));
/*if (doc.documentElement().hasAttribute("out")) {
GenTime duration = GenTime(doc.documentElement().attribute("out").toDouble() / \
1000.0); title_duration->setText(m_tc.getTimecode(duration));
diff --git a/src/titlewidget.h b/src/titlewidget.h
index 478bad4..dfc537b 100644
--- a/src/titlewidget.h
+++ b/src/titlewidget.h
@@ -97,8 +97,8 @@ public:
* get the file name. There is no check for the existence of the file. */
static QString getTitleResourceFromName(const KUrl &projectUrl, const QString \
&titleName);
- /** @brief Returns clip out position. */
- int outPoint() const;
+ /** @brief Returns clip duration. */
+ int duration() const;
/** @brief Retrieves a list of all available title templates. */
static void refreshTitleTemplates();
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic