[PD-cvs] SF.net SVN: pure-data: [9836] trunk/externals/loaders/hexloader

zmoelnig at users.sourceforge.net zmoelnig at users.sourceforge.net
Sun May 18 09:38:36 CEST 2008


Revision: 9836
          http://pure-data.svn.sourceforge.net/pure-data/?rev=9836&view=rev
Author:   zmoelnig
Date:     2008-05-18 00:38:36 -0700 (Sun, 18 May 2008)

Log Message:
-----------
added faq with an explanation of the patch-loading bug;
disabled patch-loading by default (it doesn't work anyhow);
use the pd within this directory to compile

Modified Paths:
--------------
    trunk/externals/loaders/hexloader/Makefile
    trunk/externals/loaders/hexloader/hexloader.c

Added Paths:
-----------
    trunk/externals/loaders/hexloader/FAQ.txt

Added: trunk/externals/loaders/hexloader/FAQ.txt
===================================================================
--- trunk/externals/loaders/hexloader/FAQ.txt	                        (rev 0)
+++ trunk/externals/loaders/hexloader/FAQ.txt	2008-05-18 07:38:36 UTC (rev 9836)
@@ -0,0 +1,24 @@
+============================================
+= things you might ask yourself frequently =
+============================================
+
+Q: what's this?
+A: please read the README.txt for an explanation
+
+Q: it doesn't work!
+A: try increasing the verbosity of Pd by adding the "-verbose" flag 
+   _multiple times_ to the startup flags; [hexloader] will become more
+   talkative at verbosity-level 2, which will help you (or us) to find the 
+   source of your problem
+
+Q: hexloading abstraction does not work
+A1: it is not enabled by default! you can enable it by setting the 
+    HEXLOADER_PATCHES preprocessor-define either via the Makefile or within
+    the source file.
+    the reason why it is disabled is:
+A2: hexloading abstractions (as opposed to "externals" written in other 
+    languages (anything that uses the loader-mechanism; e.g. C or lua or python
+    externals; but not Pd-abstractions)) is currently broken as it does not 
+    correctly resolve abstractions embedded within hexloaded abstractions.
+    that's a problem of Pd's abstraction-loading mechanism which i would rather
+    solve on the Pd-side

Modified: trunk/externals/loaders/hexloader/Makefile
===================================================================
--- trunk/externals/loaders/hexloader/Makefile	2008-05-17 21:31:20 UTC (rev 9835)
+++ trunk/externals/loaders/hexloader/Makefile	2008-05-18 07:38:36 UTC (rev 9836)
@@ -3,8 +3,8 @@
 
 # path to pd
 ## change this according to your setup!
-#PDROOT=../../../pd
-PDROOT=/Net/iem/Benutzer/zmoelnig/src/pd-0.41-0test08
+PDROOT?=../../../pd
+#PDROOT=/Net/iem/Benutzer/zmoelnig/src/pd-0.41-0test08
 
 # here we find the sources of pd (and evtl. the pd.lib)
 PDSRCDIR=$(PDROOT)/src

Modified: trunk/externals/loaders/hexloader/hexloader.c
===================================================================
--- trunk/externals/loaders/hexloader/hexloader.c	2008-05-17 21:31:20 UTC (rev 9835)
+++ trunk/externals/loaders/hexloader/hexloader.c	2008-05-18 07:38:36 UTC (rev 9836)
@@ -42,8 +42,16 @@
 #endif
 
 
-#define HEXLOADER_PATCHES
+/* for now hexloading abstractions does not work very well, 
+ * as it chokes when the hexloaded abstractions has nested abstractions
+ * 
+ * if you really want to enable hexloading patches, 
+ * do so via the Makefile by defining HEXLOADER_PATCHES
+ *
+ */
+//#define HEXLOADER_PATCHES
 
+
 #ifdef HEXLOADER_PATCHES
 void canvas_popabstraction(t_canvas *x);
 static void*hexloader_fakenew(t_symbol *s, int argc, t_atom *argv);
@@ -562,6 +570,7 @@
   sprintf(fullfile, "%s/%s", pathname, filename);
 
   while(altname) {
+    verbose(2, "hexloader trying %s (%s)", fullfile, altname->name);
     if(hexloader_doload(fullfile, altname->name))
       return 1;
 


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