Re: [PD-dev] Functional Programming C code generation

2013-05-15 Thread Thomas Grill
Btw, Tom, great to see you back in Pure Data business!
gr~~~

--
Thomas Grill
http://g.org


Am 14.05.2013 um 18:18 schrieb Tom Schouten:

 Hi Pd devs
 
 Is there anyone here interested in Functional Programming and C code
 generation for DSP code?
 
 I'm working on a system for DSP code development based on the principle
 of Abstract Interpretation
 http://en.wikipedia.org/wiki/Abstract_interpretation
 
 Basically, it will allow several interpretations of a single
 specification program:
 - specification as a pure functional program
 - imperative C code generation (for passing to C compiler or LLVM)
 - Z transform for frequency plots of (linearized) transfer function
 - automatic differentiation for all kinds of derivative-based tricks
 - ...
 
 It is written in Racket
 http://racket-lang.org/
 
 It's starting to get to a point where it is actually useful (there is a
 basic synth core) and could use some feedback, but please note it is
 very experimental and still needs a lot of work. Familiarity with Racket
 is probably a prerequisite at this point to make sense of it. Current
 code is here:
 http://zwizwa.be/darcs/meta/rai/
 
 It is part of a darcs archive that can be fetched using
 darcs gethttp://zwizwa.be/darcs/meta
 
 I use Pd for most of the experiments.
 There is a generator for Pd externs, and a live coding reload mechanism
 that can reload recompiled processing code without messing up internal state,
 as long as the types are compatible.
 
 Cheers
 Tom
 
 
 
 
 
 
 ___
 Pd-dev mailing list
 Pd-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev


___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] Rewriting a unified phasor / metro object for reading tables

2013-05-08 Thread Thomas Grill

Hi Ed,
maybe the ramp abstraction in http://g.org/research/software/upp/upp-tut6c/ 
 is of use for you.

It doesn't wrap but just ramp endlessly.
gr~~~

--
Thomas Grill
http://g.org



Am 08.05.2013 um 23:00 schrieb Ed Kelly:


Hi Lists(s),

I'm rewriting phasor~ and unifying it with metro so that a pulse is  
generated from the boundaries of each ramp - so that bars of music  
can be read using tabread~ objects with a sample-accurate metro.


I'm sure someone will say this can already be done, but it has to be  
dropped into the Ninja Jamm patch, so there isn't really time to  
rewrite the rest of the patch.


I don't fully understand the way phasor~ wraps, but I have the  
object firing out bar numbers correctly. I'm putting clocks in for  
16ths and 24ths of the beat, initiated on each wrap. I need to  
minimise CPU, so what I want to know is this:


Does phasor~ always start from 0 and go to 1, i.e. is there always a  
signal value of 0 at the start of the ramp and a signal value of 1  
at the end? As I write this, my common sense tells me it should be  
yes but I want to make sure. I suppose I should just try it  
really...


Cheers,
Ed

Ninja Jamm - a revolutionary new musix remix app from Ninja Tune and  
Seeper, for iPhone and iPad

http://www.ninjajamm.com/

Gemnotes-0.2: Live music notation for Pure Data, now with dynamics!
http://sharktracks.co.uk/
___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] [PD] libpd netreceive

2013-01-21 Thread Thomas Grill
Hi Peter,
at least on iOS, the whole thing boils down to the patch below.
I added two initialization functions to libpd_init, the first
sys_findprogdir for finding the pd binary directory (actually to initialize
the symbol sys_libdir which can also be done manually), and second
sys_startgui to initialize the data structures for networking. That this
fundamental functionality is mangled with GUI-related code is not pretty
and should certainly be refactored (in Pd proper).
The polling happens in the PROCESS macro, after audio has been processed. I
think using a sleep time of 0 it should be non-blocking, but it would
definitely be better (in sys_domicrosleep) to avoid calling the system
function Sleep (only matters for WIN32) for timeouts of 0. Maybe Miller
should review that.
I am not sure whether using memory management functions in an audio
callback is a problem - it shouldn't, as Miller certainly had a look at
that. This happens because the incoming networking data is stored in
dynamically allocated binbuf structures.
That's my report - it works for me now.
all the best,
gr~~~

--

--- a/libpd_wrapper/z_libpd.c
+++ b/libpd_wrapper/z_libpd.c
@@ -20,6 +20,8 @@
 #include g_all_guis.h

 void pd_init(void);
+void sys_findprogdir(char *progname);
+int sys_startgui(const char *guipath);

 t_libpd_printhook libpd_printhook = NULL;
 t_libpd_banghook libpd_banghook = NULL;
@@ -65,7 +67,9 @@ void libpd_init(void) {
   sys_nmidiout = 0;
   sys_time = 0;
   pd_init();
+  sys_findprogdir();   /* set sys_progname, guipath */
   libpdreceive_setup();
+  sys_startgui(sys_libdir-s_name);   /* start the gui */
   sys_set_audio_api(API_DUMMY);
   sys_searchpath = NULL;
 }
@@ -128,6 +132,7 @@ static const t_sample sample_to_short = SHRT_MAX,
   } \
 } \
   } \
+  sys_microsleep(0); \
   return 0;

 int libpd_process_short(int ticks, short *inBuffer, short *outBuffer) {



2013/1/21 Peter Brinkmann peter.brinkm...@googlemail.com


 Hi Thomas,
 There's no mailing list for libpd, but there is a forum:
 http://createdigitalnoise.com/categories/pd-everywhere In any case, this
 does seem like a question for pd-dev, so we're in the right place :)

 About sys_microsleep, there are two potential problems that I'm concerned
 about about: The first is that it might block, but that doesn't seem to be
 the case since it's being called in the audio callback. The second concern
 is that I'm not sure how this low-level access to network sockets might
 behave on Android (which requires special permissions for internet access).
 I'm expecting that it'll be okay, but we need to make sure. Please let me
 know how it goes!
 Best,
  Peter



 On Mon, Jan 21, 2013 at 6:43 AM, Thomas Grill g...@g.org wrote:

 Ok Peter, let's move this over to pd-dev. There is no specific libpd
 list, is it?

 I have now quickly looked into what the context of the socket polling is
 like in Pd.
 It is even done in the audio callback (via sys_pollgui) if this is
 enabled, so it can't really have serious side effects. As far as i have
 seen libpd also uses a callback based approach for audio, at least for iOS.
 Maybe introducing a sys_microsleep(0,1) in the audio callback does the
 trick? I will test that now.
 That said, i'm totally unaware of the details of other implementations.

 all the best,
 gr



 2013/1/21 Peter Brinkmann peter.brinkm...@googlemail.com


 Hi Thomas,
 I have to admit that I didn't realize that netreceive requires an extra
 polling step. So, I'm afraid that netreceive is currently broken.

 The question is what to do about this. I took a quick look at
 sys_domicrosleep and didn't immediately see how it works. I wouldn't mind
 integrating it into libpd somehow, but I want to be sure that there won't
 be any weird side effects. This seems slightly off-topic for pd-list. Shall
 we talk about this on pd-dev?
 Cheers,
  Peter



 On Sun, Jan 20, 2013 at 6:42 PM, Thomas Grill g...@g.org wrote:

 Hi all,
 i am new to libpd and i have run into problems using netreceive on ios
 5.1.
 While netsend works perfectly, netreceive doesn't work at all. Senders
 can connect to the receiving socket, but netreceive wouldn't spit out any
 data.
 Looking at the code, it seems to me that the polling of the net sockets
 (done in plain Pure Data in s_inter.c / sys_domicrosleep) is not called in
 libpd at all. I also couldn't find a different place where this is done.
 Does that mean that libpd doesn't currently service incoming socket
 data?


 Thanks for clarification, all the best,
 gr~~~

 --
 Thomas Grill
 http://g.org

 ___
 pd-l...@iem.at mailing list
 UNSUBSCRIBE and account-management -
 http://lists.puredata.info/listinfo/pd-list





 --
 Thomas Grill
 http://g.org





-- 
Thomas Grill
http://g.org
___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] Flext compiled objects in Pd 0.43.1 (fluid~ py/pyext)

2012-08-07 Thread Thomas Grill
Hi Glerm,
i would be interested on the circumstances why pyext doesn't load.
Are you sure that you used a valid python script (to be found in the current 
patcher directory or the pd path? Because, if not, pyext won't load.
gr~~~

Am 07.08.2012 um 22:40 schrieb glerm soares:

 Hello,
 
 I just compiled and tested Pd 0.43.1 since a long time using 0.42.5 and 
 missed some objects I always used.
 
 I want to know if some people are having the same trouble than me with 2 
 flext compiled objects mainly - [ fluid~ ] [ pyext ]
 my system is Ubuntu Oneiric 32bits,kernel 3.0.0-20-generic-pae but I don't 
 think it's an OS problem.
 
 I could compile the binaries .pd_linux and they are in the correct folders 
 (/usr/lib/pd-extended/extra)
 
 but
 
 py/pyext - pyext doesn't load (even when I use -lib py in statup  or [import 
 py]) - I saw similar issues in list history but my problem is not about not 
 loading the lib cause py loads (but AFAIK all the examples uses pyext)
 
 fluid~ - the object loads but when I load a soundfount pd crashes with a 
 signal - 
 watchdog: signaling pd...
 watchdog: signaling pd...
 watchdog: signaling pd...
 (something related to tcl/tk GUI ??)
 
 Some could say I should had separated the 2 objects issues in different 
 threads for this mailinglist, but since I think most of  pd(extended) users 
 don't even try to compile flext objects I think this is the best subject 
 title for now...
 
 so the question is: who already could run some of those 2 objects at Pd 
 0.43.1 and if maybe it's some with flext compilation problem?
 
 or whatever, some tip about one of those objects?
 
 thanx
 glerm
 ___
 Pd-dev mailing list
 Pd-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev



--
Thomas Grill
http://g.org
+43 699 19715543


___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


[PD-dev] open_via_path / close file - WIndows CRT problems

2012-07-03 Thread Thomas Grill
Hi all,
when trying to trace a bug in one of my externals i came across what could be 
an issue in the PD API.

The header m_pd.h exposes the function open_via_path which can be used in 
externals to search file in the PD search path.
On success it opens the file and returns a file handle, which can in turn be 
used by the external code.
This doesn't seem to be a problem on Unix-based systems.
On Windows, under certain circumstances [1], PD and the external use separate 
copies of the CRT, meaning that passing the file handle and using POSIX-style 
file functions between dynamically linked binaries is not really possible. The 
file handle would not be valid in the external.
This happens when at least one party is linked with the threaded static CRT, 
which is the default with PD and most externals.

Now, i'm wondering how this problem can have been hidden for so long. Are there 
no externals using open_via_path and running under Windows?
This must be a problem for all script loader externals relying on the PD path, 
like my py/pyext external.
Am i doing something wrong, or is there a known solution/workaround etc.?

Thanks and all the best,
Thomas

[1] http://msdn.microsoft.com/en-us/library/ms235460(v=vs.80).aspx

--
Thomas Grill
http://g.org


___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] open_via_path / close file - WIndows CRT problems

2012-07-03 Thread Thomas Grill
I see, thanks! That's perfect - sorry for not being up to date.
gr~~~

Am 03.07.2012 um 15:49 schrieb IOhannes m zmoelnig:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1
 
 On 2012-07-03 15:40, IOhannes m zmoelnig wrote:
 
 Pd-0.43 introduced sys_close() in order to have the same CRT 
 implementation open and close the file.
 
 prior version of Pd lack this function and therefore there a number
 of file-handle leakage bugs were reported.
 
 
 sp the workaround is actually to use open_via_path() to get the full
 patch of the file you want to open, sys_close() the filehandle and
 then use the full-path to open the file yourself.
 
 fgmasdr
 IOhannes
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v1.4.12 (GNU/Linux)
 Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
 
 iEYEARECAAYFAk/y+EkACgkQkX2Xpv6ydvTkCwCfRvO9WVlNjg2/AZ0unQgs6qYs
 xLkAnAwTrGl7B/uqClNFrJP0o1VDzEpc
 =oSId
 -END PGP SIGNATURE-
 
 ___
 Pd-dev mailing list
 Pd-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev

--
Thomas Grill
http://g.org
+43 699 19715543


___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] Xcode 4: Debug pd-external

2011-08-30 Thread Thomas Grill
Hi,
i haven't used Xcode4 yet. For older versions i don't define the application 
bundle as executable, but rather the unix program, which is in e.g. 
/Applications/Pd-0.43-0.app/Contents/Resources/bin/pd
My experience is that pd-extended won't take any command-line parameters (which 
is very useful for debugging), as opposed to pd-vanilla.
gr~~~

Am 30.08.2011 um 15:20 schrieb Patrick Gampp:

 Hi,
 I tried to debug my puredata external with Xcode4.
 
 What I did so far is:
 
 1) In the 'edit scheme'-menu, I added in the 'Executable'-list: 
 Pd-extended.app. 
 2) Build configuration is Debug
 3) Debugger is GDB.
 4) I set some breakpoints in my source file.
 
 When I hit Run, pd starts and I open my patch, where the external is, which I 
 want to debug. The patch runs, but Xcode does not stop at the given 
 breakpoints. 
 
 Do you know what I am doing wrong here?
 
 Thanks, 
 Patrick
 ___
 Pd-dev mailing list
 Pd-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev

--
Thomas Grill
http://g.org
+43 699 19715543


___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] flext and gnu/windows - 'undefined reference' with pd global vars?

2011-04-04 Thread Thomas Grill


Am 04.04.2011 um 17:46 schrieb dmotd:


On 04/05/2011 01:14 AM, Hans-Christoph Steiner wrote:


'undefined reference' generally means that the linker has found  
symbols

in the .o files that it can't find a reference to. I.e. take the
function 'foo', if myobject.o uses foo() from the bar lib, and the  
bar

lib is not including the linking, because its not specified or not in
the lib path, the you'll get an 'undefined reference'. Basically it
means it can't find the code that matches a given symbol (i.e.  
function,

variable, etc).

.hc


yes, i'm quite aware of what causes an 'undefined reference', but  
the flext lib should already be linking to pd.dll with -lpd and the  
locations -L check out..


