From: <j-...@us...> - 2010-02-16 08:01:21
|
Revision: 4309 http://kdenlive.svn.sourceforge.net/kdenlive/?rev=4309&view=rev Author: j-b-m Date: 2010-02-16 08:01:13 +0000 (Tue, 16 Feb 2010) Log Message: ----------- Fetch audio thumbs one after another, so that we don't create hundreds of threads: http://kdenlive.org/mantis/view.php?id=1383 Modified Paths: -------------- trunk/kdenlive/src/clipmanager.cpp trunk/kdenlive/src/docclipbase.cpp trunk/kdenlive/src/projectitem.cpp trunk/kdenlive/src/projectlist.cpp Modified: trunk/kdenlive/src/clipmanager.cpp =================================================================== --- trunk/kdenlive/src/clipmanager.cpp 2010-02-16 07:23:40 UTC (rev 4308) +++ trunk/kdenlive/src/clipmanager.cpp 2010-02-16 08:01:13 UTC (rev 4309) @@ -50,6 +50,8 @@ { qDeleteAll(m_clipList); m_clipList.clear(); + m_audioThumbsQueue.clear(); + m_generatingAudioId.clear(); } void ClipManager::clear() Modified: trunk/kdenlive/src/docclipbase.cpp =================================================================== --- trunk/kdenlive/src/docclipbase.cpp 2010-02-16 07:23:40 UTC (rev 4308) +++ trunk/kdenlive/src/docclipbase.cpp 2010-02-16 08:01:13 UTC (rev 4309) @@ -140,7 +140,7 @@ void DocClipBase::askForAudioThumbs() { - if (m_thumbProd && m_audioTimer) slotGetAudioThumbs(); + if (m_thumbProd && m_audioTimer) m_thumbProd->askForAudioThumbs(getId()); } void DocClipBase::slotClearAudioCache() Modified: trunk/kdenlive/src/projectitem.cpp =================================================================== --- trunk/kdenlive/src/projectitem.cpp 2010-02-16 07:23:40 UTC (rev 4308) +++ trunk/kdenlive/src/projectitem.cpp 2010-02-16 08:01:13 UTC (rev 4309) @@ -44,7 +44,6 @@ if (m_clipType != UNKNOWN) slotSetToolTip(); setText(0, name); setText(1, m_clip->description()); - m_clip->askForAudioThumbs(); GenTime duration = m_clip->duration(); if (duration != GenTime()) setData(0, DurationRole, Timecode::getEasyTimecode(duration, KdenliveSettings::project_fps())); //setFlags(Qt::NoItemFlags); @@ -64,7 +63,6 @@ m_clipType = (CLIPTYPE) m_clip->getProperty("type").toInt(); setText(0, name); setText(1, m_clip->description()); - m_clip->askForAudioThumbs(); GenTime duration = m_clip->duration(); if (duration != GenTime()) setData(0, DurationRole, Timecode::getEasyTimecode(duration, KdenliveSettings::project_fps())); //setFlags(Qt::NoItemFlags); @@ -228,7 +226,6 @@ } m_clip->setProperties(attributes); m_clip->setMetadata(metadata); - m_clip->askForAudioThumbs(); if (m_clip->description().isEmpty()) { if (metadata.contains("description")) { Modified: trunk/kdenlive/src/projectlist.cpp =================================================================== --- trunk/kdenlive/src/projectlist.cpp 2010-02-16 07:23:40 UTC (rev 4308) +++ trunk/kdenlive/src/projectlist.cpp 2010-02-16 08:01:13 UTC (rev 4309) @@ -756,6 +756,7 @@ QDomElement e = clip->toXML().cloneNode().toElement(); e.removeAttribute("file_hash"); m_infoQueue.insert(clip->getId(), e); + clip->askForAudioThumbs(); //m_render->getFileProperties(clip->toXML(), clip->getId(), true); } const QString parent = clip->getProperty("groupid"); @@ -1227,6 +1228,7 @@ } //Q_ASSERT_X(item->referencedClip(), "void ProjectList::slotReplyGetFileProperties", QString("Item with groupName %1 does not have a clip associated").arg(item->groupName()).toLatin1()); item->referencedClip()->setProducer(producer, replace); + item->referencedClip()->askForAudioThumbs(); if (!replace && item->data(0, Qt::DecorationRole).isNull()) { requestClipThumbnail(clipId); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |