On Fri, Feb 05, 2010 at 02:47:53PM +0000, Jacob Meuser wrote:
> 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.

for example, audacity:

$ sudo pkg_add cmt audacity
$ audacity
Bus error
$ sudo pkg_delete cmt
$ audacity
tralala

here's just the workaround.  it only changes the human read
decscription and identifier.

-- 
[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    10 Feb 2010 11:03:38 -0000
@@ -7,7 +7,7 @@ CATEGORIES=     audio devel
 SHARED_ONLY=   Yes
 DISTNAME=      cmt_src_1.15
 WRKDIST=       ${WRKDIR}/cmt
-PKGNAME=       cmt-1.15p0
+PKGNAME=       cmt-1.15p1
 EXTRACT_SUFX=  .tgz
 MASTER_SITES=  ${HOMEPAGE:=download/}
 
Index: patches/patch-src_delay_cpp
===================================================================
RCS file: patches/patch-src_delay_cpp
diff -N -u -p patches/patch-src_delay_cpp
--- /dev/null   10 Feb 2010 04:03:38 -0000
+++ patches/patch-src_delay_cpp 10 Feb 2010 11:03:38 -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,

Reply via email to