it only complains of a small handfull of the many symbols that flext  
uses from pd (it is afterall a programming interface which uses pds  
api extensively).


the problem is caused only by the global data defined in the pd.dll  
(garray_class, s_float, etc.) not by function protoypes


gr~~~



___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] [flext] Fwd: fixing Flext for 64-bit?

2010-03-15 Thread Thomas Grill
 Do you think you (or someone else) will have the time in the near future to
 solve the bug?

sure, if a genuine bug shows up i'll usually fix it quickly. Missing
features take much longer.
gr~~~

___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] [flext] Fwd: fixing Flext for 64-bit?

2010-03-13 Thread Thomas Grill
 the message [mul array3 array1 array2 works only on the first half of the
 array3

 instead the message [add array3 array1 array2

you mean the latter add function works as it should?


 - this behaviour is correct (I don't think so)?

true, i suspect a bug

 - this behaviour is due to the 64-bit?

very probable, but it should be fixed nonetheless

gr~~~

___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] [flext] Fwd: fixing Flext for 64-bit?

2010-03-11 Thread Thomas Grill
thanks for your kind words. I haven't given up the hope that someday
someone will find the time to integrate the flext-based externals into
the autobuild structure and, consequently, pd-extended.
gr~~~

2010/3/9 Dario Pedrioli dariopedri...@gmail.com:
 Thanks a lot Thomas.

 Now it compile fine!

 I pick the occasion to say that your work for pd (flext, pool, py, etc...)
 is fantastic. Many many many thanks!

 ciao, Dario

 2010/3/9 Thomas Grill g...@g.org

 Hi Dario,
 please check out py from svn and try again.
 gr~~~
 Am 09.03.2010 um 09:48 schrieb Dario Pedrioli:

 Hi all,

 I'm trying to compile py/pyext on ubuntu 9.04 64-bit machine PD 0.42.5

 with flext rev 3659 I've got no problems.

 with flext rev 3723 I've got the error below:

 ubu...@ubuntu-desktop:~/pd/
 source/py_3723$ sh ../flext_3723/build.sh pd gcc
 make -f ../flext_3723/buildsys/gnumake-sub.mak  PLATFORM=lnx RTSYS=pd
 COMPILER=gcc BUILDPATH=../flext_3723/buildsys/ PKGINFO=package.txt
 BUILDCLASS=ext USRCONFIG=config.txt USRMAKE=build/gnumake-lnx-gcc.inc
 TARGETMODE=release TARGETTYPE=multi THREADED=1 _build_
 make[1]: ingresso nella directory ?/home/ubuntu/pd/source/py_3723?
 mkdir -p pd-linux/release-multi/
 g++ -c     -pthread -fPIC -fvisibility-inlines-hidden -DPY_EXPORTS
 -DPY_NUMPY -DPY_USE_GIL -DNDEBUG -DFLEXT_THREADS -DFLEXT_SYS=2 -DPD
 -I/usr/include/python2.6 -I/home/ubuntu/pd/source/pd-0.42-5/src
 -I/usr/local/include/stk -I/usr/local/include/sndobj
 -I/usr/local/include/flext source/pybuffer.cpp -o
 pd-linux/release-multi/pybuffer.opp
 source/pybuffer.cpp:154: warning: deprecated conversion from string
 constant
 to ?char*?
 source/pybuffer.cpp: In function ?int buffer_ass_slice(PyObject*,
 Py_ssize_t, Py_ssize_t, PyObject*)?:
 source/pybuffer.cpp:406: error: no matching function for call to
 ?flext_multi::CopySamples(flext_multi::buffer::Element*, t_sample*, int)?
 /usr/local/include/flext/flsupport.h:425: note: candidates are: static
 void
 flext_multi::CopySamples(t_sample*, const t_sample*, int)

 Someone can help?

 PS: I'm trying rev 3723 because of 64-bit buffer patch (

 http://markmail.org/message/6v52tlvllwvcwilj#query:+page:1+mid:6hpplp4wfi4u6vkc+state:resultsg...@g.org
 )
 My goal is to handle arrays directly in python, but with the rev 3659 I'm
 only get half of the array inside py (the other half is set to zero). Am I
 on the right way to fix my problem?

 Thanks and ciao!
 ___
 Pd-dev mailing list
 Pd-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev






-- 
Thomas Grill
http://g.org

___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] [flext] Fwd: fixing Flext for 64-bit?

2010-03-09 Thread Thomas Grill
Hi Dario,
please check out py from svn and try again.
gr~~~

Am 09.03.2010 um 09:48 schrieb Dario Pedrioli:

 Hi all,
 
 I'm trying to compile py/pyext on ubuntu 9.04 64-bit machine PD 0.42.5
 
 with flext rev 3659 I've got no problems.
 
 with flext rev 3723 I've got the error below:
 
 ubu...@ubuntu-desktop:~/pd/
 source/py_3723$ sh ../flext_3723/build.sh pd gcc
 make -f ../flext_3723/buildsys/gnumake-sub.mak  PLATFORM=lnx RTSYS=pd
 COMPILER=gcc BUILDPATH=../flext_3723/buildsys/ PKGINFO=package.txt
 BUILDCLASS=ext USRCONFIG=config.txt USRMAKE=build/gnumake-lnx-gcc.inc
 TARGETMODE=release TARGETTYPE=multi THREADED=1 _build_
 make[1]: ingresso nella directory ?/home/ubuntu/pd/source/py_3723?
 mkdir -p pd-linux/release-multi/
 g++ -c -pthread -fPIC -fvisibility-inlines-hidden -DPY_EXPORTS
 -DPY_NUMPY -DPY_USE_GIL -DNDEBUG -DFLEXT_THREADS -DFLEXT_SYS=2 -DPD
 -I/usr/include/python2.6 -I/home/ubuntu/pd/source/pd-0.42-5/src
 -I/usr/local/include/stk -I/usr/local/include/sndobj
 -I/usr/local/include/flext source/pybuffer.cpp -o
 pd-linux/release-multi/pybuffer.opp
 source/pybuffer.cpp:154: warning: deprecated conversion from string constant
 to ?char*?
 source/pybuffer.cpp: In function ?int buffer_ass_slice(PyObject*,
 Py_ssize_t, Py_ssize_t, PyObject*)?:
 source/pybuffer.cpp:406: error: no matching function for call to
 ?flext_multi::CopySamples(flext_multi::buffer::Element*, t_sample*, int)?
 /usr/local/include/flext/flsupport.h:425: note: candidates are: static void
 flext_multi::CopySamples(t_sample*, const t_sample*, int)
 
 Someone can help?
 
 PS: I'm trying rev 3723 because of 64-bit buffer patch (
 http://markmail.org/message/6v52tlvllwvcwilj#query:+page:1+mid:6hpplp4wfi4u6vkc+state:resultsg...@g.org
 )
 My goal is to handle arrays directly in python, but with the rev 3659 I'm
 only get half of the array inside py (the other half is set to zero). Am I
 on the right way to fix my problem?
 
 Thanks and ciao!
 ___
 Pd-dev mailing list
 Pd-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev

___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] [flext] Fwd: fixing Flext for 64-bit?

2010-01-11 Thread Thomas Grill

Hi Spencer, hi all,
i finally committed 64-bit fixes to flext.
The way buffers are to be accessed now slightly differ from the  
patches you sent me... i use the indexing operator [] instead of Peek  
and Poke functions.


Existing code should continue to work.
If compiled for 64-bit systems indexed [] access has to be used  
directly on flext::Buffer instances (instead of t_sample * vectors).


I adapted the tutorial/buffer example accordingly to reflect the new  
method.


gr~~~

Am 29.10.2009 um 13:21 schrieb Thomas Grill:


Hi Spencer,
many thanks for the patch... i'm not yet familiar with the way how  
pd uses arrays in 64 bit mode, but i'll check out your modifications  
and commit them to the svn.

gr~~~

Am 24.10.2009 um 23:24 schrieb Spencer Russell:

Attached is a patch that should make flext buffer handling 64-bit  
compatible.


It adds new wrapper functions buffer::Peek(int index) and
buffer::Poke(int index, t_sample value) to access a buffer's data.  
New

externals should uses these instead of accessing the data array
directly, because with newer PDs that doesn't work. I've also updated
the buffer1 example to use the new API wrappers.

The issue is that arrays in PD are of type t_word, which is a union
that can contain a variety of data, including pointers. In 32-bit
architectures you can pretty much ignore that it's a union because
floats and pointers are the same size, but on 64-bit architectures
it's important to use the w_float member of the union to access  
stored

floats.

