Closed VVD closed 3 years ago
And I have question about dependancy from transcode - is lives still require it?
Thanks ! I will take a look, and the patches will be in the upcoming 3.2.0 release.
Transcode is no longer used by LiVES. I'll post an updated dependency list here shortly.
All issues fixed in commit 56476ee28fb6f96a348f71bdc9c92123e798f696
Regarding the trailing "/" I noticed similar lines in a few other files, so I fixed those also.
I changed the docdir as suggested, but since I think it is nice for users to have some way to easily see the version number, "make install" will now create a "version" file in docdir:
@echo $(VERSION) > "$(DESTDIR)$(docdir)/version"
05bb53fd8b1d59f2959f91d54949c8ac910c5b45
Thanks!
Is any date for next release?
With --disable-frei0r it still search for frei0r.h:
checking frei0r.h usability... yes
checking frei0r.h presence... yes
checking for frei0r.h... yes
./configure: x: not found
checking that generated files are newer than configure... done
configure: creating ./config.status
It doesn't search for frei0r.h with "ac_cv_header_frei0r_h=no" in configure environment only:
checking for frei0r.h... (cached) no
./configure: x: not found
checking that generated files are newer than configure... done
"soon"...I am doing some final testing, but there were a huge amount of changes so the testing is taking a while. The current git version is pretty much pre-release quality though, if you are able to test that it would be helpful.
Ah yes you are correct.
6e92263928b2a1e34d50f6320375685a1e70d733
I need to update the setup also. For now you will need to manually do:
cp -rf resources/stock-icons ~/.lives-dir
Several warnings during configure:
configure.ac:108: warning: The 'AM_PROG_MKDIR_P' macro is deprecated, and its use is discouraged.
configure.ac:108: You should use the Autoconf-provided 'AC_PROG_MKDIR_P' macro instead,
configure.ac:108: and use '$(MKDIR_P)' instead of '$(mkdir_p)'in your Makefile.am files.
I'm not active user of Lives - using it rare.
Testing one more configure and build error - will post result soon.
I should probably prioritise the setup changes. Amongst the changes,
~/.lives will change to ~/.config/lives/settings and ~/.lives-dir will change to ~/.local/share/lives
configure.ac:108: warning: The 'AM_PROG_MKDIR_P' macro is deprecated, and its use is discouraged.
This is caused by an external package, gettext. There is nothing I can do about it, but you can safely ignore the warning.
With --enable-projectM it doesn't build projectM.so.
Don't know why, but FreeBSD port have this patch:
--- lives-plugins/weed-plugins/projectM.cpp.oirg
+++ lives-plugins/weed-plugins/projectM.cpp
@@ -352,7 +352,6 @@
}
if (sd->pidx == -1) {
- if (rerand) sd->globalPM->selectRandom(true);
rerand = false;
} else if (sd->pidx != sd->opidx) {
sd->globalPM->setPresetLock(true);
With --enable-projectM it doesn't build projectM.so.
do you have libprojectm-dev installed ?
libprojectM-3.1.3 /usr/local/bin/projectM-unittest /usr/local/bin/projectMSDL /usr/local/include/libprojectM/Common.hpp /usr/local/include/libprojectM/PCM.hpp /usr/local/include/libprojectM/dlldefs.h /usr/local/include/libprojectM/event.h /usr/local/include/libprojectM/fatal.h /usr/local/include/libprojectM/projectM.hpp /usr/local/lib/libprojectM.a /usr/local/lib/libprojectM.so /usr/local/lib/libprojectM.so.3 /usr/local/lib/libprojectM.so.3.1.1 /usr/local/libdata/pkgconfig/libprojectM.pc
ttf files and a lot of presets.
Build without pulse and jack.
One more patch (don't know why too):
--- Makefile.in.bak
+++ Makefile.in
@@ -211,7 +211,7 @@
compile config.guess config.rpath config.sub install-sh \
ltmain.sh missing mkinstalldirs
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-distdir = $(PACKAGE)-$(VERSION)
+distdir = $(PACKAGE)
top_distdir = $(distdir)
am__remove_distdir = \
if test -d "$(distdir)"; then \
@@ -484,7 +484,7 @@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
-docdir = "$(prefix)/share/doc/$(PACKAGE)-$(VERSION)"
+docdir = "$(prefix)/share/doc/$(PACKAGE)"
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
@@ -995,7 +995,7 @@
info-am:
-install-data-am: install-data-local install-docDATA
+install-data-am: install-data-local
install-dvi: install-dvi-recursive
@@ -1055,7 +1055,7 @@
distclean-generic distclean-libtool distclean-tags \
distcleancheck distdir distuninstallcheck dvi dvi-am html \
html-am info info-am install install-am install-data \
- install-data-am install-data-local install-docDATA install-dvi \
+ install-data-am install-data-local install-dvi \
install-dvi-am install-exec install-exec-am install-exec-hook \
install-exec-local install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
Don't know why, but FreeBSD port have this patch:
--- lives-plugins/weed-plugins/projectM.cpp.oirg +++ lives-plugins/weed-plugins/projectM.cpp @@ -352,7 +352,6 @@ } if (sd->pidx == -1) { - if (rerand) sd->globalPM->selectRandom(true); rerand = false; } else if (sd->pidx != sd->opidx) { sd->globalPM->setPresetLock(true);
Most likely sd->globalPM->selectRandom was removed because it is not supported in older versions of projectM.
However the patch is no longer necessary since LiVES now uses its own random function.
(I had to make this change since some of the patterns just generated blank frames - I am not sure why, but obviously this is not desirable behaviour. So now LiVES will check the first two frames generated by a pattern, and if both are blank then it is marked as a "bad program", and removed from the selection list.)
You don't need to patch Makefile.in. Just run "automake" and it will be reccreated.
Build without pulse and jack.
That is not recommended since doing that will disable almost all of the audio features.
You should compile with either pulse or jack or both.
You don't need to patch Makefile.in. Just run "automake" and it will be reccreated.
These are old patches - trying to clean their.
--- lives-plugins/weed-plugins/gdk/Makefile.in.bak
+++ lives-plugins/weed-plugins/gdk/Makefile.in
@@ -861,7 +861,7 @@
info-am:
-install-data-am: install-data-local install-fxpluginslibLTLIBRARIES
+install-data-am: install-fxpluginslibLTLIBRARIES
install-dvi: install-dvi-am
That is not recommended since doing that will disable almost all of the audio features. You should compile with either pulse or jack or both.
pulse is "alien element" for FreeBSD. Native sound system is OSS. And I don't need jack too. As I said I'm not active user - sometimes I need small editing and have 6 video editors: avidemux, kdenlive, lives, openshot, pitivi, shotcut. Less dependencies is better for me.
jackd should run quite well with OSS I think.
libprojectM-3.1.3 /usr/local/bin/projectM-unittest /usr/local/bin/projectMSDL /usr/local/include/libprojectM/Common.hpp /usr/local/include/libprojectM/PCM.hpp /usr/local/include/libprojectM/dlldefs.h /usr/local/include/libprojectM/event.h /usr/local/include/libprojectM/fatal.h /usr/local/include/libprojectM/projectM.hpp /usr/local/lib/libprojectM.a /usr/local/lib/libprojectM.so /usr/local/lib/libprojectM.so.3 /usr/local/lib/libprojectM.so.3.1.1 /usr/local/libdata/pkgconfig/libprojectM.pc
ttf files and a lot of presets.
You probably need to add the directory /usr/local/libdata/pkgconfig to the environment variable PKG_CONFIG_PATH
"sometimes I need small editing"
Just out of interest, what editing features do you most commonly use ? What would be your typical workflow ? If you could choose any one thing to make the task easier / better, what would it be ?
It would be helpful to know these things, so I can perhaps better target the app. a t casual users like yourself.
You probably need to add the directory /usr/local/libdata/pkgconfig to the environment variable PKG_CONFIG_PATH
But it can find other libraries. I think I have to upload full build log…
Just out of interest, what editing features do you most commonly use ? What would be your typical workflow ? If you could choose any one thing to make the task easier / better, what would it be ?
Last what I search was lossless cut with visual interface. Didn't find this function in all 6 video editors… Command line ffmpeg saved me. :-D
That is not recommended since doing that will disable almost all of the audio features.
What audio features?
You probably need to add the directory /usr/local/libdata/pkgconfig to the environment variable PKG_CONFIG_PATH
But it can find other libraries. I think I have to upload full build log…
Just out of interest, what editing features do you most commonly use ? What would be your typical workflow ? If you could choose any one thing to make the task easier / better, what would it be ?
Last what I search was lossless cut with visual interface. Didn't find this function in all 6 video editors… Command line ffmpeg saved me. :-D
LiVES can do this, but it would re-encode (a copy of) the video. Not exactly lossless, but near enough that you probably wouldn't notice. It has to be like that since most formats don't allow for frame / audio removal without re-encoding.
It is very simple with the latest version. Just open the clip, select a section to be deleted, hit ctrl-d for delete, then repeat for all the parts you want to remove. Then when done, select Files / Quick Transcode and it should create the output file. Since it is all done in memory, the original clip is left unchanged..
That is not recommended since doing that will disable almost all of the audio features.
What audio features?
A / V sync during playback, pushing audio to generators (e.e projectM), real time audio recording, audio looping, realtime velocity / direction changes, audio clip switching in real time, positional changes (e.g clicking on the timeline during playback, bookmark jumping), volume control, audio playback in the multitrack interface, audio effects (e.g LADSPA effects), recording of external audio, audio analysis (e.g. beat detector),
On the other hand, if you are just doing straightforward things like cutting and re-encoding then that wouldn't be affected. The main thing would be that for longer previews the audio and video might play a little out of synch, since LiVES would have no way to measure the number of samples sent to the soundcard in real time. Also when adjusting selections to be deleted, changes in the selection length during playback can't be reflected in the audio player, unless you are using a real time audio player. You would have to stop and restart playback after each adjustment. With a real time audio player, you can set selection points and then shorten or lengthen the selection during playback, useful if you have continuous looping switched on.
Also, if you have more time, you can do your cuts in the multitrack interface, which can be nicer, since then you can drag the part after the cut back to create an overlap, and LiVES willthen automatically do a smooth transition from one cut to the next.
What would be EXTREMELY useful is if you could send a copy of the Startup messages, so I can see what this looks like on freeBSD. The messages should pop up automatically on start-up, or if this has been disabled, you can click on Info / Show messages. Then you can click the Save As button and post the resulting text file here.
LiVES can do this, but it would re-encode (a copy of) the video. Not exactly lossless, but near enough that you probably wouldn't notice.
It's very long…
It has to be like that since most formats don't allow for frame / audio removal without re-encoding.
I know what is keyframes. :-D I'm used VirtualDub 15-18 years ago. It support cutting video on keyframes without recompress.
A / V sync during playback, pushing audio to generators (e.e projectM), real time audio recording, audio looping, realtime velocity / direction changes, audio clip switching in real time, positional changes (e.g clicking on the timeline during playback, bookmark jumping), volume control, audio playback in the multitrack interface, audio effects (e.g LADSPA effects), recording of external audio, audio analysis (e.g. beat detector),
All this supported by OSS too.
What would be EXTREMELY useful is if you could send a copy of the Startup messages, so I can see what this looks like on freeBSD. The messages should pop up automatically on start-up, or if this has been disabled, you can click on Info / Show messages. Then you can click the Save As button and post the resulting text file here.
GUI Window?
Build log with --enable-projectM: lives.txt
Something wrong with Russian(?) letters on 2nd screen.
But here is all OK with Russian letters:
On this stage I got message in console:
$ lives
LiVES 3.0.2
Copyright 2002 - 2019 Gabriel Finch (salsaman+lives@gmail.com) and others.
LiVES comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details.
sh: /bin/grep: not found
FreeBSD's grep is here: /usr/bin/grep
In console:
LiVES info: No usable filters found in plugin /usr/local/lib/lives/plugins/effects/realtime/weed/fourKlives.so
Warning, frei0r plugin skipping blacklisted plugin Timeout indicator
LiVES info: No usable filters found in plugin /usr/local/lib/lives/plugins/effects/realtime/weed/libvisual/libvis.so
Both files installed.
Main window after start: Screenshots was with font DPI 108.
This is the main window from other host with font DPI 96 in "CLIP EDITOR" mode:
But it doesn't work on this host in "MULTITRACK" mode with resolution 1280x960 (some kind of HD): it flickering. Rename this file to *.mkv:
Please try with the git version if you can.
Small fix for configure.ac:
@@ -865,7 +877,9 @@
HAVE_SYSTEM_WEED_COMPAT=false
HAVE_SYSTEM_WEED_PLUGIN=false
-if test "$IS_MINGW" = "false"; then
+AC_ARG_ENABLE(system-weed, [ --enable-system-weed Enable check system weed.] , system_weed=yes, system_weed=no)
+
+if test "$IS_MINGW" = "false" && test "$system_weed" != "no"; then
PKG_CHECK_MODULES(WEED, libweed >= 0.11.0, HAVE_SYSTEM_WEED=true, HAVE_SYSTEM_WEED=false)
Those lines do not exist in the current configure.ac. If you want to contribute usefully please build with the git version.
configure: error: conditional "HAVE_OPENCV4" was never defined.
Usually this means the macro was only invoked conditionally.
if test -z "${HAVE_OPENCV4_TRUE}" && test -z "${HAVE_OPENCV4_FALSE}"; then
as_fn_error $? "conditional \"HAVE_OPENCV4\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
Move:
AC_SUBST(OPENCV4_CFLAGS)
AC_SUBST(OPENCV4_LIBS_ONLY_L)
AC_SUBST(OPENCV4_LIBS_ONLY_OTHER)
AM_CONDITIONAL(HAVE_OPENCV4,$HAVE_OPENCV4)
Near:
AC_SUBST(OPENCV_CFLAGS)
AC_SUBST(OPENCV_LIBS_ONLY_L)
AC_SUBST(OPENCV_LIBS_ONLY_OTHER)
AM_CONDITIONAL(HAVE_OPENCV,$HAVE_OPENCV)
Other error during build:
utils.c:671:76: error: use of undeclared identifier 'O_DSYNC'
return lives_open_real_buffered(pathname, O_CREAT | O_WRONLY | O_TRUNC | O_DSYNC, mode, FALSE);
^
utils.c:676:66: error: use of undeclared identifier 'O_DSYNC'
return lives_open_real_buffered(pathname, O_CREAT | O_WRONLY | O_DSYNC | (append ? O_APPEND : 0), mode, FALSE);
^
A lot of warnings:
./lsd.h:900:15: warning: unused function 'lives_struct_get_size' [-Wunused-function]
static size_t lives_struct_get_size(lives_struct_def_t *lsd) {
^
./lsd.h:903:13: warning: unused function 'lives_struct_set_user_data' [-Wunused-function]
static void lives_struct_set_user_data(lives_struct_def_t *lsd, void *data) {
^
./lsd.h:906:14: warning: unused function 'lives_struct_get_class_data' [-Wunused-function]
static void *lives_struct_get_class_data(lives_struct_def_t *lsd) {
^
./lsd.h:909:13: warning: unused function 'lives_struct_set_class_data' [-Wunused-function]
static void lives_struct_set_class_data(lives_struct_def_t *lsd, void *data) {
^
./lsd.h:913:31: warning: unused function 'make_special_field' [-Wunused-function]
static lives_special_field_t *make_special_field(uint64_t flags, void *thestruct,
^
./lsd.h:1127:49: warning: attribute declaration must precede definition [-Wignored-attributes]
static int lsd_free(const lives_struct_def_t *) ALLOW_UNUSED;
^
./lsd.h:43:37: note: expanded from macro 'ALLOW_UNUSED'
#define ALLOW_UNUSED __attribute__((unused))
^
./lsd.h:1014:12: note: previous definition is here
static int lsd_free(const lives_struct_def_t *lsd) {
^
./lsd.h:1128:50: warning: attribute declaration must precede definition [-Wignored-attributes]
static int lsd_unref(const lives_struct_def_t *) ALLOW_UNUSED;
^
Error:
In file included from machinestate.c:10:
/usr/include/malloc.h:3:2: error: "<malloc.h> has been replaced by <stdlib.h>"
#error "<malloc.h> has been replaced by <stdlib.h>"
^
--- src/machinestate.c.orig
+++ src/machinestate.c
@@ -7,7 +7,11 @@
// functions for dealing with externalities
#include <sys/statvfs.h>
+#ifdef __FreeBSD__
+#include <stdlib.h>
+#else
#include <malloc.h>
+#endif
#include "main.h"
#include "callbacks.h"
Don't know how to fix this:
diagnostics.c:53:52: error: member reference base type 'void' is not a structure or union
avsync -= ((double)mainw->files[mainw->pulsed->playing_file]->frameno - 1.) / mainw->files[mainw->pulsed->playing_file]->fps
~~~~~~~~~~~~~^ ~~~~~~~~~~~~
diagnostics.c:53:111: error: member reference base type 'void' is not a structure or union
avsync -= ((double)mainw->files[mainw->pulsed->playing_file]->frameno - 1.) / mainw->files[mainw->pulsed->playing_file]->fps
~~~~~~~~~~~~~^ ~~~~~~~~~~~~
Fixed bug with HAVE_OPENCV => $HAVE_OPENCV, added "--libs-only-other" for "pkg-config opencv" and added possibility to ignore pulseaudio and alsa.
FreeBSD's cp work different: If we have "dir1" with files "file1", "file2" and empty "dir2", then "cp -rf dir1/ dir2" copy files "file1" and "file2" to "dir2". Result: "dir2/file1", "dir2/file2". Linux's cp in same environment copy "dir1" with all files in "dir2". Result: "dir2/dir1/file1", "dir2/dir1/file2". This patch fixes this issue:
Last one (you can ignore it):
All patched for version 3.0.2.