Ping ? I've got some feedback from zhukov@, that apparently kdenlive is no longer working, but nothing more.
No idea whether this is related to the mlt update, or whether kdenlive was already broken before that update (as kde tends to be a moving target)... It's been 2 weeks... can I get some feedback from Vadim OR somebody else ?... I don't grok the interface to kdenlive. So, besides "it starts", it seems fine to me. On Sun, Mar 07, 2021 at 02:50:11PM +0100, Marc Espie wrote: > This makes use of the libebur128 port I posted a few hours ago > I've had most of this in my dir for a while, I actually got stumped on > something stupid in shotcut. > > I've built and used shotcut with this without issue. I've also built > kdenlive, but I'm not too familiar with it. > > Highlights: > - uses external libebur > - fix loads of warnings with clang (these patches haven been sent as > Issue to upstream) > > Please test/okay > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/multimedia/mlt/Makefile,v > retrieving revision 1.27 > diff -u -p -r1.27 Makefile > --- Makefile 24 Aug 2020 14:09:54 -0000 1.27 > +++ Makefile 7 Mar 2021 13:47:08 -0000 > @@ -2,14 +2,14 @@ > > COMMENT-main = multimedia transformations framework > COMMENT-gpl2 = GPLv2-licensed modules for mlt > -VERSION = 6.22.1 > +VERSION = 6.24.0 > DISTNAME = mlt-${VERSION} > PKGNAME-main = ${DISTNAME} > PKGNAME-gpl2 = mlt-gpl2-${VERSION} > > # XXX versions should be kept in sync together > -SHARED_LIBS = mlt 3.2 > -SHARED_LIBS += mlt++ 3.2 > +SHARED_LIBS = mlt 4.0 > +SHARED_LIBS += mlt++ 4.0 > > CATEGORIES = multimedia devel > HOMEPAGE = https://www.mltframework.org/ > @@ -21,12 +21,13 @@ DEBUG_PACKAGES = ${BUILD_PACKAGES} > PERMIT_PACKAGE = Yes > > WANTLIB-main += ${COMPILER_LIBCXX} SDL SDL2 SDL_image X11 avcodec avdevice > -WANTLIB-main += avfilter avformat avutil c exif fftw3 fontconfig gdk-x11-2.0 > +WANTLIB-main += avfilter avformat avutil c exif fftw3 fontconfig > WANTLIB-main += gdk_pixbuf-2.0 glib-2.0 gobject-2.0 jack m pango-1.0 > WANTLIB-main += pangoft2-1.0 sox swresample swscale vorbisfile xml2 > +WANTLIB-main += ebur128 > > WANTLIB += ${COMPILER_LIBCXX} Qt5Core Qt5Gui Qt5Svg Qt5Widgets > -WANTLIB += Qt5Xml SDL2 exif m mlt samplerate > +WANTLIB += Qt5Xml SDL2 m mlt samplerate > > MASTER_SITES = > https://github.com/mltframework/mlt/releases/download/v${VERSION}/ > > @@ -43,13 +44,14 @@ RUN_DEPENDS-main = audio/ladspa \ > x11/gtk+3,-guic > > LIB_DEPENDS-main = audio/jack \ > + audio/libebur128 \ > audio/sox \ > devel/sdl-image \ > devel/sdl2 \ > graphics/ffmpeg \ > graphics/libexif \ > math/fftw3 \ > - x11/gtk+2,-main > + devel/pango > > LIB_DEPENDS-gpl2 = ${BUILD_PKGPATH},-main \ > ${MODQT5_LIB_DEPENDS} \ > Index: distinfo > =================================================================== > RCS file: /cvs/ports/multimedia/mlt/distinfo,v > retrieving revision 1.9 > diff -u -p -r1.9 distinfo > --- distinfo 24 Aug 2020 14:09:54 -0000 1.9 > +++ distinfo 7 Mar 2021 13:47:08 -0000 > @@ -1,2 +1,2 @@ > -SHA256 (mlt-6.22.1.tar.gz) = o9698LiBHw0gyQLMPfPQXa19P/NtHbFsCnM40NWYmZg= > -SIZE (mlt-6.22.1.tar.gz) = 1343746 > +SHA256 (mlt-6.24.0.tar.gz) = O5d8VjIyn8p2NNADQWLfbVt5zeMla6xD57qDU6zO1h4= > +SIZE (mlt-6.24.0.tar.gz) = 1351427 > Index: patches/patch-src_framework_Makefile > =================================================================== > RCS file: /cvs/ports/multimedia/mlt/patches/patch-src_framework_Makefile,v > retrieving revision 1.5 > diff -u -p -r1.5 patch-src_framework_Makefile > --- patches/patch-src_framework_Makefile 24 Aug 2020 14:09:54 -0000 > 1.5 > +++ patches/patch-src_framework_Makefile 7 Mar 2021 13:47:08 -0000 > @@ -20,7 +20,17 @@ Index: src/framework/Makefile > else > NAME = libmlt$(LIBSUF) > TARGET = $(NAME).$(version) > -@@ -100,10 +102,12 @@ all: $(TARGET) > +@@ -92,18 +94,20 @@ OBJS += ../win32/win32.o ../win32/strptime.o > + SRCS += ../win32/win32.c ../win32/strptime.c > + endif > + > +-CFLAGS += $(RDYNAMIC) -DPREFIX_DATA="\"$(mltdatadir)\"" > -DPREFIX_LIB="\"$(moduledir)\"" > ++CFLAGS += -DPREFIX_DATA="\"$(mltdatadir)\"" -DPREFIX_LIB="\"$(moduledir)\"" > + > +-LDFLAGS += $(LIBDL) -lpthread -lm > ++LDFLAGS += $(RDYNAMIC) $(LIBDL) -lpthread -lm > + > + all: $(TARGET) > > $(TARGET): $(OBJS) > $(CC) $(SHFLAGS) -o $@ $(OBJS) $(LDFLAGS) > Index: patches/patch-src_framework_mlt_property_c > =================================================================== > RCS file: > /cvs/ports/multimedia/mlt/patches/patch-src_framework_mlt_property_c,v > retrieving revision 1.4 > diff -u -p -r1.4 patch-src_framework_mlt_property_c > --- patches/patch-src_framework_mlt_property_c 24 Aug 2020 14:09:54 > -0000 1.4 > +++ patches/patch-src_framework_mlt_property_c 7 Mar 2021 13:47:08 > -0000 > @@ -7,22 +7,7 @@ locale functions from dumping core! > Index: src/framework/mlt_property.c > --- src/framework/mlt_property.c.orig > +++ src/framework/mlt_property.c > -@@ -90,8 +90,12 @@ struct mlt_property_s > - mlt_property mlt_property_init( ) > - { > - mlt_property self = calloc( 1, sizeof( *self ) ); > -- if ( self ) > -- pthread_mutex_init( &self->mutex, NULL ); > -+ if ( self ) { > -+ pthread_mutexattr_t attr; > -+ pthread_mutexattr_init(&attr); > -+ pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); > -+ pthread_mutex_init( &self->mutex, &attr ); > -+ } > - return self; > - } > - > -@@ -311,7 +315,7 @@ static int time_clock_to_frames( mlt_property self, co > +@@ -315,7 +315,7 @@ static int time_clock_to_frames( mlt_property self, co > s = copy; > pos = strrchr( s, ':' ); > > @@ -31,7 +16,7 @@ Index: src/framework/mlt_property.c > char *orig_localename = NULL; > if ( locale ) > { > -@@ -353,7 +357,7 @@ static int time_clock_to_frames( mlt_property self, co > +@@ -357,7 +357,7 @@ static int time_clock_to_frames( mlt_property self, co > seconds = strtod( s, NULL ); > } > > @@ -40,7 +25,7 @@ Index: src/framework/mlt_property.c > if ( locale ) { > // Restore the current locale > setlocale( LC_NUMERIC, orig_localename ); > -@@ -529,7 +533,7 @@ static double mlt_property_atof( mlt_property self, do > +@@ -533,7 +533,7 @@ static double mlt_property_atof( mlt_property self, do > if ( locale ) > result = strtod_l( value, &end, locale ); > else > @@ -49,7 +34,7 @@ Index: src/framework/mlt_property.c > char *orig_localename = NULL; > if ( locale ) { > // Protect damaging the global locale from a temporary > locale on another thread. > -@@ -547,7 +551,7 @@ static double mlt_property_atof( mlt_property self, do > +@@ -551,7 +551,7 @@ static double mlt_property_atof( mlt_property self, do > if ( end && end[0] == '%' ) > result /= 100.0; > > @@ -58,7 +43,7 @@ Index: src/framework/mlt_property.c > if ( locale ) { > // Restore the current locale > setlocale( LC_NUMERIC, orig_localename ); > -@@ -775,7 +779,7 @@ char *mlt_property_get_string_l_tf( mlt_property self, > +@@ -779,7 +779,7 @@ char *mlt_property_get_string_l_tf( mlt_property self, > } > else if ( ! ( self->types & mlt_prop_string ) ) > { > @@ -67,7 +52,7 @@ Index: src/framework/mlt_property.c > // TODO: when glibc gets sprintf_l, start using it! For now, > hack on setlocale. > // Save the current locale > #if defined(__APPLE__) > -@@ -821,7 +825,7 @@ char *mlt_property_get_string_l_tf( mlt_property self, > +@@ -825,7 +825,7 @@ char *mlt_property_get_string_l_tf( mlt_property self, > self->types |= mlt_prop_string; > self->prop_string = self->serialiser( self->data, > self->length ); > } > @@ -76,7 +61,7 @@ Index: src/framework/mlt_property.c > // Restore the current locale > setlocale( LC_NUMERIC, orig_localename ); > free( orig_localename ); > -@@ -1033,7 +1037,7 @@ static void time_clock_from_frames( int frames, double > +@@ -1037,7 +1037,7 @@ static void time_clock_from_frames( int frames, double > > char *mlt_property_get_time( mlt_property self, mlt_time_format format, > double fps, locale_t locale ) > { > @@ -85,7 +70,7 @@ Index: src/framework/mlt_property.c > char *orig_localename = NULL; > #endif > int frames = 0; > -@@ -1046,7 +1050,7 @@ char *mlt_property_get_time( mlt_property self, mlt_ti > +@@ -1050,7 +1050,7 @@ char *mlt_property_get_time( mlt_property self, mlt_ti > if ( format == mlt_time_frames ) > return mlt_property_get_string_l( self, locale ); > > @@ -94,7 +79,7 @@ Index: src/framework/mlt_property.c > // Use the specified locale > if ( locale ) > { > -@@ -1105,7 +1109,7 @@ char *mlt_property_get_time( mlt_property self, mlt_ti > +@@ -1109,7 +1109,7 @@ char *mlt_property_get_time( mlt_property self, mlt_ti > else // Use smpte drop frame by default > time_smpte_from_frames( frames, fps, self->prop_string, 1 ); > > @@ -103,7 +88,7 @@ Index: src/framework/mlt_property.c > // Restore the current locale > if ( locale ) > { > -@@ -1149,7 +1153,7 @@ static int is_property_numeric( mlt_property self, loc > +@@ -1153,7 +1153,7 @@ static int is_property_numeric( mlt_property self, loc > if ( locale ) > strtod_l( self->prop_string, &p, locale ); > else > @@ -112,7 +97,7 @@ Index: src/framework/mlt_property.c > char *orig_localename = NULL; > if ( locale ) { > // Protect damaging the global locale from a temporary > locale on another thread. > -@@ -1165,7 +1169,7 @@ static int is_property_numeric( mlt_property self, loc > +@@ -1169,7 +1169,7 @@ static int is_property_numeric( mlt_property self, loc > > strtod( self->prop_string, &p ); > > @@ -121,7 +106,7 @@ Index: src/framework/mlt_property.c > if ( locale ) { > // Restore the current locale > setlocale( LC_NUMERIC, orig_localename ); > -@@ -1650,7 +1654,7 @@ mlt_rect mlt_property_get_rect( mlt_property self, loc > +@@ -1654,7 +1654,7 @@ mlt_rect mlt_property_get_rect( mlt_property self, loc > char *p = NULL; > int count = 0; > > @@ -130,7 +115,7 @@ Index: src/framework/mlt_property.c > char *orig_localename = NULL; > if ( locale ) { > // Protect damaging the global locale from a temporary > locale on another thread. > -@@ -1702,7 +1706,7 @@ mlt_rect mlt_property_get_rect( mlt_property self, loc > +@@ -1706,7 +1706,7 @@ mlt_rect mlt_property_get_rect( mlt_property self, loc > count ++; > } > > Index: patches/patch-src_melt_Makefile > =================================================================== > RCS file: patches/patch-src_melt_Makefile > diff -N patches/patch-src_melt_Makefile > --- /dev/null 1 Jan 1970 00:00:00 -0000 > +++ patches/patch-src_melt_Makefile 7 Mar 2021 13:47:08 -0000 > @@ -0,0 +1,17 @@ > +$OpenBSD$ > + > +Index: src/melt/Makefile > +--- src/melt/Makefile.orig > ++++ src/melt/Makefile > +@@ -3,9 +3,9 @@ include ../../config.mak > + OBJS = melt.o \ > + io.o > + > +-CFLAGS += -I.. $(RDYNAMIC) -DVERSION=\"$(version)\" > ++CFLAGS += -I.. -DVERSION=\"$(version)\" > + > +-LDFLAGS += -L../framework -lmlt -lpthread > ++LDFLAGS += $(RDYNAMIC) -L../framework -lmlt -lpthread > + > + SRCS := $(OBJS:.o=.c) > + > Index: patches/patch-src_mlt++_Makefile > =================================================================== > RCS file: /cvs/ports/multimedia/mlt/patches/patch-src_mlt++_Makefile,v > retrieving revision 1.5 > diff -u -p -r1.5 patch-src_mlt++_Makefile > --- patches/patch-src_mlt++_Makefile 24 Aug 2020 14:09:54 -0000 1.5 > +++ patches/patch-src_mlt++_Makefile 7 Mar 2021 13:47:08 -0000 > @@ -13,6 +13,18 @@ Index: src/mlt++/Makefile > else > TARGET = $(NAME).$(version) > SONAME = $(NAME).$(soversion) > +@@ -19,9 +23,9 @@ endif > + ifneq (, $(shell $(CXX) --version | grep -is -e g++ -e clang)) > + CXXFLAGS += -std=c++11 > + endif > +-CXXFLAGS += -I.. $(RDYNAMIC) -DVERSION=\"$(version)\" -fvisibility=hidden > ++CXXFLAGS += -I.. -DVERSION=\"$(version)\" -fvisibility=hidden > + > +-LDFLAGS := -L../framework -lmlt $(LDFLAGS) > ++LDFLAGS := $(RDYNAMIC) -L../framework -lmlt $(LDFLAGS) > + ifeq ($(targetos), Linux) > + LDFLAGS += -Wl,--version-script=mlt++.vers > + endif > @@ -58,10 +62,12 @@ all: $(TARGET) > > $(TARGET): $(OBJS) > Index: patches/patch-src_modules_qt_Makefile > =================================================================== > RCS file: /cvs/ports/multimedia/mlt/patches/patch-src_modules_qt_Makefile,v > retrieving revision 1.4 > diff -u -p -r1.4 patch-src_modules_qt_Makefile > --- patches/patch-src_modules_qt_Makefile 26 Apr 2019 13:39:16 -0000 > 1.4 > +++ patches/patch-src_modules_qt_Makefile 7 Mar 2021 13:47:08 -0000 > @@ -3,7 +3,7 @@ XXX Dirty hack > Index: src/modules/qt/Makefile > --- src/modules/qt/Makefile.orig > +++ src/modules/qt/Makefile > -@@ -34,6 +34,10 @@ ifdef USE_FFTW > +@@ -35,6 +35,10 @@ ifdef USE_FFTW > CFLAGS += -DUSE_FFTW > endif > > Index: pkg/PLIST-main > =================================================================== > RCS file: /cvs/ports/multimedia/mlt/pkg/PLIST-main,v > retrieving revision 1.11 > diff -u -p -r1.11 PLIST-main > --- pkg/PLIST-main 24 Aug 2020 14:09:54 -0000 1.11 > +++ pkg/PLIST-main 7 Mar 2021 13:47:08 -0000 > @@ -93,6 +93,7 @@ share/mlt/core/filter_audiomap.yml > share/mlt/core/filter_audiowave.yml > share/mlt/core/filter_brightness.yml > share/mlt/core/filter_channelcopy.yml > +share/mlt/core/filter_choppy.yml > share/mlt/core/filter_crop.yml > share/mlt/core/filter_data_show.yml > share/mlt/core/filter_fieldorder.yml > @@ -194,6 +195,7 @@ share/mlt/plus/filter_lift_gamma_gain.ym > share/mlt/plus/filter_loudness.yml > share/mlt/plus/filter_loudness_meter.yml > share/mlt/plus/filter_lumakey.yml > +share/mlt/plus/filter_pillar_echo.yml > share/mlt/plus/filter_rgblut.yml > share/mlt/plus/filter_sepia.yml > share/mlt/plus/filter_spot_remover.yml > @@ -416,6 +418,7 @@ share/mlt/profiles/vcd_pal > share/mlt/profiles/vertical_hd_30 > share/mlt/profiles/vertical_hd_60 > share/mlt/qt/ > +share/mlt/qt/filter_qtcrop.yml > share/mlt/qt/filter_qtext.yml > share/mlt/sdl/ > share/mlt/sdl/consumer_sdl.yml