This patch shouldn't break any old externals unless they're used with
PD  0.41 (but then they'd be broken, anyways). I don't have access  
to

an OS X machine or Max/MSP, so I've so far only tested this on 64-bit
linux/PD. YMMV.

Can someone explain to me why pd's arrays are arrays of t_word  
instead

of t_sample?

-s-

On Thu, Oct 1, 2009 at 10:41 AM, dmotd dm...@gmx.net wrote:

hi spencer,

afaik there hasn't been any progress with
the 64bit translation, i was going to
attempt it last time i needed it but got
distracted along the way - and i sent a
similar message to thomas at the time, so
its going to be on his todo list, but
proabably not a priority.

i'd be happy to test any changes you
make, and collaborate time permitted.

ciao,

dmotd

Spencer Russell wrote:

Thought this should probably go to the list:

-- Forwarded message --
From: Spencer Russell spencer.f.russ...@gmail.com
Date: Tue, Sep 29, 2009 at 11:13 AM
Subject: Re: fixing Flext for 64-bit?
To: Thomas Grill g...@g.org



Am 29.09.2009 um 15:00 schrieb Spencer Russell:


Hi Thomas,

I'm writing a Flext external to implement Iannis Xenakis's  
Dynamic

Stochastic Synthesis, and running into some problems with buffer
handling on my 64-bit system.

It seems that currently flext uses the deprecated
garray_getfloatarray() function and t_sample arrays, instead of  
the

new garray_getfloatwords() function with t_word unions.

Changing the code would make flext incompatible with older  
versions of
PD, but some other external developers are currently using an  
#ifdef

workaround to change to the newer API call for PD versions that
support it.

I was going to get in there and see if i can't get it working  
in the
flext code, but I wanted to check with you first to see if you  
had
already done any work on that front. I'll of course send you  
the diffs

if i get it working. Shouldn't be that hard and i think it should
really only effect the buffer-handling code, but I don't know the
flext codebase that well so there  might be some hidden gotchas.

-spencer


On Tue, Sep 29, 2009 at 9:08 AM, Thomas Grill g...@g.org wrote:

Hi Spencer,
i know that this is something i should work on, but my schedule  
is insanely

tight and i don't get to it.
So, if you can make any contributions and testing on 64-bit  
systems i'd be

very grateful.
I'd also go for the Pd API selecton by #ifdef statements.
gr~~~



As far as i can tell, PD since 0.41 changed arrays to be arrays of
t_words instead of t_samples or t_floats.

On 32-bit architectures they're all the same size, but on 64-bit
architectures t_word is 64-bit, while t_sample and t_float are  
still

32-bit.

For a normal PD external, it's pretty easy to just modify the  
external

to use t_words, but I'm not sure the best way to modify flext to do
this without breaking compatibility for externals. One problem is  
that
when an external calls mybuffer.Data(), what should they receive?  
if

the system is PD newer than 0.41, they should receive a pointer to
t_word, but MAX or older PD should receive a pointer to t_sample.

The other problem is that accessing an element for newer PD  
requires
accessing the w_float member of the t_word union, but the others  
just

use the element itself.

There could be some sort of GetValue() wrapper for buffer elements
that could be made cross-platform, but would break compatibility  
with

existing flext externals, so that seems seriously sub-optimal

Re: [PD-dev] [flext] Fwd: fixing Flext for 64-bit?

2009-10-29 Thread Thomas Grill

Hi Spencer,
many thanks for the patch... i'm not yet familiar with the way how pd  
uses arrays in 64 bit mode, but i'll check out your modifications and  
commit them to the svn.

gr~~~

Am 24.10.2009 um 23:24 schrieb Spencer Russell:

Attached is a patch that should make flext buffer handling 64-bit  
compatible.


It adds new wrapper functions buffer::Peek(int index) and
buffer::Poke(int index, t_sample value) to access a buffer's data. New
externals should uses these instead of accessing the data array
directly, because with newer PDs that doesn't work. I've also updated
the buffer1 example to use the new API wrappers.

The issue is that arrays in PD are of type t_word, which is a union
that can contain a variety of data, including pointers. In 32-bit
architectures you can pretty much ignore that it's a union because
floats and pointers are the same size, but on 64-bit architectures
it's important to use the w_float member of the union to access stored
floats.

This patch shouldn't break any old externals unless they're used with
PD  0.41 (but then they'd be broken, anyways). I don't have access to
an OS X machine or Max/MSP, so I've so far only tested this on 64-bit
linux/PD. YMMV.

Can someone explain to me why pd's arrays are arrays of t_word instead
of t_sample?

-s-

On Thu, Oct 1, 2009 at 10:41 AM, dmotd dm...@gmx.net wrote:

hi spencer,

afaik there hasn't been any progress with
the 64bit translation, i was going to
attempt it last time i needed it but got
distracted along the way - and i sent a
similar message to thomas at the time, so
its going to be on his todo list, but
proabably not a priority.

i'd be happy to test any changes you
make, and collaborate time permitted.

ciao,

dmotd

Spencer Russell wrote:

Thought this should probably go to the list:

-- Forwarded message --
From: Spencer Russell spencer.f.russ...@gmail.com
Date: Tue, Sep 29, 2009 at 11:13 AM
Subject: Re: fixing Flext for 64-bit?
To: Thomas Grill g...@g.org



Am 29.09.2009 um 15:00 schrieb Spencer Russell:


Hi Thomas,

I'm writing a Flext external to implement Iannis Xenakis's Dynamic
Stochastic Synthesis, and running into some problems with buffer
handling on my 64-bit system.

It seems that currently flext uses the deprecated
garray_getfloatarray() function and t_sample arrays, instead of  
the

new garray_getfloatwords() function with t_word unions.

Changing the code would make flext incompatible with older  
versions of
PD, but some other external developers are currently using an  
#ifdef

workaround to change to the newer API call for PD versions that
support it.

I was going to get in there and see if i can't get it working in  
the

flext code, but I wanted to check with you first to see if you had
already done any work on that front. I'll of course send you the  
diffs

if i get it working. Shouldn't be that hard and i think it should
really only effect the buffer-handling code, but I don't know the
flext codebase that well so there  might be some hidden gotchas.

-spencer


On Tue, Sep 29, 2009 at 9:08 AM, Thomas Grill g...@g.org wrote:

Hi Spencer,
i know that this is something i should work on, but my schedule  
is insanely

tight and i don't get to it.
So, if you can make any contributions and testing on 64-bit  
systems i'd be

very grateful.
I'd also go for the Pd API selecton by #ifdef statements.
gr~~~



As far as i can tell, PD since 0.41 changed arrays to be arrays of
t_words instead of t_samples or t_floats.

On 32-bit architectures they're all the same size, but on 64-bit
architectures t_word is 64-bit, while t_sample and t_float are still
32-bit.

For a normal PD external, it's pretty easy to just modify the  
external

to use t_words, but I'm not sure the best way to modify flext to do
this without breaking compatibility for externals. One problem is  
that

when an external calls mybuffer.Data(), what should they receive? if
the system is PD newer than 0.41, they should receive a pointer to
t_word, but MAX or older PD should receive a pointer to t_sample.

The other problem is that accessing an element for newer PD requires
accessing the w_float member of the t_word union, but the others  
just

use the element itself.

There could be some sort of GetValue() wrapper for buffer elements
that could be made cross-platform, but would break compatibility  
with

existing flext externals, so that seems seriously sub-optimal.

thoughts?

-s-
___
http://g.org/ext/flext

flext mailing list
fl...@g.org
http://www.parasitaere-kapazitaeten.net/mailman/listinfo/flext



flext_64-bit.patch___
http://g.org/ext/flext

flext mailing list
fl...@g.org
http://g.org/cgi-bin/mailman/listinfo/flext



___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] [PD] VASP troubles on extended 0.40.3 - and on 0.41-RC1

2009-05-20 Thread Thomas Grill

Hi Ed,
thanks for the feedback.
I'll try to fix this as soon as i get to a linux machine.
gr~~~

Am 20.05.2009 um 01:05 schrieb Ed Kelly:



OK.
I tried it before with vanilla, but I was using the same pd/extra  
directory as pd-extended. Now I have isolated the problem by  
compiling pd-vanilla in a separate folder, and I've found that there  
is some clash between Gem and vasp. When I remove the Gem (version  
0.90, compiled Oct 8 2008 by iohannes) vasp works fine.


No warnings in the Pd window with extended, but in the vanilla Pd  
with the same externals I get this:


libdir loader $Revision: 1.8 $
compiled on May 13 2009 at 12:54:42
compiled against Pd version 0.41.4.extended-rc1
warning: old method 'draw' for class 'primTri' renamed 'draw_aliased'
warning: old method 'width' for class 'polygon' renamed  
'width_aliased'

warning: old method 'draw' for class 'polygon' renamed 'draw_aliased'
warning: old method 'draw' for class 'curve3d' renamed 'draw_aliased'
warning: old method 'width' for class 'curve' renamed 'width_aliased'
warning: old method 'draw' for class 'curve' renamed 'draw_aliased'
warning: old method 'open' for class 'pix_movieNEW' renamed  
'open_aliased'
warning: old method 'img_num' for class 'pix_movieNEW' renamed  
'img_num_aliased'
warning: old method 'auto' for class 'pix_movieNEW' renamed  
'auto_aliased'
warning: class 'pix_film' overwritten\; old one renamed  
'pix_film_aliased'
warning: class 'pix_filmQT' overwritten\; old one renamed  
'pix_filmQT_aliased'

warning: class 'change' overwritten\; old one renamed 'change_aliased'
warning: class 'abs~' overwritten\; old one renamed 'abs~_aliased'
GEM: Graphics Environment for Multimedia
GEM: ver: 0.90
GEM: compiled: Oct  8 2008
GEM: maintained by IOhannes m zmoelnig
GEM: Authors :  Mark Danks (original version on irix/windows)
GEM:Chris Clepper (macOS-X)
GEM:Daniel Heckenberg (windows)
GEM:James Tittle (macOS-X)
GEM:IOhannes m zmoelnig (linux/windows)
libdir_loader: added 'cyclone' to the global objectclass path
warning: class 'wrap' overwritten\; old one renamed 'wrap_aliased'
warning: class 'abs~' overwritten\; old one renamed 'abs~_aliased'

...some clues maybe?
Ed



--- On Tue, 19/5/09, Thomas Grill g...@g.org wrote:


From: Thomas Grill g...@g.org
Subject: Re: [PD-dev] [PD] VASP troubles on extended 0.40.3 - and  
on 0.41-RC1

To: Ed Kelly morph_2...@yahoo.co.uk
Cc: pddev pd-dev@iem.at
Date: Tuesday, 19 May, 2009, 8:13 PM
Hi Ed,
could you also try with vanilla pd?
I can't reproduce the problem.
gr~~~

Am 14.05.2009 um 22:37 schrieb Ed Kelly:



Apologies for posting on the main list first - my

mistake!


Vasp always crashes PD for me. It happens with any

vasp object (inc. all help files) on pd-extended-0.40.3 and
pd-extended 0.41.RC1. The terminal window shows

watchdog: signaling pd...
watchdog: signaling pd... etc
after a signal 6 message.

but before that the text below appears in the terminal

inside which PD is running.


I've tried pd-extended-0.40.3 and the new RC1 of

pd-extended-0.41.1, and re-compiled vasp several times. The
bug persists whether jack is running or not, and whether rt
mode is on or off.


Some process is aborting inside vasp every time.

Here's the detail.

Best wishes,
Ed
Intel dual core, 2Gb, Ubuntu Intrepid.


tk scaling is 1.44534291704
*** glibc detected *** /usr/bin/pd: free():

invalid

pointer: 0x09edaf14 ***
=== Backtrace: =
/lib/tls/i686/cmov/libc.so.6[0xb7e45454]


/lib/tls/i686/cmov/libc.so.6(cfree+0x96)[0xb7e474b6]


/usr/lib/pd/extra/vasp.pd_linux(_ZN16flext_root_multidlEPv+0x32) 
[0xb600b764]


/usr/lib/pd/extra/vasp.pd_linux(_ZN11flext_multi8AtomList4FreeEv 
+0x25)[0xb600b995]


/usr/lib/pd/extra/vasp.pd_linux(_ZN11flext_multi8AtomListD0Ev+0x29) 
[0xb600ba29]


/usr/lib/pd/extra/vasp.pd_linux(_ZN9vasp_base9ToOutVaspEiR4Vasp 
+0x69)[0xb5fe0043]


/usr/lib/pd/extra/vasp.pd_linux(_ZN7vasp_tx6m_bangEv+0x61) 
[0xb5fe00dd]


/usr/lib/pd/extra/vasp.pd_linux(_ZN7vasp_op8m_dobangEv+0x5f) 
[0xb5fdffbf]


/usr/lib/pd/extra/vasp.pd_linux(_ZN7vasp_op6m_vaspEiPK5_atom+0x28) 
[0xb5fdf8d8]

/usr/lib/pd/extra/vasp.pd_linux[0xb5fe12b8]

/usr/lib/pd/extra/ 
vasp 
.pd_linux 
(_ZN16flext_base_multi10TryMethTagEPNS_4ItemEPK7_symboliPK5_atom 
+0x1cd)[0xb60127c7]


/usr/lib/pd/extra/ 
vasp.pd_linux(_ZN16flext_base_multi8FindMethEiPK7_symboliPK5_atom 
+0x6b)[0xb6012971]


/usr/lib/pd/extra/ 
vasp 
.pd_linux 
(_ZN16flext_base_multi15CbMethodHandlerEiPK7_symboliPK5_atom+0x43) 
[0xb6012a9d]


/usr/lib/pd/extra/ 
vasp 
.pd_linux 
(_ZN16flext_base_multi11cb_anythingEP9flext_hdrPK7_symboliP5_atom 
+0x43)[0xb60130b5]

/usr/bin/pd(pd_typedmess+0x26b)[0x80afb2b]
=== Memory map: 
08048000-08128000 r-xp  08:15 889688
/usr/bin/pd
08128000-08129000 r--p 000df000 08:15 889688
/usr/bin/pd
08129000-0812a000 rw-p 000e 08:15 889688
/usr/bin/pd
0812a000-0853b000 rw-p 0812a000 00:00 0
09de2000-09edc000

Re: [PD-dev] [PD] VASP troubles on extended 0.40.3 - and on 0.41-RC1

2009-05-18 Thread Thomas Grill
  08:15 886902
     /usr/lib/libmp3lame.so.0.0.0
  b41b7000-b41b9000 rw-p 00042000 08:15 886902
     /usr/lib/libmp3lame.so.0.0.0
  b41b9000-b41ea000 rw-p b41b9000 00:00 0
  b41ea000-b41f5000 r-xp  08:15 887233
     /usr/lib/libvorbisenc.so.2.0.3
  b41f5000-b41f6000 r--p a000 08:15 887233
     /usr/lib/libvorbisenc.so.2.0.3
  b41f6000-b42e4000 rw-p b000 08:15 887233
     /usr/lib/libvorbisenc.so.2.0.3
  b42e4000-b42ff000 r-xp  08:15 887231
     /usr/lib/libvorbis.so.0.4.0
  b42ff000-b430 r--p 0001a000 08:15 887231
     /usr/lib/libvorbis.so.0.4.0
  b430-b430e000 rw-p 0001b000 08:15 887231
     /usr/lib/libvorbis.so.0.4.0
  b430e000-b4357000 r-xp  08:15 887199
     /usr/lib/libtheora.so.0.3.3
  b4357000-b4359000 rw-p 00049000 08:15 887199
     /usr/lib/libtheora.so.0.3.3
  b4359000-b43c4000 r-xp  08:15 1076527
  /usr/lib/pd/extra/pidip.pd_linux
  b43c4000-b43c5000 r--p 0006a000 08:15 1076527
  /usr/lib/pd/extra/pidip.pd_linux
  b43c5000-b43c7000 rw-p 0006b000 08:15 1076527
  /usr/lib/pd/extra/pidip.pd_linux
  b43c7000-b43cc000 rw-p b43c7000 00:00 0
  b43cc000-b43cd000 ---p b43cc000 00:00 0
  b43cd000-b4bcd000 rwxp b43cd000 00:00 0
  b4bcd000-b4da r-xp  08:15 886766
     /usr/lib/libgsl.so.0.12.0
  b4da-b4da9000 rw-p 001d3000 08:15 886766
     /usr/lib/libgsl.so.0.12.0
  b4da9000-b4de r-xp  08:15 886768
     /usr/lib/libgslcblas.so.0.0.0
  b4de-b4de2000 rw-p 00036000 08:15 886768
     /usr/lib/libgslcblas.so.0.0.0
  b4deb000-b4dee000 r-xp  08:15 1076558
  /usr/lib/pd/extra/aubio.pd_linux
  b4dee000-b4def000 rw-p 2000 08:15 1076558
  /usr/lib/pd/extra/aubio.pd_linux
  b4def000-b4e0 r--p  08:15 1017319
 
 /usr/share/fonts/truetype/ttf-bitstream-vera/Vera.ttf
  b4e0-b4e21000 rw-p b4e0 00:00 0
  b4e21000-b4f0 ---p b4e21000 00:00 0
  b4f08000-b4f17000 r-xp  08:15 1097766
  /lib/libbz2.so.1.0.4
  b4f17000-b4f18000 r--p f000 08:15 1097766
  /lib/libbz2.so.1.0.4
  b4f18000-b4f19000 rw-p 0001 08:15 1097766
  /lib/libbz2.so.1.0.4
  b4f19000-b4f5b000 r-xp  08:15 1076508
  /usr/lib/pd/extra/pdp.pd_linux
  b4f5b000-b4f5c000 r--p 00041000 08:15 1076508
  /usr/lib/pd/extra/pdp.pd_linux
  b4f5c000-b4f5d000 rw-p 00042000 08:15 1076508
  /usr/lib/pd/extra/pdp.pd_linux
  b4f5dPd: signal 6
  watchdog: signaling pd...
 
 
 
 
 
  ___
  Pd-dev mailing list
  Pd-dev@iem.at
  http://lists.puredata.info/listinfo/pd-dev



 

 [W]e have invented the technology to eliminate scarcity,
 but we are deliberately throwing it away to benefit those
 who profit from scarcity.        -John
 Gilmore











-- 
Thomas Grill
http://g.org

___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] grill svn:externals and anonymous access

2009-04-13 Thread Thomas Grill
Hi all,
actually it is supposed to be anonymous... i'll check later why it
obviously isn't.
gr~~~

2009/4/12 Hans-Christoph Steiner h...@eds.org:

 Hey Thomas and fans of svn:externals,

 If you are going to add an svn:external to the pure-data repository, make
 sure there is anonymous access.  Can we  at least agree on that?  Currently,
 running a svn up in pure-data/trunk/externals prompts me for a password
 which I don't have:

 Fetching external item into 'grill/wmangle'
 Authentication realm: https://svn.g.org:443 Subversion repository
 Password for 'hans':

 .hc

 ---

 Terrorism is not an enemy.  It cannot be defeated.  It's a tactic.  It's
 about as sensible to say we declare war on night attacks and expect we're
 going to win that war.  We're not going to win the war on terrorism.
  - retired U.S. Army general, William Odom



 ___
 Pd-dev mailing list
 Pd-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev




-- 
Thomas Grill
http://g.org

___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] 'grill' and svn:externals

2009-04-03 Thread Thomas Grill

Hi,
which kind of problems do you encounter with the external links?
I only introduced them after having tested the checkout on a couple  
machines which was completely troublefree.

gr~~~

Am 02.04.2009 um 02:52 schrieb Hans-Christoph Steiner:



Hey,

I just noticed that the 'externals/grill' folder was replaced by  
svn:externals links.  Please do not use svn:externals unless you are  
willing to support them with the nightly builds.  They break the  
nightly builds because of the various errors and warnings caused by  
TLS certificates, password prompts, etc.


.hc



News is what people want to keep hidden and everything else is  
publicity.  - Bill Moyers




___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev



___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] Using PD funcs from inside a threaded external

2009-03-19 Thread Thomas Grill

Hi Ben,
if it's just about sending messages to outlets, you could also use a  
lock-free fifo to queue up the messages (in the second thread) and a  
timer to send out the elements to the outlets asynchronously (pd  
thread).

That's what flext does internally.
gr~~~

Am 19.03.2009 um 17:28 schrieb B. Bogart:


Thanks for the comments Tim  Mathieu,

It seems I have two options:

* Not send output to PD (very limited functionality)

* Use Tim's suggestion.

Mathieu Bouchard wrote:
Afaik, this will do the rough equivalent of a [delay 0] across  
threads,
so that your (Ben's) thread's execution is inserted between two  
t_clock

events ([delay], [metro], etc.)


Does this mean that rendering/audio in PD will be interrupted during
this time of global locking?

Ah! I would only need to lock while before I do the PD calls right?

Something like:

sys_lock();
outlet_symbol();
sys_unlock();

?

Thanks!
.b.



On Wed, 18 Mar 2009, Tim Blechmann wrote:

The problem is that I've approached all the gphoto calling  
functions the
same, but one particular function (listconfig) segfaults when I  
use PD

functions, in particular outlet_symbol().


when calling pd's api functions from a separate thread, make sure to
hold the global pd lock ...


Yes, sorry, I should have known.

This is sys_lock() and sys_unlock() if pd is compiled with
THREAD_LOCKING enabled.





_ _ __ ___ _  _ _ ...
| Mathieu Bouchard - tél:+1.514.383.3801, Montréal, Québec


___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev



___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] Accessing Gem_State pointer from a flext-external [resolved]

2009-02-20 Thread Thomas Grill
Hi,
thank, that's valuable feedback... i don't think anyone has used Pd
pointers in flext before.
gr~~~

2009/2/20 Jean-Yves Gratius jygrat...@club.fr:
 Hi Thomas,
 oups sorry, I forgot to describe my problem.
 yes it compiled, didn't crash.
 it just sended data that didn't correpond to the gem_state struct.
 Indeed i found my error:
 I read that gem_state is followed by 2 pointers : gem_state *GemCache
 *GemState
 If I replace in my code GetPointer(argv[0]) by GetPointer(argv[1]),
 everything is ok.
 J.Y.

 Thomas Grill a écrit :

 Hi,
 it would be useful to know in which way your code doesn't do what you
 want.
 Does it compile or not, are there runtime problems, does it crash?
 gr~~~

 Am 19.02.2009 um 14:25 schrieb Jean-Yves Gratius:

 Hi,
 I'm triing to write a flext external thats reads a gem_state struct.
 I 'd like to access the pixBlock data.
 I wrote the following method ( registered as
 FLEXT_ADDMETHOD_(0,gem_state, gem_state))
 I don't know where I am wrong in my code
 any hint ?
 thanks,
 Jean-Yves

 void my_flext_external::gem_state(int argc, t_atom *argv)
 {
   GemState *my_pointer;
   if (CanbePointer(argv[0]))
   {
   my_pointer =  (GemState *) GetPointer(argv[0]);   // retrieve
 gem pointer
   if (!my_pointer)
  {   post (no pixblock !);   return;  }
  else
 {  //accessing to fields
   post (dirty field = %d, my_pointer-dirty);
   post (inDisplayList field = %d,
 my_pointer-inDisplayList);
   post (lighting field = %d, my_pointer-lighting);
   post (texture field = %d, my_pointer-texture);
   post (*image field = %d, my_pointer-image);
   post (*texCoords field = %d, my_pointer-texCoords);
   post (multiTexUnits field = %d,
 my_pointer-multiTexUnits);
   // etc...
  }

   }


 ___
 Pd-dev mailing list
 Pd-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev


 


 No virus found in this incoming message.
 Checked by AVG - www.avg.com Version: 8.0.237 / Virus Database:
 270.11.1/1960 - Release Date: 02/19/09 10:48:00








-- 
Thomas Grill
http://g.org

___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] Accessing Gem_State pointer from a flext-external [resolved]

2009-02-20 Thread Thomas Grill
2009/2/20 marius schebella marius.schebe...@gmail.com:
 so this means, I can write gem externals using flext?
 are there examples/documentation around?

I'd think that you just have to include the relevant GEM header files
to know what's behind the pointers.
I'm not sure however whether you need to access functionality that is
inside the GEM library and which is not exported. That would be a
problem.
gr~~~

___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] Accessing Gem_State pointer from a flext-external

2009-02-19 Thread Thomas Grill
Hi,
it would be useful to know in which way your code doesn't do what you  
want.
Does it compile or not, are there runtime problems, does it crash?
gr~~~

Am 19.02.2009 um 14:25 schrieb Jean-Yves Gratius:

 Hi,
 I'm triing to write a flext external thats reads a gem_state struct.
 I 'd like to access the pixBlock data.
 I wrote the following method ( registered as
 FLEXT_ADDMETHOD_(0,gem_state, gem_state))
 I don't know where I am wrong in my code
 any hint ?
 thanks,
 Jean-Yves

 void my_flext_external::gem_state(int argc, t_atom *argv)
 {
GemState *my_pointer;
if (CanbePointer(argv[0]))
{
my_pointer =  (GemState *) GetPointer(argv[0]);   // retrieve
 gem pointer
if (!my_pointer)
   {   post (no pixblock !);   return;  }
   else
  {  //accessing to fields
post (dirty field = %d, my_pointer-dirty);
post (inDisplayList field = %d,
 my_pointer-inDisplayList);
post (lighting field = %d, my_pointer-lighting);
post (texture field = %d, my_pointer-texture);
post (*image field = %d, my_pointer-image);
post (*texCoords field = %d, my_pointer-texCoords);
post (multiTexUnits field = %d,
 my_pointer-multiTexUnits);
// etc...
   }

}


 ___
 Pd-dev mailing list
 Pd-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev


___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] compiling external for pd-extended 0.40.3 + flext (windowsXP)

2009-02-12 Thread Thomas Grill

Am 10.02.2009 um 23:51 schrieb Jean-Yves Gratius:

 Meanwhile, i did'nt succeeded in building latest flext from svn  
 (flpushns.h and flpopns.h not found)


Should have been fixed in the meantime!
gr~~~


___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] flext / py - autobuild

2008-07-15 Thread Thomas Grill

Hi,
i think i posted this already... it's becoming an FAQ
The puredata svn doesn't currently mirror my sources which means that  
those are outdated.

Grab the sources from
https://svn.g.org/ext/trunk/flext
https://svn.g.org/ext/trunk/py
etc.

gr~~~

Am 14.07.2008 um 23:28 schrieb patrick:


hi,

using the autobuild with pd version 0.42 (how can it be (good  
news)) and

installing flext successfully, i cannot compile py against python 2.5
using this config.txt:

# what is the base prefix of the Python installation?
PYTHONPREFIX=/usr

# which Python version do you want to compile against?
PYTHONVERSION=2.5

# uncomment if numpy/numarray/numeric support should be compiled in
# for info see http://numeric.scipy.org
#PY_NUMPY=1
#PY_NUMARRAY=1
#PY_NUMERIC=1

# use thread-safe GIL functionality (do this for python version =  
2.3!)

PY_USE_GIL=1

# use inofficial (pure data) functionality
# PY_USE_INOFFICIAL=1


doing bash ../flext/build.sh
bash ../flext/build.sh pd gcc
make -f ../flext/buildsys/gnumake-sub.mak PLATFORM=lnx RTSYS=pd
COMPILER=gcc BUILDPATH=../flext/buildsys/ PKGINFO=package.txt
BUILDCLASS=ext USRCONFIG=config.txt USRMAKE=build/gnumake-lnx-gcc.inc
TARGETMODE=release TARGETTYPE=multi THREADED=1 _build_
make[1]: Entering directory `/home/pat/src/pure-data/externals/ 
grill/py'

mkdir -p pd-linux/release-multi/
g++ -c -msse -mfpmath=sse -ffast-math -O3 -march=pentium4 -pthread - 
fPIC

-DPY_EXPORTS -DPY_USE_GIL -DNDEBUG -DFLEXT_THREADS -DFLEXT_SYS=2 -DPD
-I/usr/include/python2.5 -I/usr/local/src/pd/src
-I/usr/local/include/stk -I/usr/local/include/sndobj
-I/usr/local/include/flext source/main.cpp -o
pd-linux/release-multi/main.opp
In file included from source/pybase.h:16,
from source/main.cpp:13:
source/main.h:34: error: expected class-name before ‘{’ token
In file included from source/main.cpp:13:
/usr/local/include/flext/flcontainers.h: In member function ‘void
TypedFifoT::Put(T*) [with T = FifoEl]’:
source/pybase.h:181: instantiated from here
/usr/local/include/flext/flcontainers.h:456: error: no matching  
function

for call to ‘TypedFifoFifoEl::Put(FifoEl*)’
/usr/local/include/flext/flcontainers.h:405: note: candidates are:  
void

Fifo::Put(Lifo::Cell*)
/usr/local/include/flext/flcontainers.h: In member function ‘T*
TypedLifoT::Pop() [with T = FifoEl]’:
/usr/local/include/flext/flcontainers.h:466: instantiated from ‘T*
PooledFifoT, M, O::New() [with T = FifoEl, int M = 2, int O = 1]’
source/pybase.h:179: instantiated from here
/usr/local/include/flext/flcontainers.h:380: error: invalid  
static_cast

from type ‘Lifo::Cell*’ to type ‘FifoEl*’
make[1]: *** [pd-linux/release-multi/main.opp] Error 1
make[1]: Leaving directory `/home/pat/src/pure-data/externals/grill/ 
py'

make: *** [build-release-multi] Error 2

knowing that i run linux / 32 bits / intel and that i use python 2.5
would it be possible to use a compiled version of a friend? of maybe
thomas if you have the time to help me with this.

thanks!!
pat

___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev





smime.p7s
Description: S/MIME cryptographic signature
___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] sms pd external - design choices

2008-07-11 Thread Thomas Grill


Am 10.07.2008 um 19:35 schrieb Rich E:


I see that [pool] has the ability to share a data space among
different buffers by taking a name as its first argument.  I am
digging through its code right now, but am not familiar with the flext
API. I don't yet see how it manages to allow different [pool]'s to
share the same data.


Data sharing in pool is no flext-specific feature... you can do that  
with any external by making the shared data static (in c-style9, as  
opposed to be allocated with the object instances.

gr~~~



smime.p7s
Description: S/MIME cryptographic signature
___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] compiling FLEXT vst~ on Macintosh

2008-07-08 Thread Thomas Grill

Hi Miller,
many thanks for the contribution - I think that a lot of people will  
be happy about it.
I can't say if it makes sense to keep compatibility with Carbon  
plugins - considering that they have never really worked with vst~.
Also when i was working on the Mac code of vst~ the main problem was  
the editor window - i can't really remember but there must still be  
some code missing to actually handle user interaction (in  
editormac.hpp).

all the best, Thomas

Am 07.07.2008 um 22:17 schrieb Miller Puckette:


Hi all,

For a music production I had to compile vst~ for OSX in Flext.  I  
noticed
that there is already code in vsthost.cpp that seems to try to  
load vst
plug-ins in the form of carbon code resources (search for  
FSPathMakeFSSpec)
but I found no compiled vst~ in Pd-extended, nor does anyone on the  
list

seem to think this exists.

I adapted the code so that it loads macho vst plug-ins.  It seems to  
work,

except that, in the help patch, when I try to open the editing window
nothing comes up.  I suspect this has to do with something other than
vst~ proper but haven't looked into it since I don't know how the  
editor

stuff is supposed to work.

Before I go on and submit this as a formal patch, I'd like to know  
if anyone
knows whether the carbon code should be kept around (do there still  
exist
vst plugins in carbon taht are worth trying to support?) and whether  
I should
look harder to figure out why the editing window in the help file  
doesn't

open.  For anyone curious, grab the patch (vst-OSX.patch) and/or the
cmopiled extern (vst~.pd_darwin) from http://crca.ucsd.edu/~msp/tmp/ .

cheers
Miller

___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev



Thomas Grill
http://g.org




smime.p7s
Description: S/MIME cryptographic signature
___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] Reliable MIDI library for Windows?

2008-07-01 Thread Thomas Grill

Hi David,
the devel_0_39 branch of pure data completely relies on PortMidi for  
all platforms.
We (the vibrez team) found that to work perfectly also for sysex,  
realtime etc. messages under Windows.
It's fairly easy to provide a patch for vanilla PD, provided one has  
got time and interest.


gr~~~

Am 26.06.2008 um 08:35 schrieb PSPunch:



Hi,


I understand that MIDI objects under Windows is said to be less stable
than Linux, due to the MIDI functions under Windows API that Pd  
relies on.


If I were to write my own MIDI I/O external for Windows, are there  
such
things as alternative MIDI libraries or APIs available, or does  
Windows
not allow you to access MIDI devices it recognizes without running  
data

through its interface?

Like some posts I made about a month back, my initial goal is to get  
raw

MIDI inout working, this time on Windows.

Any hints appreciated.
Thanks.

--
David Shimamoto


___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev





Thomas Grill
http://g.org




smime.p7s
Description: S/MIME cryptographic signature
___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] Reliable MIDI library for Windows?

2008-07-01 Thread Thomas Grill


Am 01.07.2008 um 14:21 schrieb PSPunch:


Did not quite catch up on weather you meant that the PortMidi  
libraries

should work as is, or needs a simple patch applied.


portmidi is fine as it is



In any case, yes, I do have the interest.. and time, perhaps I can  
manage.

Is this literally a patch to be applied to the source?



the change for vanilla pd (or pd-extended) is not just a patch.
This potential patch can be deduced from the modifications that have  
been made in devel_0_39, though.


I do mainly work on pd-extended, and building either distros, I have  
not

been very successful under windows.

I am certainly sure I will learn something from it.



It's easiest to start with Miller's pd which should be possible to  
build under Windows.

A patch for Miller's pd should also work for pd-extended.

gr~~~


--
Thomas Grill
http://g.org




smime.p7s
Description: S/MIME cryptographic signature
___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] block~-overlapped canvases: samplerate wrong for dsp objects

2008-06-28 Thread Thomas Grill


Am 28.06.2008 um 11:50 schrieb IOhannes m zmölnig:


Thomas Grill wrote:

Hi,
I consider that a bug and would file a bug report, but since this  
must
have been present for a long time and must surely have been  
discovered

by other people as well it might also be a feature any ideas?


my personal explanation for this was always, that the samplerate
really means datarate; since you get the double amount of samples in
the same time, the doubled samplerate is somewhat understandable  
(though

unexpected).


while it is understandable from a developer's perspective it's  
certainly a bug from the user's point of view, no? (given that sample- 
rate-sensitive objects behave wrong)
For osc~ it's possible to correct the frequency by using the  
reblocking parameters, but that not the case for more complicated  
objects.

I'll file a bug report

gr~~~



smime.p7s
Description: S/MIME cryptographic signature
___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


[PD-dev] block~-overlapped canvases: samplerate wrong for dsp objects

2008-06-27 Thread Thomas Grill

Hi,
i just stumbled over a strange behavior in canvases with overlapped  
blocks without resampling (e.g. set with [block~ 1024 2]).
In such canvases e.g. [osc~ 440] delivers a cosine wave with an  
actual frequency of 220 Hz, because of the double overlap.
This is because dsp signal vectors carry the wrong sample rate (sp[0]- 
s_sr = 88200 instead of 44100).
[samplerate~] correctly reports 44100 because it uses a different  
method of retrieving the sample rate.


I consider that a bug and would file a bug report, but since this  
must have been present for a long time and must surely have been  
discovered by other people as well it might also be a feature any  
ideas?


gr~~~



smime.p7s
Description: S/MIME cryptographic signature
___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] What goes on during dsp ticks?

2008-06-14 Thread Thomas Grill

Hi David,

Am 14.06.2008 um 03:08 schrieb PSPunch:



=
== PROCESS BLOCK.2 ==
=

  while (n--) {
//  *out++ = *in++;
  }


Remarks: Action is commented out but signal goes through.. Why?



that's because in and out can point to the same memory... signal  
vectors are reused in PD for cache-friendlyness.




=
== PROCESS BLOCK.4 ==
=

  n--;
  *out++ = 0;
  while (n--) {
*out++ = *in++;
  }


Remarks: Expecting first sample of the block to be zero and others
delayed by 1 sample. Instead, I get an constant output of zero.


As above... you have to be aware that when you are writing to the  
output, you change the input.
Either cache the input or use a different algorithm (in this case  
start from the end)


gr~~~



smime.p7s
Description: S/MIME cryptographic signature
___
Pd-dev mailing list
Pd-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] Resolved :: Pool disappearing or not getting created

2008-04-11 Thread Thomas Grill
Hi Ben,
many thanks for your findings!
I'm still not finished with the autoconf stuff, mainly because of  
problems on OSX 10.4, but let's hope the integration into pd-extended  
will make such issues vanish.
gr~~~

Am 11.04.2008 um 20:21 schrieb B. Bogart:

 Hello all, Thomas in particular.

 This is really for the archives as the disapearing pool problem was
 resolved, and that is probably the same cause of pool not getting
 created in SVN flext.

 Let this be a lesson, when a flext external acts funny, recompile them
 all from the same flext!!!

 I've been using pool just to store the results of some SOM training
 data, and I'm bizzarly stuck.

 I was working on a patch a month ago, all was well, then I recently
 opened the same patch, and the pool objects were not visible. I did  
 not
 change anything on the system, no updates, same version of PD  
 (0.39-2),
 same flext and same pool.

 I've tried a bunch of stuff to resolve this but I've not gotten any
 ware. I'll start with my most recent efforts.

 I've removed all files in /usr and /usr/local with flext in the same,
 including directories.

 Then I build flext from SVN (trunk revision 9690 for the flext  
 directory)

 I commented out SIMD=1 to turn off SSE for this AMD64. in config.txt

 I added the proper paths to config-lnx-pd-gcc.txt to PD sources, made
 the flext path /usr/local, the outpath=. , installpath
 /usr/lib/pd/extra, commented out all the STK and SndObj stuff.

 removed all sse UFLAGS, leaving only -ffast-math left other flags to
 default.

 Compiling flext and pool, after build.sh pd gcc clean, seems to work
 fine, I see the binaries, I'm using -lib pool to load pool. (after pd
 gcc install for both flext and pool)

 PD says pool is loaded:

 pool 0.2.2pre - hierarchical storage object, (C)2002-2008 Thomas Grill

 but the pool object will not instantiate, (just the dashed line  
 border)
 and the usual console message:

  pool
 ... couldn't create
  pool test
 ... couldn't create

 Does the current SVN version of flext/pool still play with 39-2 or  
 only
 newer PDs? (I'm using the old PD as I know its rock stable for this
 installation).

 So I've downloaded the stable flext and pool from thomas website,  
 and
 trying again:

 copied the same config-lnx-pd-gcc.txt and config.txt from the SVN  
 build.

 starting pd again with -lib pool

 PD says pool is loaded:

 pool 0.2.1 - hierarchical storage object, (C)2002-2005 Thomas Grill

 making a pool object does instantiate, but is invisible. I can blindly
 click on it to get the pool properties, and connect things to it, but
 can't see the object itself.

 Ok, so tried removing the .pdsettings, and not using -lib pool, and
 creating a pool object, and it works! So I'll put the pdsettings  
 back in
 lib by lib to see if I can figure out what library its conflicting  
 with.

 Ok, it was (duh) xsample that was left over from some old flext was
 causing the invisible pool problem. Having -lib xsample messed with  
 pool.

 I'm sending this message just for the archives.

 .b.

 ___
 PD-dev mailing list
 PD-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] [flext] Compiling Audition Library in Mac OS 10.5

2008-03-27 Thread Thomas Grill

Hi Julian,
i don't know audition but i'm suspicious about the uppercase  
Audition_setup... have you tried to create the audition object  
lowercase?

gr~~~

Am 26.03.2008 um 18:58 schrieb Julian Villegas:


Hi,

 I managed to compiled the Audition library (http://lumiere.ens.fr/ 
Audition/tools/realtime/) in my MacBook using the last version of  
Flext (checked out from the sv server). The compilation was done as  
indicated in the readme file of the Flext distribution, and there  
were no errors. The library was installed in the Extra directory in  
Pd (v 0.41.2). Also, I added 'Audition' in the startup preferences  
menu. I know that flext is working cause I could compile and use  
xsample, but when I try to use Audition, I have the following error:


load_object: Symbol Audition_setup not found

I know that some of you have had that dreadful message before and I  
was hoping you could help me with this.


Thanks in advance,

Julian Villegas

Me pregunto de un modo pensativo
Que significa ser Colombiano?
No se le respondi. Es un acto de fe
JLB.


Looking for last minute shopping deals? Find them fast with Yahoo!  
Search.

___
http://g.org/ext/flext

flext mailing list
[EMAIL PROTECTED]
http://www.parasitaere-kapazitaeten.net/mailman/listinfo/flext




smime.p7s
Description: S/MIME cryptographic signature
___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] grill/py with python 2.5

2008-02-21 Thread Thomas Grill

Hi Pat,
are you using the latest CVS versions of both flext and py?
If not, please try that.

gr~~~


Am 14.02.2008 um 07:15 schrieb patrick:


i cannot compile py against python 2.5 on linux:

bash ../flext/build.sh pd gcc
make -f ../flext/buildsys/gnumake-sub.mak PLATFORM=lnx RTSYS=pd
COMPILER=gcc BUILDPATH=../flext/buildsys/ PKGINFO=package.txt
BUILDCLASS=ext USRCONFIG=config.txt USRMAKE=build/gnumake-lnx-gcc.inc
TARGETMODE=release TARGETTYPE=multi THREADED=1 _build_
make[1]: Entering directory
`/home/pat/src/pdmtlpd/pure-data/trunk/externals/grill/py'
mkdir -p pd-linux/release-multi/
g++ -c -msse -mfpmath=sse -ffast-math -O3 -march=pentium4 -pthread - 
fPIC

-DPY_EXPORTS -DPY_USE_GIL -DNDEBUG -DFLEXT_THREADS -DFLEXT_SYS=2 -DPD
-I/usr/include/python2.5 -I/home/pat/src/pdmtlpd/pure-data/trunk/pd/ 
src

-I/usr/local/include/stk -I/usr/local/include/sndobj
-I/usr/local/include/flext source/main.cpp -o
pd-linux/release-multi/main.opp
source/main.h:34: error: expected class-name before ‘{’ token
/usr/local/include/flext/flcontainers.h: In member function ‘void
TypedFifoT::Put(T*) [with T = FifoEl]’:
source/pybase.h:181: instantiated from here
/usr/local/include/flext/flcontainers.h:456: error: no matching  
function

for call to ‘TypedFifoFifoEl::Put(FifoEl*)’
/usr/local/include/flext/flcontainers.h:405: note: candidates are:  
void

Fifo::Put(Lifo::Cell*)
/usr/local/include/flext/flcontainers.h: In member function ‘T*
TypedLifoT::Pop() [with T = FifoEl]’:
/usr/local/include/flext/flcontainers.h:466: instantiated from ‘T*
PooledFifoT, M, O::New() [with T = FifoEl, int M = 2, int O = 1]’
source/pybase.h:179: instantiated from here
/usr/local/include/flext/flcontainers.h:380: error: invalid  
static_cast

from type ‘Lifo::Cell*’ to type ‘FifoEl*’
make[1]: *** [pd-linux/release-multi/main.opp] Error 1
make[1]: Leaving directory
`/home/pat/src/pdmtlpd/pure-data/trunk/externals/grill/py'
make: *** [build-release-multi] Error 2

it worked some months ago. my setup is almost the same (ubuntu 7.10).

pat

___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev





smime.p7s
Description: S/MIME cryptographic signature
___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] pyx shell replacement

2008-01-29 Thread Thomas Grill




Hi Ben,

Is there any flext/pyx magic for converting from python types to PD  
types?


The way I'm using shell has two cases:

1. it only returns a single number (cpu or memory usage)

2. it executes an xset command, and does not care about output.

So for now I'm assuming these cases.

Ideally it would be nice if a command output this: 0 10 0.3 then
outlet would send a list of three floats. 0 dog as a message of a
float and a symbol etc..



this is done exactly like this by the py/pyext external.
Attached is a patch and a script that can act as a shell replacement.

gr~~~




shell-test.pd
Description: Binary data
import os,pyext

def shell(*args):
	s =  .join(map(str,args))
	f = os.popen(s)
	r = f.read().split()
	f.close()
	return r
	
class shellx(pyext._class):
def _anything_1(self,*args):
s =  .join(map(str,args))
	f = os.popen(s)
	for fi in f.readlines():
	self._outlet(1,fi.split())
f.close()
self._outlet(2)
	

smime.p7s
Description: S/MIME cryptographic signature
___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] pyx shell replacement

2008-01-28 Thread Thomas Grill


Am 29.01.2008 um 00:20 schrieb Thomas Grill:





Hi,

I figured something that runs os.system() on an arbitrary string  
would

be a good enough start, though coercing the _anything_ *args into a
string seems to be challenging me.


do you mean .join(map(str,*args))  ?


no sorry, if args is a sequence i think you rather mean

os.system( .join(map(str,args)))

In this case the arguments are separated by spaces.

gr~~~

--
Thomas Grill
http://g.org




smime.p7s
Description: S/MIME cryptographic signature
___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] Is this possible - List input to inlets other than the leftmost...

2007-11-12 Thread Thomas Grill
Mike McGonagle schrieb:
 From reading some of the docs, I got the impression that it is NOT
 possible to have any subsequent inlets allow for list input? Is this
 correct? Do you know why this is? I have some ideas that I would like
 to implement with lists on the second and third inlets...
   
You could use flext where this is automatically dealt with.

gr~~~


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] Connecting up an SQL Database to PD

2007-11-05 Thread Thomas Grill
Tim Boykett schrieb:
 Hi,

this is interesting because I am fiddling about with exactly these
 sorts of things at precisely this moment.

 There was the claim recently that an external was not necessary because
 pyext exists and SQL stuff can be done in python. However my experience
 in getting pyext to work has been negative. However I have happily made
 an external python program talk to a SQL database as well as speaking
 OSC to talk with PD and Max and many other things.
   
What exactly was your problem with pyext?

greetings, Thomas

___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] stuff missing from pd-extended (flext please)

2007-10-26 Thread Thomas Grill
B. Bogart schrieb:
 Thomas, Any progress on flext in pd-extended?

   
Hey Ben,
i'm really sorry about that, but again i have so many urgent things to 
do that i can't even think about that in the next time.
I'm afraid someone else has to do it - is there still a chance to get 
some grants for it? As already stated, building flext or flext-based 
externals is really easy using a usual makefile, the complicated thing 
(for me at least) is the integration into the pd-extended build system, 
although H.C. might say it's not.
If someone volunteers to do it i'm glad to answer any related questions.

greetings, Thomas


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] repository layout

2007-09-11 Thread Thomas Grill
Hi,
sounds very reasonable to me.
The only potential problem that i see is the flat hierarchy (resp.  
naming scheme) of the branches and tags. It seems that this folder  
would populate quite fast and might quickly become a mess. On the  
other hand it's quite easy to clean it up again with svn ;-)
Btw., where would the svn repository be located?

greetings, Thomas

