diff --git a/toonz/sources/image/ffmpeg/tiio_ffmpeg.cpp b/toonz/sources/image/ffmpeg/tiio_ffmpeg.cpp index 9229cd2..ae04e11 100644 --- a/toonz/sources/image/ffmpeg/tiio_ffmpeg.cpp +++ b/toonz/sources/image/ffmpeg/tiio_ffmpeg.cpp @@ -6,6 +6,7 @@ #include <QProcess> #include <QDir> #include <QtGui/QImage> +#include <QRegExp> #include "toonz/preferences.h" #include "toonz/toonzfolders.h" @@ -217,9 +218,9 @@ void Ffmpeg::saveSoundTrack(TSoundTrack *st) { bool Ffmpeg::checkFilesExist() { QString ffmpegCachePath = getFfmpegCache().getQString(); QString tempPath = ffmpegCachePath + "//" + - QString::fromStdString(m_path.getName()) + - QString::fromStdString(m_path.getType()) + "In0001." + - m_intermediateFormat; + m_path.getQString().remove(QRegExp(QString::fromUtf8( + "[-`~!@#$%^&*()_�+=|:;<>��,.?/{}\'\"\\[\\]\\\\]"))) + + "In0001." + m_intermediateFormat; if (TSystem::doesExistFileOrLevel(TFilePath(tempPath))) { return true; } else @@ -229,8 +230,9 @@ bool Ffmpeg::checkFilesExist() { ffmpegFileInfo Ffmpeg::getInfo() { QString ffmpegCachePath = getFfmpegCache().getQString(); QString tempPath = ffmpegCachePath + "//" + - QString::fromStdString(m_path.getName()) + - QString::fromStdString(m_path.getType()) + ".txt"; + m_path.getQString().remove(QRegExp(QString::fromUtf8( + "[-`~!@#$%^&*()_�+=|:;<>��,.?/{}\'\"\\[\\]\\\\]"))) + + ".txt"; if (QFile::exists(tempPath)) { QFile infoText(tempPath); infoText.open(QIODevice::ReadOnly); @@ -264,8 +266,8 @@ ffmpegFileInfo Ffmpeg::getInfo() { TRasterImageP Ffmpeg::getImage(int frameIndex) { QString ffmpegCachePath = getFfmpegCache().getQString(); QString tempPath = ffmpegCachePath + "//" + - QString::fromStdString(m_path.getName()) + - QString::fromStdString(m_path.getType()); + m_path.getQString().remove(QRegExp(QString::fromUtf8( + "[-`~!@#$%^&*()_�+=|:;<>��,.?/{}\'\"\\[\\]\\\\]"))); std::string tmpPath = tempPath.toStdString(); // QString tempPath= m_path.getQString(); QString number = QString("%1").arg(frameIndex, 4, 10, QChar('0')); @@ -356,8 +358,8 @@ int Ffmpeg::getFrameCount() { void Ffmpeg::getFramesFromMovie(int frame) { QString ffmpegCachePath = getFfmpegCache().getQString(); QString tempPath = ffmpegCachePath + "//" + - QString::fromStdString(m_path.getName()) + - QString::fromStdString(m_path.getType()); + m_path.getQString().remove(QRegExp(QString::fromUtf8( + "[-`~!@#$%^&*()_�+=|:;<>��,.?/{}\'\"\\[\\]\\\\]"))); std::string tmpPath = tempPath.toStdString(); QString tempName = "In%04d." + m_intermediateFormat; tempName = tempPath + tempName;