for some reason, the delay filter crashes on initialization. this is pretty bad, because it can crash any application that loads ladspa plugins, whether they will be used or not.
I discovered that it was related to printing a double type. it was trying to print a decimal representation of a second, so I just multiplied by 1000 and made it say 'ms' instead of 's'. I suspect this is a bug in the compiler or libc. to reproduce on amd64: $ sudo pkg_add cmt ladspa $ LADSPA_PATH=/usr/local/lib/ladspa listplugins -- [email protected] SDF Public Access UNIX System - http://sdf.lonestar.org Index: Makefile =================================================================== RCS file: /cvs/ports/audio/cmt/Makefile,v retrieving revision 1.3 diff -N -u -p Makefile --- Makefile 15 Sep 2007 21:26:00 -0000 1.3 +++ Makefile 5 Feb 2010 14:28:04 -0000 @@ -1,17 +1,17 @@ # $OpenBSD: Makefile,v 1.3 2007/09/15 21:26:00 simon Exp $ -COMMENT= computer music toolkit +COMMENT= CMT LADSPA plugins HOMEPAGE= http://www.ladspa.org/ CATEGORIES= audio devel SHARED_ONLY= Yes -DISTNAME= cmt_src_1.15 +DISTNAME= cmt_src_1.16 WRKDIST= ${WRKDIR}/cmt -PKGNAME= cmt-1.15p0 +PKGNAME= cmt-1.16 EXTRACT_SUFX= .tgz MASTER_SITES= ${HOMEPAGE:=download/} -# GPL +# GPLv2 PERMIT_PACKAGE_FTP= Yes PERMIT_PACKAGE_CDROM= Yes PERMIT_DISTFILES_FTP= Yes @@ -30,9 +30,14 @@ do-install: ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/cmt ${INSTALL_DATA} ${WRKDIST}/doc/*.html ${PREFIX}/share/doc/cmt +post-patch: +.for file in analogue canyondelay lofi phasemod syndrum vcf303 + perl -pi -e 's,#include <malloc.h>,#include <stdlib.h>,' \ + ${WRKSRC}/src/${file}.cpp +.endfor + # interactive regression test, that requires you to listen to stuff. # -> mostly useless NO_REGRESS= Yes .include <bsd.port.mk> - Index: distinfo =================================================================== RCS file: /cvs/ports/audio/cmt/distinfo,v retrieving revision 1.2 diff -N -u -p distinfo --- distinfo 5 Apr 2007 15:37:41 -0000 1.2 +++ distinfo 5 Feb 2010 14:28:04 -0000 @@ -1,5 +1,5 @@ -MD5 (cmt_src_1.15.tgz) = qi8GCayotphiXYYXDEJuLA== -RMD160 (cmt_src_1.15.tgz) = /XZS/iBLY7JKn7BGiMy6uqvR/s8= -SHA1 (cmt_src_1.15.tgz) = SNAghgfHLVfvvbi6VWlaqIGaDMQ= -SHA256 (cmt_src_1.15.tgz) = C4FJOAQMdAPdJDZ7HbvwsNt6wR33RHEp6cG38ziQsek= -SIZE (cmt_src_1.15.tgz) = 61522 +MD5 (cmt_src_1.16.tgz) = Fah15ar3nCCcIjur+0HLHA== +RMD160 (cmt_src_1.16.tgz) = hEkYeVi6xcyuYQCQblntNIh4Rlc= +SHA1 (cmt_src_1.16.tgz) = u/2znsqg5/bIUXZYqFwHYE47XF0= +SHA256 (cmt_src_1.16.tgz) = USodfmmLng58aSICwp9L1whG1SJB7CVOGjJKuu9AVjU= +SIZE (cmt_src_1.16.tgz) = 63909 Index: patches/patch-src_delay_cpp =================================================================== RCS file: patches/patch-src_delay_cpp diff -N -u -p patches/patch-src_delay_cpp --- /dev/null 5 Feb 2010 07:28:04 -0000 +++ patches/patch-src_delay_cpp 5 Feb 2010 14:28:04 -0000 @@ -0,0 +1,25 @@ +$OpenBSD$ +--- src/delay.cpp.orig Wed Aug 7 14:37:02 2002 ++++ src/delay.cpp Fri Feb 5 06:26:56 2010 +@@ -283,15 +283,16 @@ initialise_delay() { + = lDelayTypeIndex * DELAY_LENGTH_COUNT + lDelayLengthIndex; + + char acLabel[100]; ++ int maxDelay = int(afMaximumDelays[lDelayLengthIndex] * 1000); + sprintf(acLabel, +- "%s_%gs", ++ "%s_%d", + apcDelayTypeLabels[lDelayTypeIndex], +- afMaximumDelays[lDelayLengthIndex]); ++ maxDelay); + char acName[100]; +- sprintf(acName, +- "%s Delay Line (Maximum Delay %gs)", ++ sprintf(acName, ++ "%s Delay Line (Maximum Delay %d ms)", + apcDelayTypeNames[lDelayTypeIndex], +- afMaximumDelays[lDelayLengthIndex]); ++ maxDelay); + + psDescriptor = new CMT_Descriptor + (1053 + lPluginIndex, Index: patches/patch-src_makefile =================================================================== RCS file: /cvs/ports/audio/cmt/patches/patch-src_makefile,v retrieving revision 1.2 diff -N -u -p patches/patch-src_makefile --- patches/patch-src_makefile 4 Aug 2006 23:54:31 -0000 1.2 +++ patches/patch-src_makefile 5 Feb 2010 14:28:04 -0000 @@ -1,7 +1,7 @@ $OpenBSD: patch-src_makefile,v 1.2 2006/08/04 23:54:31 espie Exp $ ---- src/makefile.orig Thu Dec 19 21:52:51 2002 -+++ src/makefile Sat Aug 5 01:49:13 2006 -@@ -68,7 +68,7 @@ plugin: $(PLUGIN_LIB) +--- src/makefile.orig Tue Nov 6 02:25:34 2007 ++++ src/makefile Mon Feb 1 01:15:30 2010 +@@ -66,7 +66,7 @@ plugin: $(PLUGIN_LIB) targets: $(PLUGIN_LIB) $(PLUGIN_LIB): $(PLUGIN_OBJECTS) @@ -10,7 +10,7 @@ $OpenBSD: patch-src_makefile,v 1.2 2006/08/04 23:54:31 -o $(PLUGIN_LIB) \ $(PLUGIN_OBJECTS) -@@ -123,3 +123,7 @@ backup: clean +@@ -121,3 +121,7 @@ backup: clean ###############################################################################
