[PD-cvs] SF.net SVN: pure-data:[10340] trunk/externals/iem/iemmatrix/src

fzotter at users.sourceforge.net fzotter at users.sourceforge.net
Thu Oct 23 10:33:15 CEST 2008


Revision: 10340
          http://pure-data.svn.sourceforge.net/pure-data/?rev=10340&view=rev
Author:   fzotter
Date:     2008-10-23 08:33:15 +0000 (Thu, 23 Oct 2008)

Log Message:
-----------
made changes to account for iemmatrix structures in the new files.
mtx_pack~ crashes (!)

Modified Paths:
--------------
    trunk/externals/iem/iemmatrix/src/mtx_dispersive_dline.c
    trunk/externals/iem/iemmatrix/src/mtx_pack~.c
    trunk/externals/iem/iemmatrix/src/mtx_sndfileread.c

Modified: trunk/externals/iem/iemmatrix/src/mtx_dispersive_dline.c
===================================================================
--- trunk/externals/iem/iemmatrix/src/mtx_dispersive_dline.c	2008-10-22 12:52:33 UTC (rev 10339)
+++ trunk/externals/iem/iemmatrix/src/mtx_dispersive_dline.c	2008-10-23 08:33:15 UTC (rev 10340)
@@ -39,7 +39,7 @@
 
 */
 
-#include "m_pd.h"
+#include "iemmatrix.h"
 
 static t_class *mtx_dispersive_dline_class;
 
@@ -240,3 +240,8 @@
  
   class_addmethod(mtx_dispersive_dline_class, (t_method)mtx_dispersive_dline_helper, gensym("help"), 0);
 }
+
+void iemtx_dispersive_dline_setup(void)
+{
+    mtx_dispersive_dline_setup();
+}

Modified: trunk/externals/iem/iemmatrix/src/mtx_pack~.c
===================================================================
--- trunk/externals/iem/iemmatrix/src/mtx_pack~.c	2008-10-22 12:52:33 UTC (rev 10339)
+++ trunk/externals/iem/iemmatrix/src/mtx_pack~.c	2008-10-23 08:33:15 UTC (rev 10340)
@@ -1,4 +1,4 @@
-#include "m_pd.h"
+#include "iemmatrix.h"
 #define MTX_PACK_MAXCHANNELS 200
 
 static t_class *mtx_pack_tilde_class;
@@ -77,4 +77,9 @@
    class_addmethod (mtx_pack_tilde_class, (t_method) mTxPackTildeDsp, gensym("dsp"),0);
 }
 
+void iemtx_pack__setup(void)
+{
+   mtx_pack_tilde_setup();
+}
 
+

Modified: trunk/externals/iem/iemmatrix/src/mtx_sndfileread.c
===================================================================
--- trunk/externals/iem/iemmatrix/src/mtx_sndfileread.c	2008-10-22 12:52:33 UTC (rev 10339)
+++ trunk/externals/iem/iemmatrix/src/mtx_sndfileread.c	2008-10-23 08:33:15 UTC (rev 10340)
@@ -1,6 +1,7 @@
-#include <stdio.h>
-#include <sndfile.h>
-#include "m_pd.h"
+#ifdef HAVE_SNDFILE_H
+# include <sndfile.h>
+#endif
+#include "iemmatrix.h"
 
 #ifdef __WIN32__
 # include <io.h>
@@ -103,8 +104,10 @@
 typedef struct mtx_sndfileread
 {
   t_object x_ob;
+#ifdef HAVE_SNDFILE_H
   SNDFILE *x_sndfileread;
   SF_INFO x_sfinfo;
+#endif
   t_outlet *x_message_outlet;
   t_outlet *x_readybang_outlet;
   t_canvas *x_canvas;
@@ -117,9 +120,11 @@
 
 static void mtx_sndfileread_close (t_mtx_sndfileread *x)
 {
+#ifdef HAVE_SNDFILE_H
   if(x->x_sndfileread)
     sf_close (x->x_sndfileread);
   x->x_sndfileread=0;
+#endif
 
   if(x->x_outlist)
     freebytes(x->x_outlist, sizeof(t_atom)*(2+x->num_chan*x->num_frames));
@@ -132,6 +137,7 @@
 
 static void mtx_sndfileread_open (t_mtx_sndfileread *x, t_symbol *s, t_symbol*type)
 {
+#ifdef HAVE_SNDFILE_H
   char filenamebuf[MAXPDSTRING], *filenamebufptr;
   char*dirname=canvas_getdir(x->x_canvas)->s_name;
   int fd;
@@ -150,10 +156,14 @@
     return;
   }
   x->num_chan = x->x_sfinfo.channels;
+#else
+  pd_error(x,"mtx_sndfileread: compiled without libsndfile: no file opened!");
+#endif
 }
 
 static void mtx_sndfileread_frame (t_mtx_sndfileread *x)
 {
+#ifdef HAVE_SNDFILE_H
   int n;
   t_atom *ptr;
   
@@ -189,11 +199,15 @@
      }
      outlet_anything(x->x_message_outlet,gensym("matrix"),x->num_chan+2,x->x_outlist);
   }
+#else
+  pd_error(x,"mtx_sndfileread: compiled without libsndfile: no file opened for reading!");
+#endif
 
 }
 
 static void mtx_sndfileread_frames (t_mtx_sndfileread *x, t_float f)
 {
+#ifdef HAVE_SNDFILE_H
   int n,n2,c;
   sf_count_t frames_read;
   int num_frames=(int)f;
@@ -239,7 +253,9 @@
 	outlet_bang(x->x_readybang_outlet);
      }
   }
-
+#else
+  pd_error(x,"mtx_sndfileread: compiled without libsndfile: no file opened!");
+#endif
 }
 
 static void mtx_sndfileread_free (t_mtx_sndfileread *x)
@@ -254,7 +270,11 @@
   t_mtx_sndfileread *x = (t_mtx_sndfileread *)pd_new(mtx_sndfileread_class);
   x->x_message_outlet = outlet_new(&x->x_ob, &s_list);
   x->x_readybang_outlet = outlet_new(&x->x_ob, &s_bang);
+#ifdef HAVE_SNDFILE_H
   x->x_sndfileread=0;
+#else
+  pd_error(x,"mtx_sndfileread won't work: compiled without libsndfile!");
+#endif
   x->num_chan=0;
   x->num_frames=0;
   x->x_canvas = canvas_getcurrent();
@@ -269,6 +289,13 @@
   class_addmethod(mtx_sndfileread_class, (t_method)mtx_sndfileread_close, gensym("close"), A_NULL, 0);
   class_addbang(mtx_sndfileread_class, (t_method)mtx_sndfileread_frame);
   class_addfloat(mtx_sndfileread_class, (t_method)mtx_sndfileread_frames);
+#ifndef HAVE_SNDFILE_H
+  post("mtx_sndfileread won't work: compiled without libsndfile!");
+#endif
+}
 
+void iemtx_sndfileread_setup (void)
+{
+   mtx_sndfileread_setup();
 }
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Pd-cvs mailing list