Commit 9e71fd1a authored by Julius Künzel's avatar Julius Künzel 💬
Browse files

DEPENDENCY! Require at least MLT 7.8.0

For the best user experience MLT should be build with -
DMOD_GLAXNIMATE=ON (but this is not required)
parent 27e89b79
Pipeline #200679 failed with stage
in 3 minutes and 19 seconds
......@@ -29,7 +29,7 @@ option(USE_VERSIONLESS_TARGETS "Use versionless targets" OFF)
# Minimum versions of main dependencies.
set(MLT_MIN_MAJOR_VERSION 7)
set(MLT_MIN_MINOR_VERSION 4)
set(MLT_MIN_MINOR_VERSION 8)
set(MLT_MIN_PATCH_VERSION 0)
set(MLT_MIN_VERSION ${MLT_MIN_MAJOR_VERSION}.${MLT_MIN_MINOR_VERSION}.${MLT_MIN_PATCH_VERSION})
......
......@@ -9,7 +9,7 @@ Currently supported distributions are:
* Ubuntu 20.04 LTS Focal Fossa and derivatives
* Arch Linux
But you should be able to build it on any platform that provides up-to-date versions of the following dependencies: Qt >= 5.15.2, KF5 >= 5.86, MLT >= 7.4.0.
But you should be able to build it on any platform that provides up-to-date versions of the following dependencies: Qt >= 5.15.2, KF5 >= 5.86, MLT >= 7.8.0.
## Build on Linux
......
......@@ -82,15 +82,9 @@ void CacheTask::generateThumbnail(std::shared_ptr<ProjectClip> binClip)
thumbProd->seek(i);
QScopedPointer<Mlt::Frame> frame(thumbProd->get_frame());
if (frame != nullptr && frame->is_valid()) {
#if LIBMLT_VERSION_INT < QT_VERSION_CHECK(7, 5, 0)
frame->set("deinterlace_method", "onefield");
frame->set("top_field_first", -1);
frame->set("rescale.interp", "nearest");
#else
frame->set("consumer.deinterlacer", "onefield");
frame->set("consumer.top_field_first", -1);
frame->set("consumer.rescale", "nearest");
#endif
QImage result = KThumb::getFrame(frame.data(), 0, 0, m_fullWidth);
if (!result.isNull() && !m_isCanceled) {
qDebug() << "==== CACHING FRAME: " << i;
......
......@@ -270,15 +270,9 @@ void ClipLoadTask::generateThumbnail(std::shared_ptr<ProjectClip> binClip, std::
}
QScopedPointer<Mlt::Frame> frame(thumbProd->get_frame());
if ((frame != nullptr) && frame->is_valid()) {
#if LIBMLT_VERSION_INT < QT_VERSION_CHECK(7, 5, 0)
frame->set("deinterlace_method", "onefield");
frame->set("top_field_first", -1);
frame->set("rescale.interp", "nearest");
#else
frame->set("consumer.deinterlacer", "onefield");
frame->set("consumer.top_field_first", -1);
frame->set("consumer.rescale", "nearest");
#endif
int imageHeight(pCore->thumbProfile()->height());
int imageWidth(pCore->thumbProfile()->width());
int fullWidth(qRound(imageHeight * pCore->getCurrentDar()));
......
......@@ -2327,6 +2327,8 @@ void MainWindow::slotEditKeys()
break;
}
}
QAction *my = new QAction(i18n("My Test"), this);
dialog.addEditAction(my);
// If scheme choosing combobox was found, find the "More Actions" button in the same
// dialog that provides a dropdown menu with additional actions, and add
// "Download New Keyboard Schemes…" button into that menu
......
......@@ -775,15 +775,9 @@ QPixmap ClipController::pixmap(int framePosition, int width, int height)
p.fill(QColor(Qt::red).rgb());
return p;
}
#if LIBMLT_VERSION_INT < QT_VERSION_CHECK(7, 5, 0)
frame->set("deinterlace_method", "onefield");
frame->set("top_field_first", -1);
frame->set("rescale.interp", "nearest");
#else
frame->set("consumer.deinterlacer", "onefield");
frame->set("consumer.top_field_first", -1);
frame->set("consumer.rescale", "nearest");
#endif
QImage img = KThumb::getFrame(frame.data());
return QPixmap::fromImage(img /*.scaled(height, width, Qt::KeepAspectRatio)*/);
}
......
......@@ -1207,11 +1207,7 @@ int GLWidget::reconfigure()
m_consumer->set("volume", volume / 100.0);
// m_consumer->set("progressive", 1);
m_consumer->set("rescale", KdenliveSettings::mltinterpolation().toUtf8().constData());
#if LIBMLT_VERSION_INT < QT_VERSION_CHECK(7, 5, 0)
m_consumer->set("deinterlace_method", KdenliveSettings::mltdeinterlacer().toUtf8().constData());
#else
m_consumer->set("deinterlacer", KdenliveSettings::mltdeinterlacer().toUtf8().constData());
#endif
/*
#ifdef Q_OS_WIN
m_consumer->set("audio_buffer", 2048);
......
......@@ -648,11 +648,7 @@ void MonitorManager::slotSetDeinterlacer(int ix)
value = QStringLiteral("onefield");
}
KdenliveSettings::setMltdeinterlacer(value);
#if LIBMLT_VERSION_INT < QT_VERSION_CHECK(7, 5, 0)
setConsumerProperty(QStringLiteral("deinterlace_method"), value);
#else
setConsumerProperty(QStringLiteral("deinterlacer"), value);
#endif
}
void MonitorManager::slotSetInterpolation(int ix)
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment