From fb9d551f6b47b1d504494660c4be96b07360c255 Mon Sep 17 00:00:00 2001 From: Chris Cochrun Date: Tue, 7 Feb 2023 10:55:23 -0600 Subject: [PATCH] setup for adding thumbnails from videos --- src/cpp/mpv/mpvobject.cpp | 6 ------ src/cpp/slidemodel.cpp | 29 +++++++++++++++++++++++++---- src/cpp/slidemodel.h | 2 +- 3 files changed, 26 insertions(+), 11 deletions(-) diff --git a/src/cpp/mpv/mpvobject.cpp b/src/cpp/mpv/mpvobject.cpp index 52a2f98..70a66cd 100644 --- a/src/cpp/mpv/mpvobject.cpp +++ b/src/cpp/mpv/mpvobject.cpp @@ -543,12 +543,6 @@ void MpvObject::loadFile(QVariant urls) } void MpvObject::screenshotToFile(QUrl url) { - qDebug() << "Url of screenshot to be taken: " << url; - QDir dir = writeDir.absolutePath() + "/presenter/Church Presenter/thumbnails"; - qDebug() << "thumbnails dir: " << dir; - QDir absDir = writeDir.absolutePath() + "/presenter/Church Presenter"; - if (!dir.exists()) - absDir.mkdir("thumbnails"); QString file = url.path() + ".jpg"; commandAsync(QVariantList() << "screenshot-to-file" << file << "video"); } diff --git a/src/cpp/slidemodel.cpp b/src/cpp/slidemodel.cpp index b142724..3d5df9a 100644 --- a/src/cpp/slidemodel.cpp +++ b/src/cpp/slidemodel.cpp @@ -20,6 +20,8 @@ #include +const QDir writeDir = QStandardPaths::writableLocation(QStandardPaths::AppDataLocation); + SlideModel::SlideModel(QObject *parent) : QAbstractListModel(parent) { // if () { @@ -641,14 +643,33 @@ void SlideModel::moveRowFromService(const int &fromIndex, } } -QString SlideModel::thumbnailVideo(QString video) { +QString SlideModel::thumbnailVideo(QString video, int serviceItemId) { - std::system("ffmpeg -i Rust\ Tutorial\ Full\ Course.webm -vframes 1 -an -s 576x324 -ss 35 OutputFile.jpg"); + // if (!writeDir.mkpath(".")) { + // qFatal("Failed to create writable location at %s", qPrintable(writeDir.absolutePath())); + // } - QTemporaryFile thumbnail; + // qDebug() << "Url of screenshot to be taken: " << url; + // QDir dir = writeDir.absolutePath() + "/thumbnails"; + // qDebug() << "thumbnails dir: " << dir; + // QDir absDir = writeDir.absolutePath(); + // if (!dir.exists()) + // absDir.mkdir("thumbnails"); + + QTemporaryFile thumbnail = ; if (thumbnail.open()) { + qDebug() << "@@@@@@@@@@@@@@@@@@@@@"; + qDebug() << thumbnail.fileName(); + qDebug() << "@@@@@@@@@@@@@@@@@@@@@"; - return thumbnail.fileName(); + // return thumbnail.fileName(); } + QTemporaryDir dir; + if (dir.isValid()) { + // dir.path() returns the unique directory path + qDebug() << "@@@@@@@@@@@@@@@@@@@@@"; + qDebug() << dir.path(); + qDebug() << "@@@@@@@@@@@@@@@@@@@@@"; + } } diff --git a/src/cpp/slidemodel.h b/src/cpp/slidemodel.h index 1f69d5b..f8d306a 100644 --- a/src/cpp/slidemodel.h +++ b/src/cpp/slidemodel.h @@ -79,7 +79,7 @@ public: Q_INVOKABLE QVariantMap getItem(int index) const; Q_INVOKABLE QVariantList getItems(); Q_INVOKABLE int findSlideIdFromServItm(int index); - Q_INVOKABLE void thumbnailVideo(QString video); + Q_INVOKABLE void thumbnailVideo(QString video, int serviceItemId); public slots: