- if (item->referencedClip()->getProperty("proxy").isEmpty()) item->setProxyStatus(0);
- item->referencedClip()->setProducer(producer, replace);
- item->referencedClip()->askForAudioThumbs();
+ if (!useProxy() && item->referencedClip()->getProperty("proxy").isEmpty()) setProxyStatus(item, 0);
+ QString size = properties.value("frame_size");
+ DocClipBase *clip = item->referencedClip();
+ if (useProxy() && (item->clipType() == AV || item->clipType() == VIDEO) && generateProxy() && size.section('x', 0, 0).toInt() > proxyMinSize()) {
+ if (clip->getProperty("proxy").isEmpty()) {
+ connect(clip, SIGNAL(proxyReady(const QString&, bool)), this, SLOT(slotGotProxy(const QString&, bool)));
+ setProxyStatus(item, 1);
+ clip->generateProxy(m_doc->projectFolder(), proxyParams());
+ }
+ }
+ clip->setProducer(producer, replace);
+ clip->askForAudioThumbs();