18 #include <QStringList>
21 #include <QProgressDialog>
25 #include "pencildef.h"
27 #include <CoreFoundation/CoreFoundation.h>
28 #include <Carbon/Carbon.h>
33 SetMouseCoalescingEnabled(
35 Boolean * outOldState);
40 bool gIsMouseCoalecing =
false;
44 QOperatingSystemVersion current = QOperatingSystemVersion::current();
45 if ( current >= QOperatingSystemVersion::OSXElCapitan )
47 gIsMouseCoalecing =
true;
51 gIsMouseCoalecing =
false;
55 void disableCoalescing()
57 SetMouseCoalescingEnabled(gIsMouseCoalecing, NULL);
60 void enableCoalescing()
62 SetMouseCoalescingEnabled(
true, NULL);
65 void Editor::importMovie (QString filePath,
int fps)
69 QSettings settings( PENCIL2D , PENCIL2D );
71 qDebug() <<
"-------IMPORT VIDEO------" << filePath;
74 QDir::temp().mkdir(
"pencil");
75 QString tempPath = QDir::temp().absolutePath()+
"/pencil/";
77 QProgressDialog progress(
"Importing movie...",
"Abort", 0, 100, NULL);
78 progress.setWindowModality(Qt::WindowModal);
80 progress.setValue(10);
82 qDebug() <<
"ffmpeg -i \"" << filePath <<
"\" -r " << QString::number(fps) <<
" -f image2 \"" << tempPath <<
"tmp_import%4d.png\"";
83 ffmpeg.start(
"ffmpeg -i \"" + filePath +
"\" -r " + QString::number(fps) +
" -f image2 \"" + tempPath +
"tmp_import%4d.png\"");
84 progress.setValue(20);
85 if (ffmpeg.waitForStarted() ==
true)
87 if (ffmpeg.waitForFinished() ==
true)
89 QByteArray sErr = ffmpeg.readAllStandardError();
91 {qDebug() <<
"ERROR: Could not execute FFmpeg.";}
94 qDebug() <<
"stderr: " + ffmpeg.readAllStandardOutput();
95 qDebug() <<
"stdout: " << sErr;
99 {qDebug() <<
"ERROR: FFmpeg did not finish executing.";}
102 {qDebug() <<
"Please install FFMPEG: sudo apt-get install ffmpeg";}
103 progress.setValue(50);
105 int nFiles = dir1.entryList().count();
107 QString frameNumberString = QString::number(i);
108 while( frameNumberString.length() < 4) frameNumberString.prepend(
"0");
109 while (QFile::exists(tempPath+
"tmp_import"+frameNumberString+
".png"))
111 progress.setValue(50+i*50/nFiles);
112 if(i>1) scrubForward();
113 importImage(tempPath+
"tmp_import"+frameNumberString+
".png");
115 frameNumberString = QString::number(i);
116 while( frameNumberString.length() < 4) frameNumberString.prepend(
"0");
118 progress.setValue(100);
121 QStringList filtername(
"*.*");
122 QStringList entries = dir.entryList(filtername,QDir::Files,QDir::Type);
123 for(
int i=0; i<entries.size(); i++)
124 dir.remove(entries[i]);