- changed title to Building instruction
- marked as minor
Building instruction
Hi!
can VapourSynth Editor be compiled / used on linux desktops? If yes, are there instructions anywhere? I could not find them.
Thanks, regards, Thomas
Comments (14)
-
repo owner -
repo owner Yes it can. It is obviously a Qt project. Qt 5 specifically. It is built with
#! qmake pro.pro make release
in "pro" directory. It will be built in "build" directory with subdirectory corresponding to your compiler.
-
reporter hmm. It seems my qmake is not working
$ qmake pro.pro qmake: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/qmake': No such file or directory
but to be honest I have lost interest in VapourSynth (for now) since I learned that audio support is only very rudimentary at the current state.
-
repo owner Keep your comments relevant to the issue please. Also, read other comments more carefully. The editor is written with Qt5. It won't build with Qt4.
-
reporter Sorry about irrelevant comments. Back on topic. I just ran the first of the commands you told me to, and posted the result. I guess one needs to install some Qt5-dev package before.
-
repo owner Yes. Obviously. Also VapourSynth dev package too, or build it yourself.
-
reporter Hey there! I'm back trying to build your VapourSynth-Editor. Running the first step
qmake pro.pro
works for me now (I guess I have installed Qt sometime in the past or something) but gives this WARNING:/home/kaefert/src/vapoursynth-editor/pro/pro.pro:122: Unescaped backslashes are deprecated.
Running
make release
will do nothing and print:make: *** No rule to make target `release'. Stop.
Instead simply running
make
gives these errors:g++ -c -m64 -pipe -O2 -w -D_REENTRANT -DNDEBUG -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I../src/image/zimg -I../generated/moc -I../generated/ui -o helpers.o ../src/common/helpers.cpp ../src/common/helpers.cpp: In function ‘QString vsedit::timeToString(double, bool)’: ../src/common/helpers.cpp:13:14: error: ‘round’ is not a member of ‘std’ a_seconds = std::round(a_seconds * 1000.0) / 1000.0; ^ ../src/common/helpers.cpp:13:14: note: suggested alternative: In file included from /usr/include/features.h:374:0, from /usr/include/x86_64-linux-gnu/c++/4.8/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/4.8/bits/c++config.h:426, from /usr/include/c++/4.8/cmath:41, from ../src/common/helpers.cpp:1: /usr/include/x86_64-linux-gnu/bits/mathcalls.h:309:1: note: ‘round’ __MATHCALLX (round,, (_Mdouble_ __x), (__const__)); ^ ../src/common/helpers.cpp: In function ‘QTime vsedit::secondsToQTime(double)’: ../src/common/helpers.cpp:106:14: error: ‘round’ is not a member of ‘std’ a_seconds = std::round(a_seconds * 1000.0) / 1000.0; ^ ../src/common/helpers.cpp:106:14: note: suggested alternative: In file included from /usr/include/features.h:374:0, from /usr/include/x86_64-linux-gnu/c++/4.8/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/4.8/bits/c++config.h:426, from /usr/include/c++/4.8/cmath:41, from ../src/common/helpers.cpp:1: /usr/include/x86_64-linux-gnu/bits/mathcalls.h:309:1: note: ‘round’ __MATHCALLX (round,, (_Mdouble_ __x), (__const__)); ^ ../src/common/helpers.cpp:116:41: error: ‘round’ is not a member of ‘std’ int milliseconds = (int)(((a_seconds - std::round(a_seconds)) * 1000.0)); ^ ../src/common/helpers.cpp:116:41: note: suggested alternative: In file included from /usr/include/features.h:374:0, from /usr/include/x86_64-linux-gnu/c++/4.8/bits/os_defines.h:39, from /usr/include/x86_64-linux-gnu/c++/4.8/bits/c++config.h:426, from /usr/include/c++/4.8/cmath:41, from ../src/common/helpers.cpp:1: /usr/include/x86_64-linux-gnu/bits/mathcalls.h:309:1: note: ‘round’ __MATHCALLX (round,, (_Mdouble_ __x), (__const__)); ^ make: *** [helpers.o] Error 1
does this maybe mean I have a wrong Qt version? UPDATE: ah, okey by reading the content of my own comment I've found that there's some Qt4 path in the gcc command. So I guess I need to get some Qt5-dev package.
-
repo owner Well, Qt4 interfering might be the issue, but I'm not sure. std::round might not work because standard wasn't switched to C++11. Likely, Qt version as well.
-
reporter Installing the package
Qt5-default
and rerunningqmake pro.pro
andmake
made it work.I now have a vsedit binary in ~/src/vapoursynth-editor/build/release-64bit-gcc/ and everything seems to work as intended.
One question though: Is there some way to get the preview to 'play'? I can select the frame I want to see, but it's always paused...?
-
repo owner Click on the preview to get it focused and hold keyboard right arrow. How fast it will 'play' depends on script complexity.
-
reporter yes, I've found that functionality, but that way it will continue to play long after I release the arrow key :(
-
repo owner That's because lots of "give me the next frame" messages stack and are executed one by one. If your script is that heavy, you might not want it to play, but navigate frame by frame. Otherwise it is hard to go back.
-
reporter well could it maybe be changed to not stack messages but instead listen for key down and key up events?
(this is not meant as a [do this for me!] but simply asking you for your opinion on your code if this would be feasible)
also the performance is much slower than with vspipe
-
repo owner - changed status to resolved
Done in 31ce1a0.
- Log in to comment