X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fclipmanager.cpp;h=608087f4470c1c2d11186786051f4921324c4af3;hb=f41ee253ade9dfda45752f232ea0ff35e26dce95;hp=2baa42e01b6a39dea64ed80225c284a86cc99d55;hpb=4d59dfaf4dc0b4702365ec4a2d8c86ba42a10fb9;p=kdenlive diff --git a/src/clipmanager.cpp b/src/clipmanager.cpp index 2baa42e0..608087f4 100644 --- a/src/clipmanager.cpp +++ b/src/clipmanager.cpp @@ -282,6 +282,8 @@ void ClipManager::slotGetAudioThumbs() kDebug() << "++++++++ INVALID CLIP: " << url.path(); continue; } + + producer.set("video_index", "-1"); if (KdenliveSettings::normaliseaudiothumbs()) { Mlt::Filter m_convert(prof, "volume"); @@ -303,7 +305,7 @@ void ClipManager::slotGetAudioThumbs() producer.seek(z); mlt_frame = producer.get_frame(); if (mlt_frame && mlt_frame->is_valid()) { - int samples = mlt_sample_calculator(framesPerSecond, frequency, mlt_frame_get_position(mlt_frame->get_frame())); + int samples = mlt_sample_calculator(framesPerSecond, frequency, mlt_frame->get_position()); qint16* pcm = static_cast(mlt_frame->get_audio(audioFormat, frequency, channels, samples)); for (int c = 0; c < channels; c++) { QByteArray audioArray; @@ -580,29 +582,18 @@ void ClipManager::slotAddColorClipFile(const QString &name, const QString &color m_doc->commandStack()->push(command); } -void ClipManager::slotAddSlideshowClipFile(const QString &name, const QString &path, int count, const QString &duration, - const bool loop, const bool crop, const bool fade, - const QString &luma_duration, const QString &luma_file, const int softness, - const QString &animation, const QString &group, const QString &groupId) +void ClipManager::slotAddSlideshowClipFile(QMap properties, const QString &group, const QString &groupId) { QDomDocument doc; QDomElement prod = doc.createElement("producer"); doc.appendChild(prod); - prod.setAttribute("resource", path); + QMap::const_iterator i = properties.constBegin(); + while (i != properties.constEnd()) { + prod.setAttribute(i.key(), i.value()); + ++i; + } prod.setAttribute("type", (int) SLIDESHOW); uint id = m_clipIdCounter++; - prod.setAttribute("id", QString::number(id)); - prod.setAttribute("in", "0"); - prod.setAttribute("out", m_doc->getFramePos(duration) * count); - prod.setAttribute("ttl", m_doc->getFramePos(duration)); - prod.setAttribute("luma_duration", m_doc->getFramePos(luma_duration)); - prod.setAttribute("name", name); - prod.setAttribute("loop", loop); - prod.setAttribute("crop", crop); - prod.setAttribute("fade", fade); - prod.setAttribute("softness", QString::number(softness)); - prod.setAttribute("luma_file", luma_file); - prod.setAttribute("animation", animation); if (!group.isEmpty()) { prod.setAttribute("groupname", group); prod.setAttribute("groupid", groupId);