[PD] Fwd: Pure Data/Field assimilation

Luke Iannini lukexipd at gmail.com
Mon Oct 5 22:19:13 CEST 2009


Yo all,
I don't know if any of you have seen Field?

It's an /extremely/ cool environment/sequencing canvas that I think would be
hugely useful to use with Pd.  I'll let them explain it:
http://openendedgroup.com/field/wiki/OverviewBanners2

They very recently created a "MaxPlugin" which quite impressively integrates
Max with Field.
http://openendedgroup.com/field/wiki/MaxPlugin

I thought it would be nice to get them on the path to doing the same with Pd
- see the conversation below.  Anyone have any ideas on the matter?

Luv Luke

Forwarded conversation
Subject: Pure Data assimilation
------------------------

From: *Luke* <lukexipd at gmail.com>
Date: Fri, Oct 2, 2009 at 12:45 PM
To: Field-development <field-development at googlegroups.com>


Yo guys,
I saw your MaxPlugin, which looks incredible.  I just wanted to
suggest also taking a look at the open source older brother of Max,
Pure Data (the continuation of Max/MSP by Miller S Puckette, the
original developer)

http://puredata.info/
http://www-crca.ucsd.edu/~msp/software.html
(IRC) http://wiki.dataflow.ws/DataFlow

Pd has a nascent concept called "Data Structures" that allow creation
of graphical scores directly representing their underlying data – it
seems to me Field is that from 100 years in the future, so it would be
a very natural marriage.

I'd love to help with this where I can.

Best
Luke
----------
From: *Marc Downie* <marc at openendedgroup.com>
Date: Fri, Oct 2, 2009 at 12:51 PM
To: field-development at googlegroups.com


That's a very good idea — the truth is Max/MSP's proprietary-ness (and it's
difficult copy protection) is *not good*.

What's the Java embedding story in Pd like? We are using mxj to poke a hole
in Max that Field enters through.

Marc.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Field-development" group.
To post to this group, send email to field-development at googlegroups.com
To unsubscribe from this group, send email to
field-development+unsubscribe at googlegroups.com<field-development%2Bunsubscribe at googlegroups.com>
For more options, visit this group at
http://groups.google.com/group/field-development?hl=en
-~----------~----~----~----~------~----~------~--~---


----------
From: *Al Matthews* <prolepsis at gmail.com>
Date: Fri, Oct 2, 2009 at 12:58 PM
To: field-development at googlegroups.com


Cool I was wondering about that. On behalf of maybe others like me only
laxly tracking source at the moment, I'll add this request for a bit of
technical spec, about the MAX plugin as it presently stands.

More generally, is Field's timeline available or conceived here as a sort of
scheduling supplement for MAX events? Scheduling seems historically a kind
of weakness of MAX for composition, until you add java or whatnot.

Also a bump for the PD.
Al Matthews, Programmer Support Specialist

Archives and Special Collections,
Robert W. Woodruff Library,
Atlanta University Center

amatthews at auctr.edu
prolepsis at gmail.com

1 404 978 2057, direct
1 337 214 4688, gvoice

----------
From: *Marc Downie* <marc at openendedgroup.com>
Date: Fri, Oct 2, 2009 at 1:16 PM
To: field-development at googlegroups.com


As always, more doc's are on the todo-list.

But the trick is essentially this. mxj — which is a standard box in Max —
lets you instantiate java objects. We provide two — one that does the
bookkeeping and network communication (MaxFieldRoot) and another that wraps
up a Jython environment (MaxField).

The source for both of these is inside /extras/maxfieldMXJ — there isn't
much to them.

MaxFieldRoot knows the names (that is what max calls the "scripting names")
of all MaxField objects in a patch (and subpatches) and it opens two OSC
ports for communication with Field.

MaxField objects when loaded get Jython up and running and execute a startup
script that provides some functionality (like the magic function that makes
autocomplete work) — this script is maxfield/__init__.py

Field's side of the bargain is to capture attempts to execute things inside
boxes that are marked as "bridged to max" and, rather than executing them,
sends them via OSC to Root which then dispatches them to the appropriate
MaxField box which then executes the Python code. So sticking a bunch of
Field boxes in a timeline and scrubbing them "scrubs" the sending and
execution of code in Max. You could probably build less latency-prone and
more accurate timing as well using this (you'd send all the box positions
over to Max and use it's timing stuff). But this works well for our uses
right now.

This code is field.extras.max.MaxExecution. You'll find it's a lot like the
ProcessingPlugin — which defers execution of python code not to a separate
process but just later in time — until we are "inside" the draw() method of
the Processing Applet.

So, basically, we need to be able to run just a little bit of Java (and in
turn all of Jython) inside Pd to bootstrap the whole thing.

Any Pd Java experts out there?

Marc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20091005/878f3e3e/attachment.htm>


More information about the Pd-list mailing list