Am 11.09.2007 um 16:35 schrieb IOhannes m zmoelnig:

 hi.

 after the talk about svn at the pd-con, it seems like there is a  
 general
 ok from the community, if somebody would be willing to perform the
 actual migration.

 actually i could be this volunteer.


 ad miller: there exist migration paths from both cvs and svn to  
 git, so
 svn would do no harm before we can switch to git :-)


 about the structure:

 i have written down some ideas on how an svn-repository could be
 structured at http://puredata.info/Members/zmoelnig/pdcon07/SubVersion

 basically the layout keeps the same, but with svn-specifics like
 meta-directories trunk, tags and branches.
 ideally (for me) the layout of trunk would be:
   /trunk/pd/
   /trunk/pd-devel/
   /trunk/desiredata/
   /trunk/externals/
   /trunk/packages/
   /trunk/scripts/
   /trunk/doc/

 differences to the current layout are:
 - moved abstractionsextensionsxguiFramestein into externals
 - desiredatapd-devel live beside pd (not in a separate branch)
 - htdocs is deprecated (but could as well move into doc)
 - supercollider has moved into scripts (i am not sure about this,  
 but
 it seems to be the best place, since bash_completion is already in
 there; supercollider is no external, it is rather a set of sc3- 
 scripts
 to ease the use of pdsc together)


 the layout of tags would be:
   /tags/pd-0.40-4/
   /tags/pd-0.41-1/
   /tags/desiredata-0.39-1/
   /tags/zexy-2.1/
   /tags/pd-extended-0.39.2-rc1
   ...
 (that is: a _very_ flat structure of released code)

 the layout of branches would be almost the same as that of  
 tags (but
 tagged revisions should not be touched any more, whereas branched
 revisions can be bug-fixed...)

 both branches/tags should only be used for:
   - releases (+maintenance)
   - legacy (discontinued) projects

 it is my believe that tagsbranches should mainly be used for  
 people who
 want to checkout working code (!), rather than developers who  
 want to
 try something out without interfering with the existing code-base  
 (trunk)


 for quick experimental branches (e.g. if you want to implement a  
 feature
 but do not want to spill the trunk), i would suggest a 4th
 meta-directory experimental, like:
   /experimental/pd-0.40-kiosk/
   /experimental/pd-extended-0.39-newbuildsystem/
 projects in experimental are not meant to be continued, but their
 changes should go back into the main trunk (either by merging into the
 original project or by living besides it)
 in any case, these experimental branches should be deleted when
 finished, in order to keep the directory-layour reasonably small.




 comments are highly welcome


 fgmasd.r
 IOhannes

 ___
 PD-dev mailing list
 PD-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev




___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] repository layout

2007-09-11 Thread Thomas Grill

Am 11.09.2007 um 17:04 schrieb IOhannes m zmoelnig:

 Thomas Grill wrote:
 Hi,
 sounds very reasonable to me.
 The only potential problem that i see is the flat hierarchy  
 (resp.  naming scheme) of the branches and tags. It seems that  
 this folder  would populate quite fast and might quickly become a  
 mess. On the

 true.
 a better idea would probably be that each package gets its folder  
 where releases can be put into, e.g.:
 /tags/zexy/zexy-2.1/

 the reason for the flat hierarchy was, that deep hirarchies often  
 tend to confuse more than not, at least if several unorganized  
 people are involved (like we are): while more scrolling is involved  
 in the flat hierarchy (seemingly more of a mess), inhierarchical  
 structures it might eventually turn out that we have /tags/foo-1.0  
 but /tags/externals/bar/bar-2.0, which makes bar-2.0 much harder to  
 find in relation to foo-1.0

Clearly the hierarchy should be as shallow as possible, on the other  
hand i always like the idea of sandboxes where each of the  
unorganized people can mess around on a micro-scale, while it stays  
macroscopically organized.
Tags and branches like /tags/project/project-0.0 seem to be a good  
compromise.



 Btw., where would the svn repository be located?

 i think there are currently no real objections against staying at  
 sourceforge (at least, i had planned to put it there; just for the  
 sake of all the developers already having an account there (and  
 knowing their passwords))


True, sounds good.

greetings, Thomas


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] repository layout

2007-09-11 Thread Thomas Grill

Am 11.09.2007 um 19:58 schrieb Mathieu Bouchard:


 - desiredatapd-devel live beside pd (not in a separate branch)

 If Thomas hasn't changed his mind, pd-devel is going to be obsolete  
 soon. The latest changes still have to be picked up from there and  
 moved somewhere else, such as sf.net patchtracker and the  
 desiredata branch, but for all practical purposes, there will be no  
 such branch. Let me also say that pd-devel very much deserves to be  
 a branch (rather than a plain folder) because it has rather high  
 mergeability with Miller's branch.

No, i haven't, but i have no idea how long it will take to extract  
all of the good ideas in pd-devel and make patches for that. Right  
now i haven't had time to only make a single one, although that will  
most likely change soon.
I'm not sure whether it's better to have pd-devel as a stand-alone  
project or let it be a branch... it doesn't seems to really matter.  
About the mergeability i'm not so positive... i'm afraid the only way  
to really promote the change to pd-main is to hand-craft the patches.

greetings,
Thomas


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] sys_idlehook and audio API interaction

2007-09-05 Thread Thomas Grill

Hi Claude,
since we were in the same paper session at the convention you might  
remember that i was advocating a different idle processing scheme in  
my talk.
When you are looking into m_sched.c you'll notice that the  
sys_idlehook call is dependent on the didsomething varialbe, which is  
again dependent on the behavior (type, blocksize etc.) of the  
specific audio api.
I haven't had time to provide patches for the devel_0_39 solution to  
this, but i'll promise that i'll do one of these days.


greetings,
Thomas

Am 05.09.2007 um 20:48 schrieb Claude Heiland-Allen:


Hi,


I made an external to let patches do things when Pd is idle:

[idlebang] -- output a bang when Pd is idle

but it seems to be heavily dependent on the audio API.


With OSS, I get around 200 bangs per second.

With ALSA, I get around 7 bangs per second.

With JACK, I get around 1 bang per second.

With audio off, I get around 16 bangs per second.

I haven't tried PortAudio yet.


Any idea why this might be?


Source code tarball is here:

https://devel.goto10.org/dl.php?repname=maximuspath=%2Fidlebang% 
2Frev=0isdir=1



Thanks for any insights,


Claude
--
http://claudiusmaximus.goto10.org

___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev




___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] sys_idlehook and audio API interaction

2007-09-05 Thread Thomas Grill


Am 05.09.2007 um 22:04 schrieb Claude Heiland-Allen:



Yes, I remember, with different return codes from the hook for I'm  
done and I have more to do (and also I did nothing?).


I also think there should be a better mechanism for registering  
hooks, that also allows unregistering hooks later.  Example:




1. X stores existing loader hook W, registers hook X
2. Y stores existing loader hook X, registers hook Y
3. X wants to remove hook, so restores loader hook to W
4. Y no longer has its hook registered = badness



In Miller's pd the sys_idlehook is meant to be modified primarily on  
class setup - unregistering is not possible as you outlined. In the  
devel branch, there's a threadsafe sys_callback function to do this.
Return value 0 (i'm done) for a registered idle callback function  
would unregister the hook.

Have a look at our paper on your pdconf usb stick.


Something like a priority queue of hooks would be useful, but then  
you're in the realm of implementing a multitasking scheduler




It's not undoable but then again it might be more useful to use  
separate threads with adjustable priorities and use fifo queues and  
idle processing for communication with the pd kernel. That's how it  
is done in vibrez.



greetings, Thomas

___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] Pd cvs write access

2007-07-16 Thread Thomas Grill
Hi Nathaniel,
please have a look at the devel_0_39 branch before committing your  
changes - maybe your fixes are already tackled there.
I fixed midi input a long while ago, including sysex, real time and  
system common messages.

greetings, Thomas

Am 16.07.2007 um 16:12 schrieb nathaniel dose:

 Can someone please give me write privileges to CVS? (sourceforge  
 username: dosena2)

 I have some updates for pd/src and pd/portmidi that provide support  
 for sysex on OS X.

 The changes are extremely local in the sense that only a few  
 lines of code are changed in each of 3 files.

 regards

 -- 
 We've Got Your Name at http://www.mail.com!
 Get a FREE E-mail Account Today - Choose From 100+ Domains


 ___
 PD-dev mailing list
 PD-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev




___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] Pd cvs write access

2007-07-16 Thread Thomas Grill
FYI, I just realized that i only fixed the portmidi implementation,  
because that's all really needed.

Am 16.07.2007 um 19:59 schrieb Thomas Grill:

 Hi Nathaniel,
 please have a look at the devel_0_39 branch before committing your
 changes - maybe your fixes are already tackled there.
 I fixed midi input a long while ago, including sysex, real time and
 system common messages.

 greetings, Thomas

 Am 16.07.2007 um 16:12 schrieb nathaniel dose:

 Can someone please give me write privileges to CVS? (sourceforge
 username: dosena2)

 I have some updates for pd/src and pd/portmidi that provide support
 for sysex on OS X.

 The changes are extremely local in the sense that only a few
 lines of code are changed in each of 3 files.

 regards

 -- 
 We've Got Your Name at http://www.mail.com!
 Get a FREE E-mail Account Today - Choose From 100+ Domains


 ___
 PD-dev mailing list
 PD-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev




 ___
 PD-dev mailing list
 PD-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev




___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] cleanup of CVS

2007-07-10 Thread Thomas Grill
Hi all,
seems like the s-abstraction folder has already been checked in, because 
now all the .svn subfolders are in the CVS... that's not exactly what 
was intended, i guess.
greetings, Thomas

Hans-Christoph Steiner schrieb:
 On Jul 9, 2007, at 11:25 PM, Chris McCormick wrote:

   
 On Mon, Jul 09, 2007 at 07:49:29AM -0400, Hans-Christoph Steiner  
 wrote:
 
 Well as it stands now I'd have the annoying requirement that I keep
 two local copies of s-abstractions and have to manually port changes
 between them and commit to two different repositories, which was the
 reason for my original post.
 
 If you are going to maintain your code in a repository that is
 different from the pure-data one, then it makes the most sense to
 only import releases into the pure-data CVS, instead of keeping it
 synced.  cvs import allows you to do this with one command that
 also makes a tag for that release.
   
 Ok, I'm convinced. I haven't used CVS import like that before; I  
 wonder
 if you could point me to some docs on that, or give me an example.  
 Would
 it be something like:

 export [EMAIL PROTECTED]:/cvsroot/pure-data
 cvs login
 cvs import s-abstractions/
 

 More like this:

 export CVSROOT=:ext:[EMAIL PROTECTED]:/cvsroot/ 
 pure-data
 export CVS_RSH=ssh
 cd s-abstractions
 cvs import abstractions/s-abstractions CHR15M S-ABSTRACTIONS_0_2

 It goes like this:
 cvs import repository vendor-tag release-tags...

 repository - the full path to the spot in the CVS repository where  
 this stuff will go.  This could be instead: externals/s-abstractions,  
 abstractions/chr15m/s-abstractions, etc. etc.

 vendor-tag - whatever tag you want for yourself, standardized to  
 UPPERCASE

 release-tags - a tag for the library and version that you are  
 importing (multiple if you want, only one required)


 .hc


   
 Best,

 Chris.

 ---
 http://mccormick.cx
 



  
 

 I have the audacity to believe that peoples everywhere can have three  
 meals a day for their bodies, education and culture for their minds,  
 and dignity, equality and freedom for their spirits.  - Martin  
 Luther King, Jr.



 ___
 PD-dev mailing list
 PD-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev


   


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] pd+programming language

2007-07-05 Thread Thomas Grill

Am 04.07.2007 um 23:37 schrieb ruben gomez:

 I try py/pyex but not work with the python interpreter.  The module  
 pyex make error.

Which operating system, which version of py/pyext, which version of  
pd, which version of Python, which exact error message?
Can you provide an example patcher where this happens?

greetings, Thomas


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] calling a function

2007-06-16 Thread Thomas Grill
Hi Alain,
are you sure that funct indeed points to an instance of your class?
In other words, have you done something like x-funct = new Test;  
before?

greetings,
Thomas

Am 15.06.2007 um 18:57 schrieb [EMAIL PROTECTED]  
[EMAIL PROTECTED]:

 I'm having problems calling functions and I'm currious if I a doing  
 it the right way.  I a writing the
 external in c++.  I make a class Test and I declare a function for  
 example:

 void Test::post_filepath(char* path) {post( opening %s, path);}

 Then within the externals typedef stucture I include a pointer to  
 the class for example:

 typedef struct _myexternal {
   t_object  x_obj;
   Test *funct;
 } t_myexternal;

 When I call the function like this:

 void capture_cap(t_myexternal *x, t_symbol *file) {x-funct- 
 post_filepath(file-s_name);}

 Pd crashes, I have to do it like this to avoid a crash:

 void capture_cap(t_myexternal *x, t_symbol *file) {post( opening % 
 s, file-s_name);}

 what am I doing wrong and what is the proper way to do it?
 Thanks,
 Alain


 ___
 PD-dev mailing list
 PD-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev




___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] list-emath

2007-04-24 Thread Thomas Grill
Hi Frank,
same in list-math, i guess.

all the best, Thomas

 is there a good reason why in list-emath there is [expr $f1 $1 $f2]
 instead of just [$1]?

 No good reason, it's just historical.

 I guess the latter would be even more flexible.

 Yep, I'll change it.

 Ciao
 -- 
  Frank Barknecht _ __footils.org_ __goto10.org__

 ___
 PD-dev mailing list
 PD-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev



Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


[PD-dev] list-emath

2007-04-23 Thread Thomas Grill
Hi Frank,
is there a good reason why in list-emath there is [expr $f1 $1 $f2] 
instead of just [$1]?
I guess the latter would be even more flexible.

greetings,
Thomas

-- 
Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] sysloader problem

2007-04-19 Thread Thomas Grill
Hi,
it's true that the current loader hook has designed for libs only.
I've also thought about introducing an additional object loader, which 
should then also be able to draw its patcher text from an external 
source (like from the web, or from a database), but that's hard because 
of the way how pd currently loads and creates the objects.

oops, wanted to write more, but no time
all the best, Thomas

