From: Vincent P. <vin...@la...> - 2014-08-17 12:13:56
|
Git commit 1fd38cab78cfe835b1c129878c3cb9fe1e2d7f8b by Vincent PINON. Committed on 17/08/2014 at 11:57. Pushed by vpinon into branch 'master'. fix non-video clips duration after commit 777d0b M +9 -3 src/project/projectitem.cpp http://commits.kde.org/kdenlive/1fd38cab78cfe835b1c129878c3cb9fe1e2d7f8b diff --git a/src/project/projectitem.cpp b/src/project/projectitem.cpp index e842a4e..980b898 100644 --- a/src/project/projectitem.cpp +++ b/src/project/projectitem.cpp @@ -225,13 +225,19 @@ void ProjectItem::setProperties(const QMap < QString, QString > &attributes, con else if (attributes.contains("frame_size")) slotSetToolTip(); if (attributes.contains("duration")) { - GenTime duration = GenTime(attributes.value("duration").toInt(), attributes.value("fps").toInt()); QString itemdata = data(0, DurationRole).toString(); if (itemdata.contains('/')) itemdata = itemdata.section('/', 0, 0) + "/ "; else itemdata.clear(); if (prefix.isEmpty()) prefix = itemdata; - setData(0, DurationRole, prefix + Timecode::getEasyTimecode(duration, attributes.value("fps").toInt())); - m_clip->setDuration(duration); + if (attributes.contains("fps") && attributes.value("fps").toInt() >= 1) { + GenTime duration = GenTime(attributes.value("duration").toInt(), attributes.value("fps").toInt()); + setData(0, DurationRole, prefix + Timecode::getEasyTimecode(duration, attributes.value("fps").toInt())); + m_clip->setDuration(duration); + } else { + GenTime duration = GenTime(attributes.value("duration").toInt(), KdenliveSettings::project_fps()); + setData(0, DurationRole, prefix + Timecode::getEasyTimecode(duration, KdenliveSettings::project_fps())); + m_clip->setDuration(duration); + } } else { // No duration known, use an arbitrary one until it is. } |