Looks nice.  It looks like the MaxPlugin is an mxj, so you should be able to use it with pdj.  pdj is a free clone of mxj.  So you could just package up pdj with the Field MaxPlugin and distribute that as the PdPlugin.

.hc

On Oct 5, 2009, at 4:19 PM, Luke Iannini wrote:

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@gmail.com>
Date: Fri, Oct 2, 2009 at 12:45 PM
To: Field-development <field-development@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@openendedgroup.com>
Date: Fri, Oct 2, 2009 at 12:51 PM
To: field-development@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@googlegroups.com
To unsubscribe from this group, send email to field-development+unsubscribe@googlegroups.com
For more options, visit this group at http://groups.google.com/group/field-development?hl=en
-~----------~----~----~----~------~----~------~--~---


----------
From: Al Matthews <prolepsis@gmail.com>
Date: Fri, Oct 2, 2009 at 12:58 PM
To: field-development@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@auctr.edu
prolepsis@gmail.com

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

----------
From: Marc Downie <marc@openendedgroup.com>
Date: Fri, Oct 2, 2009 at 1:16 PM
To: field-development@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.


_______________________________________________
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list





----------------------------------------------------------------------------

'You people have such restrictive dress for women,’ she said, hobbling away in three inch heels and panty hose to finish out another pink-collar temp pool day.  - “Hijab Scene #2", by Mohja Kahf