IOhannes m zmoelnig schrieb:
 hi miller, all.


 i am currently having troubles implementing the hexloader as a
 system-loader.
 while things work rather straightforward in external/library land, it
 stops being trivial when it comes to loading abstractions via a
 system-loader.
 (this is needed since the hexloader mainly applies a different
 objectname-filename mapping, which should eventually work for
 abstractions too)

 the problem is, that in the context of the loader, i have no idea about
 the arguments for the object instance.
 unfortunately abstractions do not have the abstract class vs
 instance separation like binary objects, so the only way to
 instantiate them seems to be to directly evaluate them with the
 arguments available in some context.

 ultimately it would be good if patches would be loaded with the same
 mechanism as other externals within the pd core (this is: with a
 separate patch_loader() that is registered just like the lib_loader())


 a temporary workaround would be some way to access the arguments passed
 to a yet-unknown object from within the loaders.


 mfasd.r
 IOhannes

 ___
 PD-dev mailing list
 PD-dev@iem.at
 http://lists.puredata.info/listinfo/pd-dev


   

-- 
Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] d_math.c break[s] strict-aliasing rules

2007-04-19 Thread Thomas Grill

 code like sqare root or inverse square root can be coded by just
 utilizing the rsqrtps and sqrtps opcodes, with a 14 bit precision,  
 when
 working on the sse unit ...
 

 14bit precision would leave a lot to be desired in Pd. Are there high  
 precision operators?
   
 From what i recall, the opcodes are meant to be used iteratively (like 
in root-finding), then yielding full precision.


 Is complying with -fstrict-aliasing enough to take care of the  
 aliasing issues?
 Do you have any examples of handling alignment issues?
   
I posted an example of autovectorizing code taking that into account a 
while ago
http://lists.puredata.info/pipermail/pd-dev/2006-11/007880.html

greetings,
Thomas

-- 
Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


[PD-dev] -dynamiclib causes name clashes, was: Re: [PD] msd broken

2007-02-21 Thread Thomas Grill
Hi Marius,

 I wonder if this is an OSX problem, but my msd2D and msd3D objects are
 not working (see previour posts).

this is almost certainly caused by a conflict of an existing external  
using an older version of flext.
I hope that i now adjusted the flext build system in a way that this  
doesn't happen anymore.

As a note for the devs:
It seems that building externals under OSX with --dynamiclib - 
undefined dynamic_lookup can cause symbol clashes at runtime, while  
-bundle -bundle_loader $(PDBIN) doesn't.
That's why i returned to the old method. Any comments?

greetings,
Thomas

--
Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] [ pure-data-Bugs-1518030 ] subpatch clearing itself crashes Pd

2007-02-11 Thread Thomas Grill


Am 11.02.2007 um 21:50 schrieb Tim Blechmann:


Well, then how should Pd solve the logical pitfalls in your opinion?


mark the object as deletable, if the messaging is happening, wait for
the object to return from the message function, then it can be safely
deleted.


exactly, but the object should not process any further messages when  
the mark is set.
I recently encountered the same situation, and by debugging i found  
that the crash happens while traversing the outlets to see if the  
message should be sent to other objects. It would be easy to check  
for such a mark there.


greetings,
Thomas



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] string type for pd

2007-01-27 Thread Thomas Grill

Hi Martin,
many thanks for your initiative, it is greatly appreciated!
It would be extremely useful to also define some API for string  
handling right from the start, to be able to use the string type in  
externals... all those functionality that seems to be contained in  
your str object.


best greetings,
Thomas

PS. It would be good to submit the patch to the sourceforge PD project.


Am 27.01.2007 um 17:53 schrieb Martin Peach:

I have implemented a string type for Pure Data as well as a [str]  
object that uses it. For it to work, pd needs to be patched. The  
[str] is contained in a separate file but the infrastructural  
changes are part of pd. I have attached a patch file for anyone  
interested. If it is acceptable, where should I put it? I could  
check str.c into externals, but it won't build unless the source is  
patched...
The str object can join, split, load, save, drip,  compare and  
convert strings to other types. It should be useful for formatting  
arbitrary strings for communication via byte-oriented objects such  
as [comport] and [tcpserver], which can then talk to external  
hardware (e.g. serial LCD or lanbox), for example terminating  
strings with CR LF instead of semicolons.
Other potential applications of the string type that I haven't yet  
implemented are math using very long integers and row-by-row image  
processing.


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] iem16 compilation problem on osx

2007-01-16 Thread Thomas Grill

Hi all,
i already submitted patches for this and other issues with IEM  
sources to the patch tracker a while ago.
IEM stuff doesn't correctly deal with Mac/Intel endianness at the  
moment.

greetings,
Thomas

Am 16.01.2007 um 15:31 schrieb james tittle:


On Jan 16, 2007, at 6:46 AM, Georg Holzmann wrote:
iem16 does not compile on OSX - the error is before the int32 in  
the code below:


8---8---

#ifdef __apple__
#define HIOFFSET 0/* word offset to find MSB */
#define LOWOFFSET 1/* word offset to find LSB */
#define int32 int  /* a data type that has 32 bits */

#endif /* MACOSX */


...snip...


8---8---

So maybe this __apple__ is not defined ? should this be defined  
automatically or otherwise changed to an other define ?


...yep, two things wrong here:  it'd be __APPLE__ not __apple__,  
but in this case I think we need something like __ppc__


jamie

___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev




Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] iem16 compilation problem on osx

2007-01-16 Thread Thomas Grill


Am 16.01.2007 um 16:13 schrieb Georg Holzmann:


Hallo!

i already submitted patches for this and other issues with IEM  
sources to the patch tracker a while ago.
IEM stuff doesn't correctly deal with Mac/Intel endianness at the  
moment.


hm ... I can't find that patches (maybe I'm blind ;) ... are you  
sure that you have submitted them ?


http://sourceforge.net/tracker/index.php? 
func=detailaid=1604140group_id=55736atid=478072
http://sourceforge.net/tracker/index.php? 
func=detailaid=1604134group_id=55736atid=478072
http://sourceforge.net/tracker/index.php? 
func=detailaid=1604133group_id=55736atid=478072


--
Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] supporting MSVC6

2006-12-08 Thread Thomas Grill


Am 08.12.2006 um 17:33 schrieb Hans-Christoph Steiner:



On Dec 8, 2006, at 3:18 AM, Mathieu Bouchard wrote:



On win32, is there any reason for still supporting MSVC6 instead  
of switching to MinGW and/or Cygwin?


Some people have expressed desire to use MSVC, but no one has done  
the work, so...  Personally, I only support MinGW, but I haven't  
removed any of the MSVC support.


What exactly do you mean with no one has done the work?
I have been using MSVC 6, since i'm working with PD and i'm still  
using it, plus, Miller's makefiles for Windows have always been based  
on MSVC 6.
Maybe i don't get it, but what's the point about removing support for  
that compiler? Of course, i'm not talking about DD.


greetings,
Thomas


--
Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] slowing down dsp function inside perform loop

2006-12-06 Thread Thomas Grill

Hi Eric,
i'm wondering how asynchronous DSP works in Max. As far as i know  
only messaging can be deferred. Is the DSP operation done outside the  
normal DSP chain or is it some DSP operations on buffer data that you  
are doing in message callbacks?


greetings,
Thomas

Am 06.12.2006 um 11:37 schrieb Eric Lyon:

Thank you Thomas, hc and others for helpful feedback. The function  
I'm deferring is doing asynchronous DSP, not messaging. Essentially  
a barrage of intensive DSP thrown at the contents of a buffer  
(array in Pd land) that will hopefully be done in time to be played  
back in the main perform loop. Actually a lot of it is working on  
Pd now, but there are a few functions that do reliably crash Pd,  
even though they're not CPU-expensive. Quite possibly some memory  
indiscretion. I'll report back on any further findings.


Best,
Eric





On Dec 5, 2006, at 10:13 PM, Mathieu Bouchard wrote:

 On Wed, 6 Dec 2006, Thomas Grill wrote:

 currently there's no low-priority messaging in Miller's pd
 version, but there is in the devel branch. It's one of the
 features that have been there for some time and i'm trying to
 provide a patch for Miller, so that it can make it into vanilla PD
 some time in the future. Hopefully the auto-discard mechanism of
 the patch tracker will blow up before that time. Don't expect the
 feature to be available soon.

 So, how does one use that feature?

 Is it that all the audio is high-priority and all the non-audio is
 low-priority?

Isn't that basically the way it is now?  Correct me if I am wrong,
but isn't audio data processed first in each cycle, then message data?

FYI: Max since 4.3 (I believe) has two audio threads, a high priority
and a low priority.  qelems and the defer() functions give you
access to the low priority thread in externals.  Another detail of
not is that the threads are cooperative, not pre-emptive.  If a give
process doesn't defer(), then it won't give up that thread until its
done processing.

.hc


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] audio interruptions from outside events (only with Pd)

2006-12-04 Thread Thomas Grill


Am 04.12.2006 um 15:30 schrieb Hans-Christoph Steiner:



We are in the middle of trying to make [hidio] as robust as  
possible in terms of plugging and unplugging devices.  One thing I  
noticed is that if I have Pd running only a sine wave, then I plug  
or unplug a USB device, I get an interruption in the sound.


If I do the same thing with Audacity or Max/MSP, there is not  
interruption in the sound.  Any ideas what's the root of this?


I have no idea about the inner workings of hidio (is there a separate  
low-priority thread for handling the HID requests?), but Max/MSP has  
a different thread for DSP processing, and messaging is split into  
high and low-priority tasks.


best greetings,
Thomas

--
Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] devel branch

2006-12-03 Thread Thomas Grill

Hi Tim,
you know that pnpd has a different license than pd, not allowing such  
usage, except you relicense this part of the code.
The other thing is that i guess it has to be straight C for Miller to  
accept it, plus, older gcc versions have problems with intrinsics in c 
++ code.


all the best,
Thomas

Am 03.12.2006 um 23:06 schrieb Tim Blechmann:


hi thomas,


Once i started the new devel branch, i'll try to provide patches of
the various extra features, which would save you from brwosing
through the codebase. I'm wondering if we can find a way to even
include SIMD, since i'm going to reimplement it without using
assembly but rather compiler instrinsics


i've implemented most of the vectorizable dsp functions with  
intrinsics
for pnpd. it's written with c++ templates, but it should be easy to  
wrap

these functions into a c api for pd.
possibly faster to reuse this code than rewriting the codelets from
scratch and they are quite separate from the pnpd codebase, just
implemented as header files.

cheers ... tim

--
[EMAIL PROTECTED]ICQ: 96771783
http://www.mokabar.tk

The price an artist pays for doing what he wants is that he has to do
it.
  William S. Burroughs


Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] devel branch

2006-12-03 Thread Thomas Grill


Am 03.12.2006 um 23:35 schrieb Tim Blechmann:


The other thing is that i guess it has to be straight C for Miller
to
accept it,


yes, possibly ...


plus, older gcc versions have problems with intrinsics in c
++ code.


well, older gcc versions have problem with intrinsics in general. ;)


older here means 4.0.1, which is the standard compiler in OSX 10.4.



as for the license, it could be optional like the fftw support ...



no option for a devel branch, that vibrez wants to use.

all the best,
Thomas

--
Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


[PD-dev] devel branch

2006-12-02 Thread Thomas Grill

Hi all,
since things have been cleared up now, and obviously i have been  
assigned the role of the keeper of the devel, i'm thinking of how  
to proceed with the mentioned branch.


A few points i'm considering:
- I have no interest in maintaining a branch open for the public,  
when i'm the only user of it. It would be much more comfortable to  
keep it at home, with all the freedom to make changes where i like,  
not having to keep an eye on compatibility
- I'd find it beneficial to integrate Miller's changes that happened  
since the last merge
- It would be nice to be able to provide patches of the devel  
improvements for Miller, without investing a lot of time into it

- I'd like to use the autobuild system
- We need many of the extra features in devel for the vibrez project,  
hence we have to keep them


The following solution comes to my mind:
- Make a list of things that are special for devel_0_39 (also asking  
other devel contributors).
- Branch off a devel branch (without version number) from Miller's  
latest cvs
- Gradually integrate the listed devel features into the branch, and  
also making patches for Miller
- Rethink some architectural details, like the SIMD infrastructure  
(ability to inline functions and enable auto-vectorization)


I think this is less work than merging in Miller's version into devel  
and it also makes later incremental updates easier. Miller's version  
and the devel branch can progress side by side.


Any ideas, comments, lamento?

best greeting,
Thomas

--
Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


[PD-dev] Re: PD-cvs Digest, Vol 21, Issue 30

2006-11-29 Thread Thomas Grill

Hi Mathieu,
i have been following the latst cvs changes and it seems, you are 
again beautifying the codebase.


Please identify the parts that you consider that I'm just 
beautifying, apart from the files that don't belong to your part of 
devel_0_39.



Actually, you should know what you changed. Only from the latest cvs digest:


Message: 6
Date: Tue, 28 Nov 2006 15:36:07 +
From: Mathieu Bouchard [EMAIL PROTECTED]
Subject: [PD-cvs] pd/src x_list.c,1.2.2.7,1.2.2.8
To: [EMAIL PROTECTED]
Message-ID: [EMAIL PROTECTED]

Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19418

Modified Files:
  Tag: devel_0_39
x_list.c
Log Message:
removed useless reference to global var newest.


Index: x_list.c
===
RCS file: /cvsroot/pure-data/pd/src/x_list.c,v
retrieving revision 1.2.2.7
retrieving revision 1.2.2.8
diff -C2 -d -r1.2.2.7 -r1.2.2.8
*** x_list.c30 Nov 2005 13:36:58 -1.2.2.7
--- x_list.c28 Nov 2006 15:36:03 -1.2.2.8
***
*** 21,27 
  #endif

- extern t_pd *newest;
-
-
  /* the list object family.

--- 21,24 
***
*** 397,419 
  {
  if (!argc || argv[0].a_type != A_SYMBOL)
! newest = list_append_new(s, argc, argv);
  else
  {
  t_symbol *s2 = argv[0].a_w.w_symbol;
! if (s2 == gensym(append))
! newest = list_append_new(s, argc-1, argv+1);
! else if (s2 == gensym(prepend))
! newest = list_prepend_new(s, argc-1, argv+1);
!  else if (s2 == gensym(split))
! newest = list_split_new(atom_getfloatarg(1, argc, argv));
!  else if (s2 == gensym(trim))
! newest = list_trim_new();
! else
! {
! error(list %s: unknown function, s2-s_name);
! newest = 0;
! }
  }
- return (newest);
  }

--- 394,408 
  {
  if (!argc || argv[0].a_type != A_SYMBOL)
! return list_append_new(s, argc, argv);
  else
  {
  t_symbol *s2 = argv[0].a_w.w_symbol;
! if (s2 == gensym(append))  return list_append_new(s, 
argc-1, argv+1);
! if (s2 == gensym(prepend)) return list_prepend_new(s, 
argc-1, argv+1);
! if (s2 == gensym(split))   return 
list_split_new(atom_getfloatarg(1, argc, argv));

! if (s2 == gensym(trim))return list_trim_new();
! error(list %s: unknown function, s2-s_name);
! return 0;
  }
  }





--

Message: 7
Date: Tue, 28 Nov 2006 15:46:11 +
From: Mathieu Bouchard [EMAIL PROTECTED]
Subject: [PD-cvs] pd/src x_connective.c,1.3.4.1.2.8,1.3.4.1.2.9
To: [EMAIL PROTECTED]
Message-ID: [EMAIL PROTECTED]

Update of /cvsroot/pure-data/pd/src
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23183

Modified Files:
  Tag: devel_0_39
x_connective.c
Log Message:
removed useless access to newest.


Index: x_connective.c
===
RCS file: /cvsroot/pure-data/pd/src/x_connective.c,v
retrieving revision 1.3.4.1.2.8
retrieving revision 1.3.4.1.2.9
diff -C2 -d -r1.3.4.1.2.8 -r1.3.4.1.2.9
*** x_connective.c30 Nov 2005 13:36:58 -1.3.4.1.2.8
--- x_connective.c28 Nov 2006 15:46:09 -1.3.4.1.2.9
***
*** 9,13 
  #include string.h
  #include stdio.h
- extern t_pd *newest;

  /* -- int -- */
--- 9,12 
***
*** 67,71 
  outlet_new(x-x_obj, s_float);
  floatinlet_new(x-x_obj, x-x_f);
- newest = x-x_obj.ob_pd;
  return (x);
  }
--- 66,69 
***
*** 110,114 
  outlet_new(x-x_obj, s_symbol);
  symbolinlet_new(x-x_obj, x-x_s);
- newest = x-x_obj.ob_pd;
  return (x);
  }
--- 108,111 
***
*** 166,170 
  t_bang *x = (t_bang *)pd_new(bang_class);
  outlet_new(x-x_obj, s_bang);
- newest = x-x_obj.ob_pd;
  return (x);
  }
--- 163,166 


--
Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


[PD-dev] Re: PD-cvs Digest, Vol 21, Issue 30

2006-11-29 Thread Thomas Grill
While i don't see what that feature might be in these code excerpts,  
except the elimination of an unneeded variable and reformatting, i  
normally don't spend my time proof-reading devel_0_39. Anyway, i hope  
you know what i mean. Merging in 0.40 could be beneficial for all of  
us, and i it can be tackled the sooner, the less work it is.


greetings,
Thomas

Am 29.11.2006 um 16:28 schrieb Mathieu Bouchard:


On Wed, 29 Nov 2006, Thomas Grill wrote:

i have been following the latst cvs changes and it seems, you  
are again beautifying the codebase.
Please identify the parts that you consider that I'm just  
beautifying, apart from the files that don't belong to your  
part of devel_0_39.
Actually, you should know what you changed. Only from the latest  
cvs digest:


Actually, I still wanted you to identify it because I wanted to  
make sure that we agree on what it might be, and because the code  
you point out is part of the implementation of a feature. While you  
were writing the above mail, I was writing a mail about that  
feature, because that's something I _broke_ in devel_0_39 yesterday.


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju
| Freelance Digital Arts Engineer, Montréal QC Canada



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] Re: PD-cvs Digest, Vol 21, Issue 30

2006-11-29 Thread Thomas Grill
First, i would be extremely cautious about making strange assumptions 
about other people's problems.
Second, i think the whole case will solve itself shortly, because after 
the merge a devel branch will probably not be called devel_0_39 any 
more. It may also be a move back to more compatibility to Miller's 
branch, or not.


all the best,
Thomas

Mathieu Bouchard schrieb:

On Wed, 29 Nov 2006, Georg Holzmann wrote:

No, but you said it yourself: you joined (after impure data) the 
pd_devel branch so that you can also benefit from those improvements ...


Yes, but that was conditional to having such improvements. I think 
that I was somewhat mistaken when I first joined devel_0_39, I thought 
that it was going to be somewhat more dynamic than that. Turns out that:


  1. I had the delusion that there were more developers working on
 devel_0_39, but I hadn't counted. Turned out that it wasn't true.

  2. Tim is basically on the way out: keeps using pd for
 backwards-compatibility reasons.

  3. Thomas has a hidden branch because devel_0_39 is too dangerous
 because I could be committing files in it.

  4. At this point (these months...), the only other regular contributors
 to devel_0_39 are Chun Lee and myself.

Now there is already the main and devel/desire_data branch and I 
think such a marginal problem as you have (the beautification ...) 
should not be the reason for one more branch ...


Well, you shouldn't confuse the actual with problem, with something 
that is just a trigger (a catalyser) for change. Thomas's problem is 
just an occasion for taking the time for a reality check about the 
issue, and summarise all the issues that have accumulated during the 
16 months of having devel_0_39 and desiredata two-in-one.


I don't see the branching as being a big change, nor as a surprise, 
nor as being weird or out-of-place or bad manners.


That said, I don't want to switch to another repository as of now; I 
don't see its advantages as being greater than its inconvenients.


 _ _ __ ___ _  _ _ ...
| Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju
| Freelance Digital Arts Engineer, Montréal QC Canada


--
Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


[PD-dev] pool files: UTF-8 encoding

2006-11-29 Thread Thomas Grill

Hi all,
trying to fix loading/saving of non-ASCII characters in pool files.
In the future, text files will still be saved in the native encoding, 
but XML will be UTF-8.


Since i'm not very linux-savvy: I guess the default code table used for 
PD patchers is the same as being used for the X-server, right? Is there 
an API function to query this encoding and/or is there a system function 
to convert from/to UTF-8?


best greetings,
Thomas

--
Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] Fwd: PD-cvs Digest, Vol 21, Issue 29

2006-11-28 Thread Thomas Grill



Hans-Christoph Steiner schrieb:


I reduced the autobuild report from 200 to 20 lines.  That should 
help.  I was hoping to have the autobuild reports not in the digest so 
that they are more apparent.



That sounds like a good solution.



I have to say that I am very surprised that the autobuilds aren't 
being used by vibrez/devel, especially when working towards a 
release.  It makes that job much, much easier.


vibrez is a project that aims at good stability, hence it's too 
dangerous to compile directly from the cvs.
Concerning pd-devel, it might be worth looking into it, although it's 
more urgent to merge in the changes from 0.40


best greetings,
Thomas

--
Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] gcc 4.1 and auto-vectorization

2006-11-19 Thread Thomas Grill


Am 19.11.2006 um 05:00 schrieb Hans-Christoph Steiner:



On Nov 18, 2006, at 8:07 PM, Thomas Grill wrote:



Am 18.11.2006 um 22:16 schrieb Mathieu Bouchard:


On Sat, 18 Nov 2006, Hans-Christoph Steiner wrote:

I really doubt that the gcc devs put a lot of effort into  
something that has no effect. Perhaps not for Pd, that may be  
true.  But they are talking about vectorizing loops, it may not  
be the best thing to vectorize, but there are definitely  
vectorizable loops in Pd.


perhaps it would be a good start to reimplement newbytes(n) using  
memalign(16,n) instead of malloc(n).


A few years ago i introduced aligned memory allocation in the pd- 
devel branch.


Have you tried submitting a patch?  It would be at least useful in  
Pd-extended.  How big a difference did it make?


I have a better idea. People interested in improvements can easily  
make a diff from the devel branch.
The aligned memory allocation is part of the SIMD codelets which have  
been part of pd-devel for a long time.


best greetings,
Thomas


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] gcc 4.1 and auto-vectorization

2006-11-19 Thread Thomas Grill

Hi H.C.,

It generally accepted procedure in the projects that I've seen that  
people guide their own code thru the procedures of submitting  
patches and getting them accepted.  I think that makes sense here too.


Its coming quite clear that devel/dd is fork since the devel/dd  
devs are resistant or unwilling to try to get code into pd-MAIN.


well, you perfectly know that this isn't true. I have been submitting  
many patches and bug reports over the last years, but i don't see why  
i should invest my really scarce time in something that's senseless.
If i would have submitted the patch for SIMD two or three years ago  
(by the time i made the relevant changes), it would have been  
automatically discarded in the meantime, simply because Miller has  
shown zero interest in using it. The SIMD patch would have been a lot  
of work - wasted time, that i could have used for other developments  
or even for composing music.


That's too bad, I think we will all be the worse for it, but its  
your choice to do so.  I think it would be helpful to make it clear  
that its a fork instead of continuing to skirt the issue.


I'll be continuing submitting patches that aren't a lot of work, like  
bug fixes. For other stuff (like the existing audio and midi fixes,  
idle callbacks, SIMD, or other features i have in mind) interested  
people are more than welcome to keep track of the changes and submit  
them. I don't see why necessarily i should do it.
If it helps i'll also announce to the pd-devel list when new features  
are introduced.


best greetings,
Thomas


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] gcc 4.1 and auto-vectorization

2006-11-19 Thread Thomas Grill


Am 19.11.2006 um 22:57 schrieb Mathieu Bouchard:


On Sun, 19 Nov 2006, Thomas Grill wrote:

Am 18.11.2006 um 22:16 schrieb Mathieu Bouchard:
perhaps it would be a good start to reimplement newbytes(n) using  
memalign(16,n) instead of malloc(n).
A few years ago i introduced aligned memory allocation in the pd- 
devel branch.


I see how you did it. Is it because posix_memalign() isn't as  
portable as we'd like it to be? (I wrote memalign by mistake,  
which is the name of a deprecated function that does a similar job)


It seems like a lot of memory is allocated unaligned. Is that  
normal? If the memory allocations you've align cover the most speed- 
critical memory, then why did Tim say that about memory alignment?


The point is that i only introduced and used the aligned memory  
functions for the SIMD codelets, which are used for DSP and array  
processing. I'm sure that there are aligned memory allocation  
functions for either platform (maybe not necessarily  
posix_memalign...), but i wanted to stay as close as possible to the  
original PD memory functions.
I don't think it makes much sense to use aligned memory for anything  
else than DSP and tables. If one wanted to use it with auto- 
vectorization the header code would be much the same as the one in  
the DSP perform functions, with some casting to aligned pointers, so  
that the compiler knows about it. Aliasing is another thing, though.


greetings,
Thomas


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] BUG: namespace prefixes broken in 0.40

2006-11-02 Thread Thomas Grill

Hi all,


(Optional) keyword arguments are a long-term wishlist item, because
only having positional arguments is not very comfortable. It would be
great to have a corresponding object or syntax to read out keyword
arguments in abstractions. I think, Thomas Grill write somthing like
that for the flext-syntax.


it's in the cvs in externals/grill/absattr


From a qwertz-keyboard user's view I would
prefer the -key syntax over flext's @key syntax.


i only chose that because it's already known in the patcher world,  
due to Max/Jitter. I didn't want to introduce another standard, when  
there's no real reason to do that.


greetings,
Thomas

--
Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


[PD-dev] pure data patch MIME type

2006-10-02 Thread Thomas Grill

Hi all,
has someone already made an attempt to register a MIME type for pd patches?
Looking in the IANA registry 
(http://www.iana.org/assignments/media-types )  it seems to be feasible 
to call it text/vnd.puredata.patch or something like that (this doesn't 
require an RFC).

Any opinions?

best greetings,
Thomas

--
Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] how does a loader get loaded?

2006-09-27 Thread Thomas Grill


Am 25.09.2006 um 00:32 schrieb Hans-Christoph Steiner:



Weee a tongue twister!  So I am working on making a loader for 
libdirs.  I get sys_register_loader(), which submits a pointer to 
classloader() (or whatever).  But what makes Pd load that loader 
first?


For example, something needs to load clr.dll, so that is calls 
sys_register_loader() to register its classloader() function.


yes, it's the good old -lib clr command line option!

greetings,
Thomas


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


[PD-dev] passing command line args to pd on OSX

2006-08-20 Thread Thomas Grill

Hi all,
the packaging of PD no OSX as a modified wish standalone application  
has the disadvantage that it's obviously not possible to pass on  
command-line args, such as

/Applications/Pd-0.39-2.app/Contents/MacOS/Pd -verbose
because -verbose would be an option for wish than, or
/Applications/Pd-0.39-2.app/Contents/MacOS/Pd -- -verbose
because passing on args from the pd.tk script is not implemented.
I would do that but unfortunately i'm not able to suppress my disgust  
against tcl/tk, although that would be a very useful enhancement.

I guess it's fairly easy to do - someone who wants to have a look?

greetings,
Thomas

--
Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev


Re: [PD-dev] VASP vs plugin~ weirdness

2006-08-10 Thread Thomas Grill

Hi Michal,
it would be useful to have more detailed information about your  
configuration.

Platform? PD version? VASP version, downloaded as a package or from CVS?
greetings,
Thomas

Am 10.08.2006 um 07:16 schrieb Michal Seta:


Hi all,

there is some weirdness happening when VASP is being loaded as -lib
(ok, perhaps I shouldn't do such things) and [plugin~] is being used.
The combination results in a segfault.  I had exactly the same issue
with [pool] a while back (and it was in fact pointed out to me that I
should report this to the list but it slipped my brain).

./MiS


___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev




Thomas Grill
http://g.org



___
PD-dev mailing list
PD-dev@iem.at
http://lists.puredata.info/listinfo/pd-dev