Re: [PD] jMax Phoenix

2010-10-08 Thread Mathieu Bouchard

On Fri, 8 Oct 2010, Jonathan Wilkes wrote:

Would it be difficult to transplant these keyboard patching 
features?


You can't transplant them : it's a completely different API. DesireData is 
designed so that you can write this in Tcl ; PureData is designed so that 
you have to write much of that in C. Part of the rationale was that Tcl is 
easier to learn than C.


 ___
| Mathieu Bouchard -- Villeray, Montréal, QC___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-10-08 Thread Jonathan Wilkes


--- On Fri, 10/8/10, Mathieu Bouchard  wrote:

> From: Mathieu Bouchard 
> Subject: Re: [PD] jMax Phoenix
> To: "Jonathan Wilkes" 
> Cc: "IOhannes m zmoelnig" , pd-list@iem.at
> Date: Friday, October 8, 2010, 4:46 PM
> On Tue, 5 Oct 2010, Jonathan Wilkes
> wrote:
> 
> > Well Ctrl-6 doesn't currently do anything _while_ you
> are editing the contents of an object box, right?  I
> just once I am done typing the name of the object I want a
> shortcut to be able to then immediately hit Ctrl-6 to mean
> the same as currently hitting Enter, then Ctrl-6.  One
> less key.
> 
> Yeah, that's one possibility, but given that the rest of
> the software is full of showstoppers (left mostly as-is
> since 2007), and that we're not really trying to transplant
> that feature to a working branch of pd, it's not so much
> worth thinking about it.

Would it be difficult to transplant these keyboard patching 
features?

> 
> I was also thinking about replacing Ctrl-6 by something
> else, such as Ctrl-Shift-1 (but this can't be done because
> it doesn't work on AZERTY). With your idea, I'd consider
> Shift-Enter because it's an extension of what Enter does and
> it's not Ctrl-Enter.
> 
> 
> ___
> | Mathieu Bouchard -- Villeray,
> Montréal, QC


  

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


Re: [PD] jMax Phoenix

2010-10-08 Thread Mathieu Bouchard

On Thu, 23 Sep 2010, Bernardo Barros wrote:


if (0.5.coin) {"Hey".postln} {"Ho!"};
OR
if (0.5.coin, {"Hey".postln}, {"Ho!"});
But since SC is object-oriented and "if" is a method of "boolean",
this also works and would be considered more consistent with the
language design:
(0.5.coin).if({"Hey".postln}, {"Ho!"})


To complete what we were saying, even though there's a lot in common 
between SC and Ruby, conditionals are completely different over there, and 
there are nine syntaxes for conditionals, NOT including a method of 
boolean (because Ruby doesn't have this feature).


I forgot to say last time (and that's probably what IOhannes was referring 
to) that in Perl and Ruby, the operators && || "and" "or" have been 
recycled into conditionals in Perl and Ruby. Then there are also the 
reverse conditionals "if" and "unless". those statements are all 
equivalent in Ruby :


  if debug then post("problem") end
  unless not debug then post("problem") end
  post("problem") if debug
  post("problem") unless not debug
  debug and post("problem")
  debug && post("problem")
  not debug or post("problem")
  !debug || post("problem")
  debug ? post("problem") : nil

which is almost the same deal as in Perl except Ruby's regular "if" 
statement is actually an expression.


"and"/"or" and "&&"/"||" aren't just aliases, because they also have 
different priorities.


 ___
| Mathieu Bouchard -- Villeray, Montréal, QC___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-10-08 Thread Mathieu Bouchard

On Tue, 5 Oct 2010, Jonathan Wilkes wrote:

Well Ctrl-6 doesn't currently do anything _while_ you are editing the 
contents of an object box, right?  I just once I am done typing the name 
of the object I want a shortcut to be able to then immediately hit 
Ctrl-6 to mean the same as currently hitting Enter, then Ctrl-6.  One 
less key.


Yeah, that's one possibility, but given that the rest of the software is 
full of showstoppers (left mostly as-is since 2007), and that we're not 
really trying to transplant that feature to a working branch of pd, it's 
not so much worth thinking about it.


I was also thinking about replacing Ctrl-6 by something else, such as 
Ctrl-Shift-1 (but this can't be done because it doesn't work on AZERTY). 
With your idea, I'd consider Shift-Enter because it's an extension of what 
Enter does and it's not Ctrl-Enter.


 ___
| Mathieu Bouchard -- Villeray, Montréal, QC___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-10-05 Thread Jonathan Wilkes


--- On Tue, 10/5/10, Mathieu Bouchard  wrote:

> From: Mathieu Bouchard 
> Subject: Re: [PD] jMax Phoenix
> To: "Jonathan Wilkes" 
> Cc: "IOhannes m zmoelnig" , pd-list@iem.at
> Date: Tuesday, October 5, 2010, 5:38 PM
> On Mon, 4 Oct 2010, Jonathan Wilkes
> wrote:
> 
> > I do remember that in Desiredata you have to actually
> create the object with  before you are
> able to autoconnect another one, which is an unnecessary
> step.
> 
> Ctrl-Enter doesn't do what you say it does. It introduces a
> newline in the text you are writing. Somehow it used to be
> doing it correctly, but stopped doing it correctly when the
> history feature was added to objectbox edition (there were
> just too many features in DesireData : that one overrode the
> normal use of the up and down arrows. I don't recall why we
> did it like that.)
> 
> a plain Enter terminates the objectbox,

Yes, I got this confused with  from Pd ext.

> which is a lot more
> convenient than taking the mouse and find a spot where
> there's a piece of nothingness you can click on so that your
> objectbox gets made without triggering any other change by
> accident.
> 
> then in DesireData, a box you finished with Enter is also
> automatically selected, and this selection is used in
> determining the origin of the auto-connection done when
> making an objectbox with Ctrl-6 (six).

Well Ctrl-6 doesn't currently do anything _while_ you are editing the 
contents of an object box, right?  I just once I am done typing the name 
of the object I want a shortcut to be able to then immediately hit Ctrl-6 to 
mean the same as currently hitting Enter, then Ctrl-6.  One less key.

-Jonathan 

> 
> 
> ___
> | Mathieu Bouchard -- Villeray,
> Montréal, QC


  

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


Re: [PD] jMax Phoenix

2010-10-05 Thread Mathieu Bouchard

On Mon, 4 Oct 2010, Jonathan Wilkes wrote:

I do remember that in Desiredata you have to actually create the object 
with  before you are able to autoconnect another one, which 
is an unnecessary step.


Ctrl-Enter doesn't do what you say it does. It introduces a newline in the 
text you are writing. Somehow it used to be doing it correctly, but 
stopped doing it correctly when the history feature was added to objectbox 
edition (there were just too many features in DesireData : that one 
overrode the normal use of the up and down arrows. I don't recall why we 
did it like that.)


a plain Enter terminates the objectbox, which is a lot more convenient 
than taking the mouse and find a spot where there's a piece of nothingness 
you can click on so that your objectbox gets made without triggering any 
other change by accident.


then in DesireData, a box you finished with Enter is also automatically 
selected, and this selection is used in determining the origin of the 
auto-connection done when making an objectbox with Ctrl-6 (six).


 ___
| Mathieu Bouchard -- Villeray, Montréal, QC___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-10-04 Thread Jonathan Wilkes


--- On Mon, 10/4/10, Mathieu Bouchard  wrote:

> From: Mathieu Bouchard 
> Subject: Re: [PD] jMax Phoenix
> To: "Jonathan Wilkes" 
> Cc: "IOhannes m zmoelnig" , pd-list@iem.at
> Date: Monday, October 4, 2010, 8:40 PM
> On Thu, 23 Sep 2010, Jonathan Wilkes
> wrote:
> 
> > I thought it was in 0.43-- at least I'm using Pd
> version 0.42.5-extended and there isn't the autopatching
> feature.
> 
> This is one of the rare features of Pd-vanilla 42 that is
> disabled in Pd-extended 42.
> 
> > I initially liked what I saw of the autopatching
> features in Desiredata, but I haven't tried them enough to
> judge.
> 
> It's not very related : you'd press a separate keyboard
> shortcut to explicitly get an autopatched objects. That's
> not incompatible with users' habits. Miller's implementation
> goes against the existing habits of users.

Right, I remember that.  I just didn't use it enough to find out 
exactly how convenient navigating around different objects/inlet 
/outlets and making connections with the keyboard was.

I do remember that in Desiredata you have to actually create the 
object with  before you are able to autoconnect 
another one, which is an unnecessary step.

-Jonathan

> 
> > I also seem to remember the possibility of increasing
> the mouse-over radius around each inlet so you don't have to
> be so precise to make a connection.
> 
> That applied to everything you could click on (and drag
> from or to) in a canvas.
> 
> 
> ___
> | Mathieu Bouchard -- Villeray,
> Montréal, QC


  

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


Re: [PD] jMax Phoenix

2010-10-04 Thread Mathieu Bouchard

On Thu, 23 Sep 2010, Jonathan Wilkes wrote:

I thought it was in 0.43-- at least I'm using Pd version 0.42.5-extended 
and there isn't the autopatching feature.


This is one of the rare features of Pd-vanilla 42 that is disabled in 
Pd-extended 42.


I initially liked what I saw of the autopatching features in Desiredata, 
but I haven't tried them enough to judge.


It's not very related : you'd press a separate keyboard shortcut to 
explicitly get an autopatched objects. That's not incompatible with users' 
habits. Miller's implementation goes against the existing habits of users.


I also seem to remember the possibility of increasing the mouse-over 
radius around each inlet so you don't have to be so precise to make a 
connection.


That applied to everything you could click on (and drag from or to) in a 
canvas.


 ___
| Mathieu Bouchard -- Villeray, Montréal, QC___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-09-27 Thread Kim Cascone

Jonathan Wilkes wrote:

--- On Sun, 9/26/10, Kim Cascone  wrote:

  

From: Kim Cascone 
Subject: Re: [PD] jMax Phoenix
To: "pd-list" 
Cc: zmoel...@iem.at
Date: Sunday, September 26, 2010, 2:52 PM


you can make _very_ elegant super-readable control
  

flow with the use of


[route] and friends.
  

IOhannes

I find this particular subject very interesting
I was recently working on a patch using [expr] found the
lack of being able to send the results of multiple 'if'
statements to the same outlet frustrating - I am also used



The reason [expr] doesn't work well in that case is that you 
must nest multiple if statements, which quickly makes the args 
hard to decipher.
  

yes I found this out by trying if, then-if, else-if
(it would be nice if the help patch would be updated/improved a little 
with more examples)
but also found it hard to decipher when coming back to it later even 
with copious comments
so I used multiple if statements and then tried to deal with the 
multiple outputs

which I did but can't remember off hand how
will post the patch at some point
I'm on tour now so busy with other things
:)


  

to using the Max/MSP [if] object for these sorts of tasks
can point me to some examples of using [route] and friends
as control statements to check out?
thanks!
KIM




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





  

  



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


Re: [PD] jMax Phoenix

2010-09-26 Thread Kim Cascone




Jonathan Wilkes wrote:

  --- On Sun, 9/26/10, Kim Cascone  wrote:

  
  
From: Kim Cascone 
Subject: Re: [PD] jMax Phoenix
To: "pd-list" 
Cc: zmoel...@iem.at
Date: Sunday, September 26, 2010, 2:52 PM


  you can make _very_ elegant super-readable control
  

flow with the use of


  [route] and friends.
  

IOhannes

I find this particular subject very interesting
I was recently working on a patch using [expr] found the
lack of being able to send the results of multiple 'if'
statements to the same outlet frustrating - I am also used

  
  
The reason [expr] doesn't work well in that case is that you 
must nest multiple if statements, which quickly makes the args 
hard to decipher.
  

yes I found this out by trying if, then-if, else-if
(it would be nice if the help patch would be updated/improved a little
with more examples)
but also found it hard to decipher when coming back to it later even
with copious comments
so I used multiple if statements and then tried to deal with the
multiple outputs
which I did but can't remember off hand how
will post the patch at some point
I'm on tour now so busy with other things
:)



  
  
  
to using the Max/MSP [if] object for these sorts of tasks
can point me to some examples of using [route] and friends
as control statements to check out?
thanks!
KIM




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


  
  

  

  





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


Re: [PD] jMax Phoenix

2010-09-26 Thread Jonathan Wilkes
--- On Sun, 9/26/10, Kim Cascone  wrote:

> From: Kim Cascone 
> Subject: Re: [PD] jMax Phoenix
> To: "pd-list" 
> Cc: zmoel...@iem.at
> Date: Sunday, September 26, 2010, 2:52 PM
> > 
> > you can make _very_ elegant super-readable control
> flow with the use of
> > [route] and friends.
> IOhannes
> 
> I find this particular subject very interesting
> I was recently working on a patch using [expr] found the
> lack of being able to send the results of multiple 'if'
> statements to the same outlet frustrating - I am also used

The reason [expr] doesn't work well in that case is that you 
must nest multiple if statements, which quickly makes the args 
hard to decipher.

> to using the Max/MSP [if] object for these sorts of tasks
> can point me to some examples of using [route] and friends
> as control statements to check out?
> thanks!
> KIM
> 
> 
> 
> 
> ___
> Pd-list@iem.at
> mailing list
> UNSUBSCRIBE and account-management -> 
> http://lists.puredata.info/listinfo/pd-list
> 


  

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


Re: [PD] jMax Phoenix

2010-09-26 Thread Mathieu Bouchard

On Sun, 26 Sep 2010, Kim Cascone wrote:

I find this particular subject very interesting I was recently working 
on a patch using [expr] found the lack of being able to send the results 
of multiple 'if' statements to the same outlet frustrating - I am also 
used to using the Max/MSP [if] object for these sorts of tasks can point 
me to some examples of using [route] and friends as control statements 
to check out? thanks! KIM


I don't understand "using [route] as a control statement". It already is a 
control statement.


Maybe you should provide us with an example of problem-solving that you 
think is very easy to do with [if] and very hard to think of without. 
Well, or whichever problem you had in mind when you wrote this above.


 ___
| Mathieu Bouchard -- Villeray, Montréal, QC___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-09-26 Thread Kim Cascone


you can make _very_ elegant super-readable control flow with the use of
[route] and friends.

IOhannes

I find this particular subject very interesting
I was recently working on a patch using [expr] found the lack of being 
able to send the results of multiple 'if' statements to the same outlet 
frustrating - I am also used to using the Max/MSP [if] object for these 
sorts of tasks
can point me to some examples of using [route] and friends as control 
statements to check out?

thanks!
KIM




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


Re: [PD] jMax Phoenix

2010-09-25 Thread Bernardo Barros
Just curious,

Any developer never considered taking a look at Nova?
Once I skimmed Tim's thesis and it seemd interesting for Max-like
languages like PD,
It was reliable, performed 2 times faster then Pd and had a pretty
Python+Qt Gui. (And Qt is very efficient, pretty and cross-platform).
anuway, it was deprecated not because it has bad design, he just
switched to supercollider/supernova. well, it looked nice.


2010/9/24 IOhannes zmölnig :
> On 09/23/2010 11:33 PM, Jonathan Wilkes wrote:
>>
>> I thought it was in 0.43-- at least I'm using
>> Pd version 0.42.5-extended and there isn't the autopatching
>> feature.
>>
> it is in Pd-vanilla.
> either Pd-extended has disabled it completely, or you have to turn it on
> manually or it is turned off by default.
>
> fgmasr
> IOhannes
>
>
> ___
> Pd-list@iem.at mailing list
> UNSUBSCRIBE and account-management -> 
> http://lists.puredata.info/listinfo/pd-list
>
>

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


Re: [PD] jMax Phoenix

2010-09-24 Thread IOhannes zmölnig
On 09/23/2010 11:33 PM, Jonathan Wilkes wrote:
>
> I thought it was in 0.43-- at least I'm using 
> Pd version 0.42.5-extended and there isn't the autopatching 
> feature.
>
it is in Pd-vanilla.
either Pd-extended has disabled it completely, or you have to turn it on
manually or it is turned off by default.

fgmasr
IOhannes



signature.asc
Description: OpenPGP digital signature
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-09-23 Thread Jonathan Wilkes


--- On Thu, 9/23/10, Mathieu Bouchard  wrote:

> From: Mathieu Bouchard 
> Subject: Re: [PD] jMax Phoenix
> To: "Jonathan Wilkes" 
> Cc: pd-list@iem.at, gridflow-...@artengine.ca
> Date: Thursday, September 23, 2010, 8:22 PM
> On Wed, 22 Sep 2010, Mathieu Bouchard
> wrote:
> 
> > At this point, [#expr 1000-100-10-1] = 909, and I'm
> trying to make it so that it's 889. It's because
> (1000-(100-(10-(1 = 909 and 1000)-100)-10)-1) =
> 889.
> 
> ok, it's fixed, [#expr 1000-100-10-1]
> 
> I have a parser for + - * / & | ^ with correct operator
> precedence and left-associativity, and support for float
> literals and 0x hex literals. (nothing else yet)
> 
> You can try it now if you compile the svn head of
> gridflow.

Hey, that's great!  I'll try it out as soon as I get a chance.

-Jonathan

> 
> 
> ___
> | Mathieu Bouchard -- Villeray,
> Montréal, QC


  

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


Re: [PD] jMax Phoenix

2010-09-23 Thread Jonathan Wilkes


--- On Thu, 9/23/10, IOhannes m zmoelnig  wrote:

> From: IOhannes m zmoelnig 
> Subject: Re: [PD] jMax Phoenix
> To: "Jonathan Wilkes" 
> Cc: pd-list@iem.at
> Date: Thursday, September 23, 2010, 12:10 PM
> On 2010-09-23 11:10, Jonathan Wilkes
> wrote:
> > 
> > 
> > I use keyboard shortcuts but they don't help the
> problem of 
> > lining up objects with the mouse or with
> , and 
> > of making connections between objects which requires a
> click in 
> > a very specific place.  Actually I find making 24
> connections, 
> > one-at-a-time with the mouse to be the most tedious
> part of the 
> 
> i also became quite used to using the autopatch feature
> introduced in
> pd-0.42 (true, in the beginning it was _very_ annoying; but
> once you get
> around that, it starts to become fun)

I thought it was in 0.43-- at least I'm using 
Pd version 0.42.5-extended and there isn't the autopatching 
feature.

I initially liked what I saw of the autopatching features in 
Desiredata, but I haven't tried them enough to judge.  I also 
seem to remember the possibility of increasing the mouse-over 
radius around each inlet so you don't have to be so precise to 
make a connection.

-Jonathan

> 
> fgasdr
> IOhannes
> 
> 


  

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


Re: [PD] jMax Phoenix

2010-09-23 Thread Bernardo Barros
the java gui for supercollider (swingosc) is not very efficient
performance-wise. It makes the cpu go from 8 to 25%...
The new Qt (gui toolkit with c++ code) is incredibly more efficient
and much more pleasant to the eyes, at least on gnu/linux.

I also can't understand a very good reason to start such a similar
application all over (jmax), why not just improve what is already
working (pd) ??

2010/9/23 ydego...@gmail.com :
> ola,
>
> i did try to install jmax sometimes ago...
> but i never used it,
> the reason being java is totally unfit
> for real-time apps and fast response
>
> have the same problem now with webcamstudio..
>
> but suerte!,
> sevy
>
> Maurizio De Cecco wrote:
>>
>> Hallo,
>>
>> my name is Maurizio De Cecco, and i am the maintainer and developper of
>> the jMax Phoenix project,
>> a kind of cousin of Puredata. Having release a new beta for jMax (on Linux
>> and Mac OS X), and after
>> discussing with Miller Puckette, i think the members of this list may be
>> interested in knowing more
>> about the project, and may be take a look.
>>
>> A bit of history: i worked in Ircam in the 90s, where i was lucky enough
>> to work with Miller Puckette
>> on Max/ISPW and following versions; i then worked on jMax, that was
>> intended to be a 'next generation'
>> Max for the Ircam projects; jMax was used in a few large productions; i
>> left in 99 for pursing other
>> interest (Linux Mandrake, at that time :), and forgot for a while about
>> jMax.
>>
>> In the meanwhile, jMax was put under a GPL licence, and after a couple of
>> years Ircam stopped its development
>> (don't ask me why, i wasn't there).
>>
>> In 2008 i was getting severely bored: server side Java, quality indicators
>> and software engineering was my daily bread, and no code to write; so, to
>> keep my developer mind healthy, i took up the development
>> of jMax, starting from the last release i worked on.
>>
>> Given the fact that jMax slept a few years, it cannot compete with
>> puredata in terms of available libraries,
>> patches, and in general maturity of the solution.
>>
>> But it have its own peculiarity, a number of different ideas, and having a
>> code base but no users (yet, i hope:)
>> allows some bold design decision to be taken; think of jMax Phoenix as a
>> kind of research project in same family where Puredata is.
>>
>> Describing the differences between jMax and Puredata would be long,
>> because it would need to go back
>> to the original developments; to be very synthetic i would resume in the
>> following:
>>
>> 1) Architecture: the jMax user interface run on a different process, and
>> it written in Java.
>>
>> 2) APIs are completely different, but see below.
>>
>> 3) The Object Set is reduced to the old ISPW object set; jMax can also
>> transparently include LADSPA plugins as objects; finally, i developped
>> compatibility layer (to be completed) that allows to recompile simple pd
>> objects for jMax, and possibly to load pd abstractions.
>>
>> 4) User Interface: there is a lot of work going on in the UI, that allows,
>> between other, the used of a single window IDE style interface.
>>
>> 5) Packaging and configuration: jMax Phoenix support the packaging
>> of complex libraries and applications in a single file, and even
>> automatically grab libraries from the internet.
>>
>> 6) The language: jMax support the use of expressions in object definition,
>> like in | int ( 10 + $foo) | so that objects in abstractions can be
>> parametrised with respect to the arguments.
>>
>> 7) Hopefully in between 6 month and a year: an optimising dsp compiler
>> and engine able to run a patch in parallel on multiple core (where
>> multiple means around 8).
>>
>> For anybody more interested, the project site is
>> http://www.jmax-phoenix.org/, and the
>> binaries and sources can be loaded from the project sourceforge site,
>> http://sourceforge.net/projects/jmax-phoenix/
>>
>> For your information, i include at the end of the mail the formal announce
>> of the 0.6 beta release; it does not mention the Max OS X version, that was
>> not ready at the time.
>>
>> Maurizio
>>
>> -
>>
>> After many month of development, we are proud to announce the version 0.6
>> beta of jMax Phoenix.
>>
>> The major highlights for this version are:
>> - A first version of the puredata source compatibility kit, including the
>> build system and a full example of recompiled object library.
>> - A large set of usability bug fixed; all the bugs preventing a smooth
>> work flow have been fixed.
>> - Error handling improvements: most of the bugs and configuration errors
>> now results in error messages, and not unexplained freezes.
>> - A set of examples and tutorials has been recovered from old ISPW
>> archives; they are not updated to include all the major jMax
>> functionalities, but it is better than nothing.
>>
>> Full release notes are available in the release notes section of th

Re: [PD] jMax Phoenix

2010-09-23 Thread ydego...@gmail.com

ola,

i did try to install jmax sometimes ago...
but i never used it,
the reason being java is totally unfit
for real-time apps and fast response

have the same problem now with webcamstudio..

but suerte!,
sevy

Maurizio De Cecco wrote:

Hallo,

my name is Maurizio De Cecco, and i am the maintainer and developper 
of the jMax Phoenix project,
a kind of cousin of Puredata. Having release a new beta for jMax (on 
Linux and Mac OS X), and after
discussing with Miller Puckette, i think the members of this list may 
be interested in knowing more

about the project, and may be take a look.

A bit of history: i worked in Ircam in the 90s, where i was lucky 
enough to work with Miller Puckette
on Max/ISPW and following versions; i then worked on jMax, that was 
intended to be a 'next generation'
Max for the Ircam projects; jMax was used in a few large productions; 
i left in 99 for pursing other
interest (Linux Mandrake, at that time :), and forgot for a while 
about jMax.


In the meanwhile, jMax was put under a GPL licence, and after a couple 
of years Ircam stopped its development

(don't ask me why, i wasn't there).

In 2008 i was getting severely bored: server side Java, quality 
indicators and software engineering was my daily bread, and no code to 
write; so, to keep my developer mind healthy, i took up the development

of jMax, starting from the last release i worked on.

Given the fact that jMax slept a few years, it cannot compete with 
puredata in terms of available libraries,

patches, and in general maturity of the solution.

But it have its own peculiarity, a number of different ideas, and 
having a code base but no users (yet, i hope:)
allows some bold design decision to be taken; think of jMax Phoenix as 
a kind of research project in same family where Puredata is.


Describing the differences between jMax and Puredata would be long, 
because it would need to go back
to the original developments; to be very synthetic i would resume in 
the following:


1) Architecture: the jMax user interface run on a different process, 
and it written in Java.


2) APIs are completely different, but see below.

3) The Object Set is reduced to the old ISPW object set; jMax can also 
transparently include LADSPA plugins as objects; finally, i developped 
compatibility layer (to be completed) that allows to recompile simple 
pd objects for jMax, and possibly to load pd abstractions.


4) User Interface: there is a lot of work going on in the UI, that 
allows, between other, the used of a single window IDE style interface.


5) Packaging and configuration: jMax Phoenix support the packaging
of complex libraries and applications in a single file, and even 
automatically grab libraries from the internet.


6) The language: jMax support the use of expressions in object 
definition, like in | int ( 10 + $foo) | so that objects in 
abstractions can be parametrised with respect to the arguments.


7) Hopefully in between 6 month and a year: an optimising dsp compiler
and engine able to run a patch in parallel on multiple core (where 
multiple means around 8).


For anybody more interested, the project site is 
http://www.jmax-phoenix.org/, and the
binaries and sources can be loaded from the project sourceforge site, 
http://sourceforge.net/projects/jmax-phoenix/


For your information, i include at the end of the mail the formal 
announce of the 0.6 beta release; it does not mention the Max OS X 
version, that was not ready at the time.


Maurizio

-

After many month of development, we are proud to announce the version 
0.6 beta of jMax Phoenix.


The major highlights for this version are:
- A first version of the puredata source compatibility kit, including 
the build system and a full example of recompiled object library.
- A large set of usability bug fixed; all the bugs preventing a smooth 
work flow have been fixed.
- Error handling improvements: most of the bugs and configuration 
errors now results in error messages, and not unexplained freezes.
- A set of examples and tutorials has been recovered from old ISPW 
archives; they are not updated to include all the major jMax 
functionalities, but it is better than nothing.


Full release notes are available in the release notes section of the 
projet site.


This release has been tested on Ubuntu and Ubuntu Studio 10.04, Debian 
5, Fedora 13 and Mandriva Spring 2010; check the installation
instruction on the projet site for specific caveats for Debian and 
Fedora.


The Puredata compatibility sub-project has been *very* time consuming; 
in order to better manage my scarce time resources,
we need some user feedback (and possibly help) to be able to evaluate 
the actual interest of pursuing this development direction.


For more information and download and installation instructions go to
http://www.jmax-phoenix.org/.

For contacting the project team: cont...@jmax-phoenix.org

The jMax Phoenix 

Re: [PD] jMax Phoenix

2010-09-23 Thread Mathieu Bouchard

On Wed, 22 Sep 2010, Mathieu Bouchard wrote:

At this point, [#expr 1000-100-10-1] = 909, and I'm trying to make it so that 
it's 889. It's because (1000-(100-(10-(1 = 909 and 1000)-100)-10)-1) 
= 889.


ok, it's fixed, [#expr 1000-100-10-1]

I have a parser for + - * / & | ^ with correct operator precedence and 
left-associativity, and support for float literals and 0x hex literals. 
(nothing else yet)


You can try it now if you compile the svn head of gridflow.

 ___
| Mathieu Bouchard -- Villeray, Montréal, QC___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-09-23 Thread Bernardo Barros
I don't know the multiple syntaxes SuperCollider supports is a bad or
good thing (comparing to Python where there is only one syntax for
everything):

if (0.5.coin) {"Hey".postln} {"Ho!"};
OR
if (0.5.coin, {"Hey".postln}, {"Ho!"});

But since SC is object-oriented and "if" is a method of "boolean",
this also works and would be considered more consistent with the
language design:

(0.5.coin).if({"Hey".postln}, {"Ho!"})



2010/9/23 Mathieu Bouchard :
> On Thu, 23 Sep 2010, IOhannes m zmoelnig wrote:
>
>> yes, but i believe this is because you are very used to C-like languages,
>> so you assume that expr's if looks like: "if , , ".
>> you have been trained on that, probably since high school (and eventually
>> used it before) [*]. if you had been fed on perl, you might find other
>> things more easily to read.
>
> Perl also has a conditional-statement almost like C's. There are some
> differences. Its syntax is if (a) {b} else {c} instead of if (a) b; else c;
> because Perl has no separate concept of compound statement.
>
> And then also Perl has more different implicit conversions to bool than C
> has.
>
> The if-statement is remarkably uniform across different languages, in a way
> that the for-loop and the switch-statement aren't.
>
> The biggest difference you will see, is that some if-statements are actually
> if-expressions instead. This is the case with if(,,) in the [expr] class.
> This is also the case with a?b:c in C language. It's the case with
> if/then/else/end in Ruby and the if {} {} {} in Tcl.
>
> Perl is somewhat in-between because although you can't assign the result of
> an if-statement to a variable, you can return it from a function, but that's
> because Perl uses the value of the last executed statement as the default
> return value.
>
>  ___
> | Mathieu Bouchard -- Villeray, Montréal, QC
> ___
> Pd-list@iem.at mailing list
> UNSUBSCRIBE and account-management ->
> http://lists.puredata.info/listinfo/pd-list
>
>

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


Re: [PD] jMax Phoenix

2010-09-23 Thread Mathieu Bouchard

On Thu, 23 Sep 2010, IOhannes m zmoelnig wrote:

yes, but i believe this is because you are very used to C-like 
languages, so you assume that expr's if looks like: "if , 
, ". you have been trained on that, probably since high 
school (and eventually used it before) [*]. if you had been fed on perl, 
you might find other things more easily to read.


Perl also has a conditional-statement almost like C's. There are some 
differences. Its syntax is if (a) {b} else {c} instead of if (a) b; else 
c; because Perl has no separate concept of compound statement.


And then also Perl has more different implicit conversions to bool than C 
has.


The if-statement is remarkably uniform across different languages, in a 
way that the for-loop and the switch-statement aren't.


The biggest difference you will see, is that some if-statements are 
actually if-expressions instead. This is the case with if(,,) in the 
[expr] class. This is also the case with a?b:c in C language. It's the 
case with if/then/else/end in Ruby and the if {} {} {} in Tcl.


Perl is somewhat in-between because although you can't assign the result 
of an if-statement to a variable, you can return it from a function, but 
that's because Perl uses the value of the last executed statement as the 
default return value.


 ___
| Mathieu Bouchard -- Villeray, Montréal, QC___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-09-23 Thread Mathieu Bouchard

On Thu, 23 Sep 2010, Maurizio De Cecco wrote:


Well, i am not the right guy for that; i am the only guy in town
that: 1) Know deeply the jMax code.


Every programmer is the only programmer who knows a certain piece of code. 
It does not make it automatically something that is worth maintaining (I 
mean that you have other reasons that you haven't listed).



2) Have some (limited) time and the motivation to work on it.


If you do have motivation to work on it, that's fine, but we'd be curious 
to know why jMax is more motivating to you, than pd could be.


So surely my personal contribution to the community can be on reviving 
jMax, and trying to fulfils its promises.


there is no jMax community.


But the pd core code base is do not offer a lot of help for core extensions;
and as core extensions i mean for example a different DSP compiler, a different
DSP execution engine, an extended object model.


You can either replace the existing one completely, or add some kind of 
if-statement or function-pointer variable(s) to select a DSP compiler at 
runtime (isn't it ?).


What would you change (or add) to the object model in particular ?

The core code base offer little or no abstraction, direct access to data 
structure elements and so on;


and how does this affect you ?

jMax, at least at the source level, make things a lot easier for a 
developer that want to hack the code base, there are less dependencies 
between the different parts, and more abstraction in the API (that is 
more verbose as a consequence).


Ah, yeah, that's what happens to programmes written in C. Java would be 
better for that, but C++ is even better for that... I mean, for making 
abstract code nearly as short as non-abstract code. Whereas for languages 
like Ruby, it's the other way around, as abstract code is usually shorter 
than non-abstract code.


And the fact there is no stable community of users (yet ?) reduce the 
fear of catastrophes :->


It also reduces the chance to any help for testing the software.

 ___
| Mathieu Bouchard -- Villeray, Montréal, QC___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-09-23 Thread IOhannes m zmoelnig
On 2010-09-23 11:10, Jonathan Wilkes wrote:
> 
> 
> I use keyboard shortcuts but they don't help the problem of 
> lining up objects with the mouse or with , and 
> of making connections between objects which requires a click in 
> a very specific place.  Actually I find making 24 connections, 
> one-at-a-time with the mouse to be the most tedious part of the 

i also became quite used to using the autopatch feature introduced in
pd-0.42 (true, in the beginning it was _very_ annoying; but once you get
around that, it starts to become fun)

fgasdr
IOhannes



smime.p7s
Description: S/MIME Cryptographic Signature
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-09-23 Thread Jonathan Wilkes


--- On Thu, 9/23/10, IOhannes m zmoelnig  wrote:

> From: IOhannes m zmoelnig 
> Subject: Re: [PD] jMax Phoenix
> To: pd-list@iem.at
> Date: Thursday, September 23, 2010, 9:20 AM
> On 2010-09-22 20:04, Jonathan Wilkes
> wrote:
> > 
> > Yes, Max/MSP's [if] object has a more readable
> syntax.  Yet even 
> 
> i don't know max's [if], but i guess you could basically
> implement this
> with an abstraction.
> 
> > with the two nested "ifs" I find it easier to read
> than your 
> > implementation because I don't have to look up to the
> inlet to 
> > remind myself which list elements correspond to which
> variable.
> > 
> 
> yes, but i believe this is because you are very used to
> C-like
> languages, so you assume that expr's if looks like: "if
> ,
> , ".
> you have been trained on that, probably since high school
> (and
> eventually used it before) [*]. if you had been fed on
> perl, you might
> find other things more easily to read.
> 
> 
> > I could put comments closer to each object chain, but
> then that's 
> > even more objects.
> 
> so?
> 
> we all know that source-lines-of-code has nothing to do
> with raedability
> nor complexity.
> more objects doesn't mean that the code is better OR worse
> to read.
> 
> (though of course it might be preferrable that the code
> makes it clear
> what is going on without having to resort to comments).
> 
> >> and as a matter of fact, i don't think the
> >> pd-implementation of the
> >> algorithm is so bad.
> > 
> > Yes, IMO the way you implemented it is nice because
> there are 
> > very few wires crossing over objects.
> 
> i think the main problems come from people trying to
> implement C-like
> control flow in a dataflow language like Pd.
> even my implementation was only trying to reproduce the
> algorithm you
> wrote down, rather than trying to figure a Pd-way to
> implement pong.
> 
> you can make _very_ elegant super-readable control flow
> with the use of
> [route] and friends.
> 
> 
> > 
> > I'd also mention I find it more difficult to patch
> your 
> > implementation because there are 25 objects (not
> including the 
> > number boxes), 16 of which correspond to the args of
> [expr] in 
> > my implementation.  That's 16 objects for which I
> have to change 
> > modes between the mouse (for connections) and the
> keyboard (for 
> > text).
> 
> 
> if you find it difficult to patch 25 objects, then you
> should get
> yourself accustomed to keyboard short-cuts.
> if you need go to the menu->put->object for each of
> the 25 objects, then
> i understand your concerns. with Ctrl-1 i don't see the
> problem with
> patching 25 or 3 objects.

I use keyboard shortcuts but they don't help the problem of 
lining up objects with the mouse or with , and 
of making connections between objects which requires a click in 
a very specific place.  Actually I find making 24 connections, 
one-at-a-time with the mouse to be the most tedious part of the 
whole ordeal.  If I could just imagine the wires into existence 
then I might not use [expr] as much as I do.

> 
> 
> > 
> > With [expr] I find it conceptually easier (and more
> ergonomic) to 
> > set up my [v] objects, my [sel], and my [outlet], then
> code the 
> > entire algorithm inside one box.
> 
> i hardly ever use [value].
> i think it doesn't integrate so well into the patcher
> paradigm, thus
> making you want to program C-like rather than Pd-like.

That's only true when using it in conjunction with [expr].  At 
least the other times I've used it have been basically a 
shortcut for:
[s]
  |
[f]

> 
> that's not to say that i never use [value], it surely has
> its merits.
> 
> > 
> > Btw- you can get rid of 3 overlapping wires if you put
> [value py] 
> > closest to [unpack 0 0 0] and cascade them that way.
> 
> btw, i'm not very interested in getting rid of all
> overlapping wires.
> spaghetti code is probably something that is unreadable,
> but the odd
> overlapping wire is something my brain has adapted to
> decyphering very well.
> 
> fgmasdr
> IOhannes
> 
> 
> 
> 
> [*] note that i went to highschool in austria around 1990;
> things might
> have changed substantially since then.
> 
> 
> -Inline Attachment Follows-
> 
> ___
> Pd-list@iem.at
> mailing list
> UNSUBSCRIBE and account-management -> 
> http://lists.puredata.info/listinfo/pd-list
> 


  

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


Re: [PD] jMax Phoenix

2010-09-23 Thread Maurizio De Cecco

>> Pd is not the end of history for the MAX language,
>
>That's not what I mean, what I mean is that it's more worthwhile to fork 
>Pd than to fork (or revive) jMax.

Well, i am not the right guy for that; i am the only guy in town
that:
1) Know deeply the jMax code.
2) Have some (limited) time and the motivation to work on it.

So surely my personal contribution to the community can be on reviving jMax,
and trying to fulfils its promises.

>> there is still a lot that can be done at the core level. jMax Phoenix is 
>> a kind of research project; for now, i am trying to make it usable; 
>> later, to provide strong reasons for using it, at least in some specific 
>> field or projects.
>
>I think that some of those "core" features could become Pd externals 
>(albeit rather unusual ones).

If jMax prove that some ideas are good, they may be translated in pd; i'll be
happy to help, in this case.

But the pd core code base is do not offer a lot of help for core extensions;
and as core extensions i mean for example a different DSP compiler, a different
DSP execution engine, an extended object model.

The core code base offer little or no abstraction, direct access to data 
structure
elements and so on;  as i said, i emulate a part of the pd API on jMax, to 
allow porting
of pd objects, but it is very* difficult to retrofit pd externals with for 
example
an extended object model.

So, there are limits in what you can do.
jMax, at least at the source level, make things a lot easier for a developer 
that
want to hack the code base, there are less dependencies between the different 
parts,
and more abstraction in the API (that is more verbose as a consequence).

And the fact there is no stable community of users (yet ?) reduce the fear of 
catastrophes :->

Maurizio





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


Re: [PD] jMax Phoenix

2010-09-23 Thread IOhannes m zmoelnig
On 2010-09-23 09:20, IOhannes m zmoelnig wrote:
> 
> i think the main problems come from people trying to implement C-like
> control flow in a dataflow language like Pd.
> even my implementation was only trying to reproduce the algorithm you
> wrote down, rather than trying to figure a Pd-way to implement pong.
> 

so i think that one is more Pd'ish.
it's not trying to mimick your algorithm but rather solve the original
problem.

this eventually leads to a slight difference in the output (your
implementation and mine are not fully compatible), as here the py
denotes the middle of the paddle rather than the lower edge.

for the sake of simplicity i used an abstraction.

masrt
IOhannes
#N canvas 789 122 450 570 10;
#X obj 104 51 inlet;
#X obj 104 128 list split 1;
#X obj 104 156 \$1 \$2;
#X obj 103 175 select 1 0;
#X obj 103 278 list append;
#X obj 104 72 t l l;
#X obj 192 248 list append;
#X obj 103 299 outlet;
#X obj 192 268 outlet reject;
#X connect 0 0 5 0;
#X connect 1 0 2 0;
#X connect 1 1 4 1;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 3 1 6 0;
#X connect 4 0 7 0;
#X connect 5 0 1 0;
#X connect 5 1 6 1;
#X connect 6 0 8 0;
#N canvas 178 0 828 611 10;
#X obj 150 447 t f;
#X obj 150 230 ifroute <= 0;
#X obj 150 468 outlet;
#X text 358 238 check y-boundaries;
#X text 189 169 check x-boundaries;
#X obj 508 296 -;
#X obj 508 317 abs;
#X obj 508 338 < 30;
#X text 655 325 check paddle;
#X obj 230 230 ifroute < 500;
#X obj 50 54 inlet bx by py;
#X msg 50 175 2 bounce right;
#X msg 150 261 4 bounce bottom;
#X msg 305 261 5 bounce top;
#X msg 508 359 \$1 hit/miss paddle;
#X obj 50 147 ifroute >= 415;
#X obj 150 147 ifroute > 20;
#X obj 508 147 ifroute > 0;
#X connect 0 0 2 0;
#X connect 1 0 12 0;
#X connect 1 1 9 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 14 0;
#X connect 9 1 13 0;
#X connect 10 0 15 0;
#X connect 11 0 0 0;
#X connect 12 0 0 0;
#X connect 13 0 0 0;
#X connect 14 0 0 0;
#X connect 15 0 11 0;
#X connect 15 1 16 0;
#X connect 16 0 1 0;
#X connect 16 1 17 0;
#X connect 17 0 5 0;


smime.p7s
Description: S/MIME Cryptographic Signature
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-09-23 Thread IOhannes m zmoelnig
On 2010-09-22 20:04, Jonathan Wilkes wrote:
> 
> Yes, Max/MSP's [if] object has a more readable syntax.  Yet even 

i don't know max's [if], but i guess you could basically implement this
with an abstraction.

> with the two nested "ifs" I find it easier to read than your 
> implementation because I don't have to look up to the inlet to 
> remind myself which list elements correspond to which variable.
> 

yes, but i believe this is because you are very used to C-like
languages, so you assume that expr's if looks like: "if ,
, ".
you have been trained on that, probably since high school (and
eventually used it before) [*]. if you had been fed on perl, you might
find other things more easily to read.


> I could put comments closer to each object chain, but then that's 
> even more objects.

so?

we all know that source-lines-of-code has nothing to do with raedability
nor complexity.
more objects doesn't mean that the code is better OR worse to read.

(though of course it might be preferrable that the code makes it clear
what is going on without having to resort to comments).

>> and as a matter of fact, i don't think the
>> pd-implementation of the
>> algorithm is so bad.
> 
> Yes, IMO the way you implemented it is nice because there are 
> very few wires crossing over objects.

i think the main problems come from people trying to implement C-like
control flow in a dataflow language like Pd.
even my implementation was only trying to reproduce the algorithm you
wrote down, rather than trying to figure a Pd-way to implement pong.

you can make _very_ elegant super-readable control flow with the use of
[route] and friends.


> 
> I'd also mention I find it more difficult to patch your 
> implementation because there are 25 objects (not including the 
> number boxes), 16 of which correspond to the args of [expr] in 
> my implementation.  That's 16 objects for which I have to change 
> modes between the mouse (for connections) and the keyboard (for 
> text).


if you find it difficult to patch 25 objects, then you should get
yourself accustomed to keyboard short-cuts.
if you need go to the menu->put->object for each of the 25 objects, then
i understand your concerns. with Ctrl-1 i don't see the problem with
patching 25 or 3 objects.


> 
> With [expr] I find it conceptually easier (and more ergonomic) to 
> set up my [v] objects, my [sel], and my [outlet], then code the 
> entire algorithm inside one box.

i hardly ever use [value].
i think it doesn't integrate so well into the patcher paradigm, thus
making you want to program C-like rather than Pd-like.

that's not to say that i never use [value], it surely has its merits.

> 
> Btw- you can get rid of 3 overlapping wires if you put [value py] 
> closest to [unpack 0 0 0] and cascade them that way.

btw, i'm not very interested in getting rid of all overlapping wires.
spaghetti code is probably something that is unreadable, but the odd
overlapping wire is something my brain has adapted to decyphering very well.

fgmasdr
IOhannes




[*] note that i went to highschool in austria around 1990; things might
have changed substantially since then.



smime.p7s
Description: S/MIME Cryptographic Signature
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-09-22 Thread Jonathan Wilkes


--- On Wed, 9/22/10, Mathieu Bouchard  wrote:

> From: Mathieu Bouchard 
> Subject: Re: [PD] jMax Phoenix
> To: "Jonathan Wilkes" 
> Cc: pd-list@iem.at, gridflow-...@artengine.ca
> Date: Wednesday, September 22, 2010, 8:46 PM
> On Wed, 22 Sep 2010, Jonathan Wilkes
> wrote:
> > --- On Wed, 9/22/10, Mathieu Bouchard 
> wrote:
> >> Btw I started coding [#expr] last week... but I
> think that
> >> it will take a long time to finish coding it.
> > 
> > Great!
> > * [#expr 3 / 2] ?
> 
> At this point 1.5, and I think I will keep it that way,
> unless I require everything to default to being a grid. I
> wondered whether I ought to split between a float-centric
> version called [gf/expr] and a grid-centric version called
> [#expr], or have everything together in the same version. At
> this point, though, I only have plain floats.

I prefer your current way to the Max/MSP-oriented way that 
[expr] does it.  I find the [expr] way particularly ill-suited to 
Pd since Pd strips away unnecessary decimals and decimal places, 
thus making it look like it's Max-compatible when, depending on 
where the user puts whitespace, it may not be:
[expr 2.0/3] is the same in Max/Pd
[expr 2.0 /3] is not

> 
> GridFlow's grids default to int32 (This is because this is
> the int type in jMax. It's also the int type in Max and
> others except Pd)
> 
> > * [#expr if $f1 < 3 then $f1 goes to the left
> outlet else $f1 goes to the right outlet] ?
> 
> I don't know how this would work. In [expr], the number of
> outlets depends on the number of semicolon-separated
> expressions, and each triggering of [expr] causes them to be
> evaluated right-to-left. There's no syntax for not
> outputting on an outlet. What do you suggest ?

It's tricky.  You could add a function that takes 
no arguments which means, "Don't output."  But then I think it 
would be more useful to have a flexible if, then, else syntax 
where you can specify the outlet explicitly.  Maybe that means 
this is a separate object than expr.

I read the Max 5 documentation and they have if and else 
functions where you specify the outlet with out1, out2, etc.  

http://cycling74.com/docs/max5/refpages/max-ref/if.html


> 
> > * [#expr $0-array[$f1] ] ?
> 
> I suppose so, but we're far from that.
> 
> At this point, [#expr 1000-100-10-1] = 909, and I'm trying
> to make it so that it's 889. It's because
> (1000-(100-(10-(1 = 909 and 1000)-100)-10)-1) =
> 889.
> 
> The only supported method is bang and even $f1 doesn't even
> exist yet.
> 
> 
> ___
> | Mathieu Bouchard -- Villeray,
> Montréal, QC


  

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


Re: [PD] jMax Phoenix

2010-09-22 Thread chris clepper
Now you just need Chris Klippel to dust off the old video code he and I
worked on those many, many years ago (almost a decade!).

On Tue, Sep 21, 2010 at 4:11 PM, Maurizio De Cecco wrote:

> Hallo,
>
> my name is Maurizio De Cecco, and i am the maintainer and developper of the
> jMax Phoenix project,
> a kind of cousin of Puredata. Having release a new beta for jMax (on Linux
> and Mac OS X), and after
> discussing with Miller Puckette, i think the members of this list may be
> interested in knowing more
> about the project, and may be take a look.
>
> A bit of history: i worked in Ircam in the 90s, where i was lucky enough to
> work with Miller Puckette
> on Max/ISPW and following versions; i then worked on jMax, that was
> intended to be a 'next generation'
> Max for the Ircam projects; jMax was used in a few large productions; i
> left in 99 for pursing other
> interest (Linux Mandrake, at that time :), and forgot for a while about
> jMax.
>
> In the meanwhile, jMax was put under a GPL licence, and after a couple of
> years Ircam stopped its development
> (don't ask me why, i wasn't there).
>
> In 2008 i was getting severely bored: server side Java, quality indicators
> and software engineering was my daily bread, and no code to write; so, to
> keep my developer mind healthy, i took up the development
> of jMax, starting from the last release i worked on.
>
> Given the fact that jMax slept a few years, it cannot compete with puredata
> in terms of available libraries,
> patches, and in general maturity of the solution.
>
> But it have its own peculiarity, a number of different ideas, and having a
> code base but no users (yet, i hope:)
> allows some bold design decision to be taken; think of jMax Phoenix as a
> kind of research project in same family where Puredata is.
>
> Describing the differences between jMax and Puredata would be long, because
> it would need to go back
> to the original developments; to be very synthetic  i would resume in the
> following:
>
> 1) Architecture: the jMax user interface run on a different process, and it
> written in Java.
>
> 2)  APIs are completely different, but see below.
>
> 3) The Object Set is reduced to the old ISPW object set; jMax can also
> transparently include LADSPA plugins as objects; finally, i developped
> compatibility layer (to be completed) that allows to recompile simple pd
> objects for jMax, and possibly to load pd abstractions.
>
> 4) User Interface: there is a lot of work going on in the UI, that allows,
> between other, the used of a single window IDE style interface.
>
> 5) Packaging and configuration: jMax Phoenix support the packaging
> of complex libraries and applications in a single file, and even
> automatically grab libraries from the internet.
>
> 6) The language: jMax support the use of expressions in object definition,
> like in | int ( 10 + $foo) | so that objects in abstractions can be
> parametrised with respect to the arguments.
>
> 7) Hopefully in between 6 month and a year: an optimising dsp compiler
> and engine able to run a patch in parallel on multiple core (where multiple
> means around 8).
>
> For anybody more interested, the project site is
> http://www.jmax-phoenix.org/, and the
> binaries and sources can be loaded from the project sourceforge site,
> http://sourceforge.net/projects/jmax-phoenix/
>
> For your information, i include at the end of the mail the formal announce
> of the 0.6 beta release; it does not mention the Max OS X version, that was
> not ready at the time.
>
> Maurizio
>
> -
>
> After many month of development, we are proud to announce the version 0.6
> beta of jMax Phoenix.
>
> The major highlights for this version are:
>  - A first version of the puredata source compatibility kit, including the
> build system and a full example of recompiled object library.
>  - A large set of usability bug fixed; all the bugs preventing a smooth
> work flow have been fixed.
>  - Error handling improvements: most of the bugs and configuration errors
> now results in error messages, and not unexplained freezes.
>  - A set of examples and tutorials has been recovered from old ISPW
> archives; they are not updated to include all the major jMax
> functionalities, but it is better than nothing.
>
> Full release notes are available in the release notes section of the projet
> site.
>
> This release has been tested on Ubuntu and Ubuntu Studio 10.04, Debian 5,
> Fedora 13 and Mandriva Spring 2010; check the installation
> instruction on the projet site for specific caveats for Debian and Fedora.
>
> The Puredata compatibility sub-project has been *very* time consuming; in
> order to better manage my scarce time resources,
> we need some user feedback (and possibly help) to be able to evaluate the
> actual interest of pursuing this development direction.
>
> For more information and download and installation instructions go to
> http://www.jmax-phoenix

Re: [PD] jMax Phoenix

2010-09-22 Thread Jonathan Wilkes
Iterative loops are pretty easy with [until].  In certain 
circumstances recursive loops are not so difficult, either.

For me there are just certain types of conditional statements 
and chains of operators that are easier to do and read in expr 
rather than with several objects.

In the attached example, the comparison between the object chain 
with [random] and [expr random($f2, $f1)] isn't really fair, but 
even if expr's random function only took one argument, I still 
prefer [expr random($f1-$f2) + $f2].

Also, I just realized that if I want to really make "max" be the 
maximum I just have to insert "+1", whereas with [random] I have 
to disconnect some wires and connect a new object [+ 1] to the chain.

-Jonathan

--- On Wed, 9/22/10, Bernardo Barros  wrote:

> From: Bernardo Barros 
> Subject: Re: [PD] jMax Phoenix
> To: "Jonathan Wilkes" 
> Cc: pd-list@iem.at, "IOhannes m zmoelnig" 
> Date: Wednesday, September 22, 2010, 8:57 PM
> the only solution I see to write this
> kind of things in Max-like
> languages is to allow the user to just open a text-box and
> write what
> he/she wants in python or supercollider :-) that's for
> control
> structures, loops, etc
> 
> 2010/9/22 Jonathan Wilkes :
> >
> >
> > --- On Wed, 9/22/10, IOhannes m zmoelnig 
> wrote:
> >
> >> From: IOhannes m zmoelnig 
> >> Subject: Re: [PD] jMax Phoenix
> >> To: pd-list@iem.at
> >> Date: Wednesday, September 22, 2010, 6:36 PM
> >> On 2010-09-22 16:48, Jonathan Wilkes
> >> wrote:
> >> >
> >> >
> >> > expr if(bx<=20, if (py<=by &&
> >> py+60>=by, 0, 1), -1);
> >> > if (bx>=415, 2, -1);
> >> > if (by<=0, 4, if (by>=500, 5, -1))
> >> >
> >>
> >> honestly i find this hard to read as well, esp.
> compared to
> >> traditional
> >> C-like syntax:
> >>
> >> if(bx<=20)
> >>   if(py<=by && py+60>=by)
> >>     return 0;
> >>   else
> >>     return 1;
> >> if(by>=415)
> >>  return 2;
> >> else
> >>  return -1;
> >> if(by<=0)
> >>  return 4;
> >> else if (by>=500)
> >>  return 5;
> >
> > Yes, Max/MSP's [if] object has a more readable syntax.
>  Yet even
> > with the two nested "ifs" I find it easier to read
> than your
> > implementation because I don't have to look up to the
> inlet to
> > remind myself which list elements correspond to which
> variable.
> >
> > I could put comments closer to each object chain, but
> then that's
> > even more objects.
> >
> >>
> >>
> >> and as a matter of fact, i don't think the
> >> pd-implementation of the
> >> algorithm is so bad.
> >
> > Yes, IMO the way you implemented it is nice because
> there are
> > very few wires crossing over objects.
> >
> > I'd also mention I find it more difficult to patch
> your
> > implementation because there are 25 objects (not
> including the
> > number boxes), 16 of which correspond to the args of
> [expr] in
> > my implementation.  That's 16 objects for which I
> have to change
> > modes between the mouse (for connections) and the
> keyboard (for
> > text).
> >
> > With [expr] I find it conceptually easier (and more
> ergonomic) to
> > set up my [v] objects, my [sel], and my [outlet], then
> code the
> > entire algorithm inside one box.
> >
> > Btw- you can get rid of 3 overlapping wires if you put
> [value py]
> > closest to [unpack 0 0 0] and cascade them that way.
> >
> > -Jonathan
> >
> >> the only awkwardness in my implementation i find
> is the
> >>  [*-1]->[moses 0]
> >> , which one could simply replace by [moses -1]
> (supposed we
> >> don't care
> >> about values between -1 and 0) (or with a
> >> [<=0]->[select 1] which i
> >> didn't do for conceptual reasons)
> >>
> >> fgmasdr
> >> IOhannes
> >>
> >> -Inline Attachment Follows-
> >>
> >> ___
> >> Pd-list@iem.at
> >> mailing list
> >> UNSUBSCRIBE and account-management -> 
> >> http://lists.puredata.info/listinfo/pd-list
> >>
> >
> >
> >
> >
> > ___
> > Pd-list@iem.at
> mailing list
> > UNSUBSCRIBE and account-management -> 
> > http://lists.puredata.info/listinfo/pd-list
> >
>


  

random-number.pd
Description: Binary data
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-09-22 Thread Bernardo Barros
Well maybe there is a Python object? If it has a neat and clean
implementations would be brilliant.

2010/9/22 Bernardo Barros :
> the only solution I see to write this kind of things in Max-like
> languages is to allow the user to just open a text-box and write what
> he/she wants in python or supercollider :-) that's for control
> structures, loops, etc
>
> 2010/9/22 Jonathan Wilkes :
>>
>>
>> --- On Wed, 9/22/10, IOhannes m zmoelnig  wrote:
>>
>>> From: IOhannes m zmoelnig 
>>> Subject: Re: [PD] jMax Phoenix
>>> To: pd-list@iem.at
>>> Date: Wednesday, September 22, 2010, 6:36 PM
>>> On 2010-09-22 16:48, Jonathan Wilkes
>>> wrote:
>>> >
>>> >
>>> > expr if(bx<=20, if (py<=by &&
>>> py+60>=by, 0, 1), -1);
>>> > if (bx>=415, 2, -1);
>>> > if (by<=0, 4, if (by>=500, 5, -1))
>>> >
>>>
>>> honestly i find this hard to read as well, esp. compared to
>>> traditional
>>> C-like syntax:
>>>
>>> if(bx<=20)
>>>   if(py<=by && py+60>=by)
>>>     return 0;
>>>   else
>>>     return 1;
>>> if(by>=415)
>>>  return 2;
>>> else
>>>  return -1;
>>> if(by<=0)
>>>  return 4;
>>> else if (by>=500)
>>>  return 5;
>>
>> Yes, Max/MSP's [if] object has a more readable syntax.  Yet even
>> with the two nested "ifs" I find it easier to read than your
>> implementation because I don't have to look up to the inlet to
>> remind myself which list elements correspond to which variable.
>>
>> I could put comments closer to each object chain, but then that's
>> even more objects.
>>
>>>
>>>
>>> and as a matter of fact, i don't think the
>>> pd-implementation of the
>>> algorithm is so bad.
>>
>> Yes, IMO the way you implemented it is nice because there are
>> very few wires crossing over objects.
>>
>> I'd also mention I find it more difficult to patch your
>> implementation because there are 25 objects (not including the
>> number boxes), 16 of which correspond to the args of [expr] in
>> my implementation.  That's 16 objects for which I have to change
>> modes between the mouse (for connections) and the keyboard (for
>> text).
>>
>> With [expr] I find it conceptually easier (and more ergonomic) to
>> set up my [v] objects, my [sel], and my [outlet], then code the
>> entire algorithm inside one box.
>>
>> Btw- you can get rid of 3 overlapping wires if you put [value py]
>> closest to [unpack 0 0 0] and cascade them that way.
>>
>> -Jonathan
>>
>>> the only awkwardness in my implementation i find is the
>>>  [*-1]->[moses 0]
>>> , which one could simply replace by [moses -1] (supposed we
>>> don't care
>>> about values between -1 and 0) (or with a
>>> [<=0]->[select 1] which i
>>> didn't do for conceptual reasons)
>>>
>>> fgmasdr
>>> IOhannes
>>>
>>> -Inline Attachment Follows-
>>>
>>> ___
>>> Pd-list@iem.at
>>> mailing list
>>> UNSUBSCRIBE and account-management -> 
>>> http://lists.puredata.info/listinfo/pd-list
>>>
>>
>>
>>
>>
>> ___
>> Pd-list@iem.at mailing list
>> UNSUBSCRIBE and account-management -> 
>> http://lists.puredata.info/listinfo/pd-list
>>
>

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


Re: [PD] jMax Phoenix

2010-09-22 Thread Bernardo Barros
the only solution I see to write this kind of things in Max-like
languages is to allow the user to just open a text-box and write what
he/she wants in python or supercollider :-) that's for control
structures, loops, etc

2010/9/22 Jonathan Wilkes :
>
>
> --- On Wed, 9/22/10, IOhannes m zmoelnig  wrote:
>
>> From: IOhannes m zmoelnig 
>> Subject: Re: [PD] jMax Phoenix
>> To: pd-list@iem.at
>> Date: Wednesday, September 22, 2010, 6:36 PM
>> On 2010-09-22 16:48, Jonathan Wilkes
>> wrote:
>> >
>> >
>> > expr if(bx<=20, if (py<=by &&
>> py+60>=by, 0, 1), -1);
>> > if (bx>=415, 2, -1);
>> > if (by<=0, 4, if (by>=500, 5, -1))
>> >
>>
>> honestly i find this hard to read as well, esp. compared to
>> traditional
>> C-like syntax:
>>
>> if(bx<=20)
>>   if(py<=by && py+60>=by)
>>     return 0;
>>   else
>>     return 1;
>> if(by>=415)
>>  return 2;
>> else
>>  return -1;
>> if(by<=0)
>>  return 4;
>> else if (by>=500)
>>  return 5;
>
> Yes, Max/MSP's [if] object has a more readable syntax.  Yet even
> with the two nested "ifs" I find it easier to read than your
> implementation because I don't have to look up to the inlet to
> remind myself which list elements correspond to which variable.
>
> I could put comments closer to each object chain, but then that's
> even more objects.
>
>>
>>
>> and as a matter of fact, i don't think the
>> pd-implementation of the
>> algorithm is so bad.
>
> Yes, IMO the way you implemented it is nice because there are
> very few wires crossing over objects.
>
> I'd also mention I find it more difficult to patch your
> implementation because there are 25 objects (not including the
> number boxes), 16 of which correspond to the args of [expr] in
> my implementation.  That's 16 objects for which I have to change
> modes between the mouse (for connections) and the keyboard (for
> text).
>
> With [expr] I find it conceptually easier (and more ergonomic) to
> set up my [v] objects, my [sel], and my [outlet], then code the
> entire algorithm inside one box.
>
> Btw- you can get rid of 3 overlapping wires if you put [value py]
> closest to [unpack 0 0 0] and cascade them that way.
>
> -Jonathan
>
>> the only awkwardness in my implementation i find is the
>>  [*-1]->[moses 0]
>> , which one could simply replace by [moses -1] (supposed we
>> don't care
>> about values between -1 and 0) (or with a
>> [<=0]->[select 1] which i
>> didn't do for conceptual reasons)
>>
>> fgmasdr
>> IOhannes
>>
>> -Inline Attachment Follows-
>>
>> ___
>> Pd-list@iem.at
>> mailing list
>> UNSUBSCRIBE and account-management -> 
>> http://lists.puredata.info/listinfo/pd-list
>>
>
>
>
>
> ___
> Pd-list@iem.at mailing list
> UNSUBSCRIBE and account-management -> 
> http://lists.puredata.info/listinfo/pd-list
>

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


Re: [PD] jMax Phoenix

2010-09-22 Thread Mathieu Bouchard

On Wed, 22 Sep 2010, Jonathan Wilkes wrote:

--- On Wed, 9/22/10, Mathieu Bouchard  wrote:

Btw I started coding [#expr] last week... but I think that
it will take a long time to finish coding it.


Great!
* [#expr 3 / 2] ?


At this point 1.5, and I think I will keep it that way, unless I require 
everything to default to being a grid. I wondered whether I ought to split 
between a float-centric version called [gf/expr] and a grid-centric 
version called [#expr], or have everything together in the same version. 
At this point, though, I only have plain floats.


GridFlow's grids default to int32 (This is because this is the int type in 
jMax. It's also the int type in Max and others except Pd)


* [#expr if $f1 < 3 then $f1 goes to the left outlet else $f1 goes to 
the right outlet] ?


I don't know how this would work. In [expr], the number of outlets depends 
on the number of semicolon-separated expressions, and each triggering of 
[expr] causes them to be evaluated right-to-left. There's no syntax for 
not outputting on an outlet. What do you suggest ?



* [#expr $0-array[$f1] ] ?


I suppose so, but we're far from that.

At this point, [#expr 1000-100-10-1] = 909, and I'm trying to make it so 
that it's 889. It's because (1000-(100-(10-(1 = 909 and 
1000)-100)-10)-1) = 889.


The only supported method is bang and even $f1 doesn't even exist yet.

 ___
| Mathieu Bouchard -- Villeray, Montréal, QC___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-09-22 Thread Jonathan Wilkes


--- On Wed, 9/22/10, Mathieu Bouchard  wrote:

> From: Mathieu Bouchard 
> Subject: Re: [PD] jMax Phoenix
> To: "Jonathan Wilkes" 
> Cc: "Hans-Christoph Steiner" , pd-list@iem.at
> Date: Wednesday, September 22, 2010, 6:09 PM
> On Wed, 22 Sep 2010, Jonathan Wilkes
> wrote:
> 
> > The point is the [expr] object supplies a way to do
> the kind of syntax under discussion, and in certain cases it
> seems necessary to avoid the Max paradigm cliche of
> spaghetti/spider webs.  At least that's my position--
> 
> Btw I started coding [#expr] last week... but I think that
> it will take a long time to finish coding it.

Great!

* [#expr 3 / 2] ?
* [#expr if $f1 < 3 then $f1 goes to the left outlet else 
$f1 goes to the right outlet] ?
* [#expr $0-array[$f1] ] ?
* [#expr $inbox - $spam] ?

-Jonathan


  

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


Re: [PD] jMax Phoenix

2010-09-22 Thread Jonathan Wilkes


--- On Wed, 9/22/10, IOhannes m zmoelnig  wrote:

> From: IOhannes m zmoelnig 
> Subject: Re: [PD] jMax Phoenix
> To: pd-list@iem.at
> Date: Wednesday, September 22, 2010, 6:36 PM
> On 2010-09-22 16:48, Jonathan Wilkes
> wrote:
> > 
> > 
> > expr if(bx<=20, if (py<=by &&
> py+60>=by, 0, 1), -1);
> > if (bx>=415, 2, -1);
> > if (by<=0, 4, if (by>=500, 5, -1))
> > 
> 
> honestly i find this hard to read as well, esp. compared to
> traditional
> C-like syntax:
> 
> if(bx<=20)
>   if(py<=by && py+60>=by)
>     return 0;
>   else
>     return 1;
> if(by>=415)
>  return 2;
> else
>  return -1;
> if(by<=0)
>  return 4;
> else if (by>=500)
>  return 5;

Yes, Max/MSP's [if] object has a more readable syntax.  Yet even 
with the two nested "ifs" I find it easier to read than your 
implementation because I don't have to look up to the inlet to 
remind myself which list elements correspond to which variable.

I could put comments closer to each object chain, but then that's 
even more objects.

> 
> 
> and as a matter of fact, i don't think the
> pd-implementation of the
> algorithm is so bad.

Yes, IMO the way you implemented it is nice because there are 
very few wires crossing over objects.

I'd also mention I find it more difficult to patch your 
implementation because there are 25 objects (not including the 
number boxes), 16 of which correspond to the args of [expr] in 
my implementation.  That's 16 objects for which I have to change 
modes between the mouse (for connections) and the keyboard (for 
text).

With [expr] I find it conceptually easier (and more ergonomic) to 
set up my [v] objects, my [sel], and my [outlet], then code the 
entire algorithm inside one box.

Btw- you can get rid of 3 overlapping wires if you put [value py] 
closest to [unpack 0 0 0] and cascade them that way.

-Jonathan

> the only awkwardness in my implementation i find is the
>  [*-1]->[moses 0]
> , which one could simply replace by [moses -1] (supposed we
> don't care
> about values between -1 and 0) (or with a
> [<=0]->[select 1] which i
> didn't do for conceptual reasons)
> 
> fgmasdr
> IOhannes
> 
> -Inline Attachment Follows-
> 
> ___
> Pd-list@iem.at
> mailing list
> UNSUBSCRIBE and account-management -> 
> http://lists.puredata.info/listinfo/pd-list
> 


  

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


Re: [PD] jMax Phoenix

2010-09-22 Thread Mathieu Bouchard

On Wed, 22 Sep 2010, Maurizio De Cecco wrote:

By the way, jMax expressions are *compile* time expression (actually, 
load time expression), not objects like expr (that exists in jMax, 
coming straight from the ISPW). It is just a way to parametrise an 
abstraction/patch wrt its arguments.


Well, I was comparing to [expr] because the jMax expressions also exist in 
messageboxes, where they behave more like [expr].



Pd is not the end of history for the MAX language,


That's not what I mean, what I mean is that it's more worthwhile to fork 
Pd than to fork (or revive) jMax.


there is still a lot that can be done at the core level. jMax Phoenix is 
a kind of research project; for now, i am trying to make it usable; 
later, to provide strong reasons for using it, at least in some specific 
field or projects.


I think that some of those "core" features could become Pd externals 
(albeit rather unusual ones).


 ___
| Mathieu Bouchard -- Villeray, Montréal, QC___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-09-22 Thread IOhannes m zmoelnig
On 2010-09-22 16:48, Jonathan Wilkes wrote:
> 
> 
> expr if(bx<=20, if (py<=by && py+60>=by, 0, 1), -1);
> if (bx>=415, 2, -1);
> if (by<=0, 4, if (by>=500, 5, -1))
> 

honestly i find this hard to read as well, esp. compared to traditional
C-like syntax:

if(bx<=20)
  if(py<=by && py+60>=by)
return 0;
  else
return 1;
if(by>=415)
 return 2;
else
 return -1;
if(by<=0)
 return 4;
else if (by>=500)
 return 5;


and as a matter of fact, i don't think the pd-implementation of the
algorithm is so bad.
the only awkwardness in my implementation i find is the
 [*-1]->[moses 0]
, which one could simply replace by [moses -1] (supposed we don't care
about values between -1 and 0) (or with a [<=0]->[select 1] which i
didn't do for conceptual reasons)

fgmasdr
IOhannes
#N canvas 358 123 819 607 10;
#X obj 450 138 expr if(bx<=20 \, if (py<=by && py+60>=by \, 0 \, 1)
\, -1) \; if (bx>=415 \, 2 \, -1) \; if (by<=0 \, 4 \, if (by>=500
\, 5 \, -1));
#X floatatom 460 183 5 0 0 0 - - -;
#X floatatom 604 186 5 0 0 0 - - -;
#X floatatom 759 184 5 0 0 0 - - -;
#X obj 503 75 value bx;
#X obj 537 95 value by;
#X obj 572 115 value py;
#X obj 450 33 t b l;
#X obj 205 192 moses 415;
#X msg 256 213 2;
#X obj 256 234 t f;
#X floatatom 266 255 5 0 0 0 - - -;
#X obj 312 195 moses 500;
#X msg 383 257 5;
#X obj 312 216 * -1;
#X obj 312 237 moses 0;
#X obj 351 279 t f;
#X floatatom 357 300 5 0 0 0 - - -;
#X obj 205 167 t f;
#X obj 312 162 t f;
#X obj 73 186 <= 20;
#X obj 142 258 t f f;
#X obj 73 -29 inlet bx by py;
#X obj 503 55 unpack 0 0 0;
#X obj 73 165 unpack 0 0 0;
#X obj 169 277 + 60;
#X obj 107 279 t f f;
#X obj 107 321 *;
#X obj 73 -8 t l l;
#X obj 205 137 unpack 0 0 0;
#X obj 73 112 t l l;
#X msg 351 257 4;
#X obj 107 342 == 0;
#X obj 134 300 <=;
#X obj 107 300 >=;
#X obj 256 411 t f;
#X floatatom 351 462 5 0 0 0 - - -;
#X floatatom 73 409 5 0 0 0 - - -;
#X obj 73 207 select 1;
#X obj 351 480 t f;
#X obj 351 501 outlet;
#X obj 450 230 t f;
#X obj 450 251 select -1;
#X obj 73 366 f;
#X obj 501 404 t f;
#X floatatom 501 460 5 0 0 0 - - -;
#X obj 501 478 t f;
#X obj 501 499 outlet;
#X connect 0 0 1 0;
#X connect 0 0 41 0;
#X connect 0 1 2 0;
#X connect 0 1 41 0;
#X connect 0 2 3 0;
#X connect 0 2 41 0;
#X connect 7 0 0 0;
#X connect 7 1 23 0;
#X connect 8 1 9 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 10 0 35 0;
#X connect 12 0 14 0;
#X connect 12 1 13 0;
#X connect 13 0 16 0;
#X connect 14 0 15 0;
#X connect 15 1 31 0;
#X connect 16 0 17 0;
#X connect 16 0 35 0;
#X connect 18 0 8 0;
#X connect 19 0 12 0;
#X connect 20 0 38 0;
#X connect 21 0 34 1;
#X connect 21 1 25 0;
#X connect 22 0 28 0;
#X connect 23 0 4 0;
#X connect 23 1 5 0;
#X connect 23 2 6 0;
#X connect 24 0 20 0;
#X connect 24 1 26 0;
#X connect 24 2 21 0;
#X connect 25 0 33 1;
#X connect 26 0 34 0;
#X connect 26 1 33 0;
#X connect 27 0 32 0;
#X connect 28 0 30 0;
#X connect 28 1 7 0;
#X connect 29 0 18 0;
#X connect 29 1 19 0;
#X connect 30 0 24 0;
#X connect 30 1 29 0;
#X connect 31 0 16 0;
#X connect 32 0 43 1;
#X connect 33 0 27 1;
#X connect 34 0 27 0;
#X connect 35 0 36 0;
#X connect 36 0 39 0;
#X connect 38 0 43 0;
#X connect 39 0 40 0;
#X connect 41 0 42 0;
#X connect 42 1 44 0;
#X connect 43 0 35 0;
#X connect 43 0 37 0;
#X connect 44 0 45 0;
#X connect 45 0 46 0;
#X connect 46 0 47 0;


smime.p7s
Description: S/MIME Cryptographic Signature
___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-09-22 Thread Maurizio De Cecco

>On Wed, 22 Sep 2010, Maurizio De Cecco wrote:
>
>> For the record, jMax Phoenix support the jMax 2.x API, not the 4; the 
>> APIs are extended wrt 2.x, but in a backward compatible way.
>
>Ah, that's good. What motivated you to go back to the 2.x API ?

Well, the biggest motivation for working of jMax was my personal pleasure;
essentially, jMax was one of most interesting software project i worked in.
So, i simply forked from the day (more or less) i left Ircam, and started
where i left over; essentially, from *my* code base :->, and that was jMax 2.x.

For the rest about jMax 4; i really know nothing about it; it is true that
in the jMax history the development team was not really bright in listening
the needs of the users, but its seems that they got really crazy :->.

By the way, jMax expressions are *compile* time expression (actually,
load time expression), not objects like expr (that exists in jMax, coming
straight from the ISPW). It is just a way to parametrise an abstraction/patch 
wrt 
its arguments.

>> The point is not to be competitive with pd, is more matter to see things 
>> going on, and produce new ideas and system that may have their role and 
>> use.
>
>If it can't compete with Pd, then it can't be very relevant.
>
>jMax has its upsides, but people will use Pd anyway, because Pd has more 
>upsides.

Pd is not the end of history for the MAX language, there is still a lot that 
can be done at the core level. jMax Phoenix is a kind of research project; for 
now, i am trying to make it
usable; later, to provide strong reasons for using it, at least in some 
specific field or projects.

Maurizio

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


Re: [PD] jMax Phoenix

2010-09-22 Thread Mathieu Bouchard

On Wed, 22 Sep 2010, Jonathan Wilkes wrote:

The point is the [expr] object supplies a way to do the kind of syntax 
under discussion, and in certain cases it seems necessary to avoid the 
Max paradigm cliche of spaghetti/spider webs.  At least that's my 
position--


Btw I started coding [#expr] last week... but I think that it will take a 
long time to finish coding it.


 ___
| Mathieu Bouchard -- Villeray, Montréal, QC___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-09-22 Thread Mathieu Bouchard

On Wed, 22 Sep 2010, Maurizio De Cecco wrote:

For the record, jMax Phoenix support the jMax 2.x API, not the 4; the 
APIs are extended wrt 2.x, but in a backward compatible way.


Ah, that's good. What motivated you to go back to the 2.x API ?

I would call it a bug (even fatal), no a showstopper; ok, a fatal bug 
*is* a showstopper if there is nobody able to fix it :->, or anybody 
there to listen to complaints, but now there is.


The syntax has changed such that [myclass + 42] is a syntax error caused 
by a new feature, so it doesn't look very fixable. I needed to pass the 
plus-sign as $1, and 42 as $2.


I didn't want to go through all my patches changing + to "add" and * to 
"mul" (etc) and I didn't want to have to use it like that, especially 
while Pd allowed me to keep the same syntax... In the end, for me, the 
transition from jMax2 to Pd was smoother than from jMax2 to jMax4.


But it doesn't matter to me now, as my code doesn't support jMax since 
2004 or 2005, ... it's all far behind now.



For example, using the new paradigm there would be *no* need of something 
equivalent
to the pd '$0-foo';


In jMax4 all receive-symbols were local. Not only that's completely 
incompatible with jMax2, that's another feature removal because there was 
no way to have global receive-symbols.


In the process, we probably throw away the baby with the bath water, wrt 
simplicity of the language.


Simplicity of the language isn't completely necessary, and it often pays 
off to have complex syntax, but simple syntax pays off too, in different 
situations. Because of this, for example, Pd has [expr], and Tcl has 
[expr] too. Both cases are remarkably similar because the [expr] of each 
language is there to complement a simple syntax language with a complex 
syntax component.


The point is not to be competitive with pd, is more matter to see things 
going on, and produce new ideas and system that may have their role and 
use.


If it can't compete with Pd, then it can't be very relevant.

jMax has its upsides, but people will use Pd anyway, because Pd has more 
upsides.


 ___
| Mathieu Bouchard -- Villeray, Montréal, QC___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-09-22 Thread Jonathan Wilkes


--- On Wed, 9/22/10, Hans-Christoph Steiner  wrote:

> From: Hans-Christoph Steiner 
> Subject: Re: [PD] jMax Phoenix
> To: "Mathieu Bouchard" 
> Cc: pd-list@iem.at
> Date: Wednesday, September 22, 2010, 8:01 AM
> 
> On Sep 21, 2010, at 6:36 PM, Mathieu Bouchard wrote:
> 
> > On Tue, 21 Sep 2010, Maurizio De Cecco wrote:
> > 
> >> Given the fact that jMax slept a few years, it
> cannot compete with puredata in terms of available
> libraries, patches, and in general maturity of the
> solution.
> > 
> > No, it wasn't in this order : first it already
> couldn't compete with PureData, AND THEN jMax 4 appeared,
> which finished killing it, as the API was all different and
> no-one bothered porting externals to it (well, I tried, and
> I had to give up because some features had been removed from
> jMax). By the time the project was called dead, everybody
> had already switched to Pd or was in the process of doing
> so.
> > 
> >> 6) The language: jMax support the use of
> expressions in object definition, like in | int ( 10 + $foo)
> | so that objects in abstractions can be parametrised with
> respect to the arguments.
> > 
> > I gave up jMax because this feature was introduced.
> This is because it removed the possibility to pass an
> arithmetic operator as an argument. It was a showstopper for
> me.
> 
> I agree for different reasons.  This syntax does seem
> overly complicated and takes away from one of the things I
> like best about the Max paradigm: really simple syntax.
> 
> .hc

Here's a left-paddled pong engine using the [expr] object:

expr if(bx<=20, if (py<=by && py+60>=by, 0, 1), -1);
if (bx>=415, 2, -1);
if (by<=0, 4, if (by>=500, 5, -1))

0 = left paddle hit
1 = left paddle miss
2 = richochet off right wall
3 = die at right paddle (to be implemented)
4 = richochet off top
5 = richochet off bottom

I've got three variables being used in the conditionals, all of 
which come from [value] objects.  Also, 
I'm sending a bogus value -1 for the "else" clause that expr's 
if operator tries to force on me-- this keeps from having to nest 
an "if" two levels deep, which becomes hard to read.  So 
at the end all I need is [sel 0 1 2 3 4 5] and everything is 
clear.

The point is the [expr] object supplies a way to do the kind of 
syntax under discussion, and in certain cases it seems necessary 
to avoid the Max paradigm cliche of spaghetti/spider webs.  At 
least that's my position-- if someone can patch my expr statement above without 
expr where a) objects don't overlap much and b) the 
patch is compact enough that it can be read at a glance, then I'm 
happy to be wrong.

-Jonathan


  

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


Re: [PD] jMax Phoenix

2010-09-22 Thread Maurizio De Cecco

>>> Given the fact that jMax slept a few years, it cannot compete with  
>>> puredata in terms of available libraries, patches, and in general  
>>> maturity of the solution.
>>
>> No, it wasn't in this order : first it already couldn't compete with  
>> PureData, AND THEN jMax 4 appeared, which finished killing it, as  
>> the API was all different and no-one bothered porting externals to  
>> it (well, I tried, and I had to give up because some features had  
>> been removed from jMax). By the time the project was called dead,  
>> everybody had already switched to Pd or was in the process of doing  
>> so.

Well, as i said, i left Ircam around the 2.x version, just before
the public announce of the GPL version. I am not familiar with what
happened after that, including the history of jMax 4, that i read
on the WikiPedia :->.

I know anyway that it was kind of sleepy; while under a GPL license
it was never a community project, because driven by the internal Ircam
needs, and even that wasn't very clear.

For the record, jMax Phoenix support the jMax 2.x API, not the 4; the APIs
are extended wrt 2.x, but in a backward compatible way.

>>> 6) The language: jMax support the use of expressions in object  
>>> definition, like in | int ( 10 + $foo) | so that objects in  
>>> abstractions can be parametrised with respect to the arguments.
>>
>> I gave up jMax because this feature was introduced. This is because  
>> it removed the possibility to pass an arithmetic operator as an  
>> argument. It was a showstopper for me.

I would call it a bug (even fatal), no a showstopper; ok, a fatal bug *is* a 
showstopper if 
there is nobody able to fix it :->, or anybody there to listen to complaints,
but now there is. 

>I agree for different reasons.  This syntax does seem overly  
>complicated and takes away from one of the things I like best about  
>the Max paradigm: really simple syntax.

Well, i have two different answers: the first is, yes, the syntax is overly
complex: $args[1] instead of $1 make an object description unreadeable. There 
is another
point: the syntax was built to complement a different paradigm for sharing data
between objects; this paradigm was never exploited by a reasonable object set,
so we are left with a syntax that would be adequate for objects using the new
paradigm, but it is very heavy for objects not using the paradigm.

For example, using the new paradigm there would be *no* need of something 
equivalent
to the pd '$0-foo'; but since the new paradigm is not used by the object set, 
the $0 is still needed,
but in the new syntax is a nightmare today (something like ( $__ + "foo" ) ), 
and just
impossible at the time.

On the other side, the complex syntax allows to do things that simpler syntax 
do not allows;
the point is that simple things should be simple to do, and complex things may 
require more
complex syntax; the syntax design failed to do this, but there is still room 
for improvement,
if anyway want to discuss the subject and help the poor designer :->.

Actually, the point of view taken by jMax is/was the following: the main 
customers where
people, inside the organisation, spending one year or more designing a single 
library of abstractions
for jMax. In this context, the ability to industrialise the development and 
having more expressive
power to simplify these developments were essential. The goal was to make this 
abstractions
easier to use, in terms of patch programming and in terms of logistic and 
infrastructure.

In the process, we probably throw away the baby with the bath water, wrt 
simplicity of the language.
I know, i was the guy implemented all this, with Norber Schnell doing the 
specifications.

Now, all this is 10 years ago; i now works on jMax for fun, i am free to listen 
critics
and to make the system evolve; i would be more than happy to discuss the 
subjects in more
details (may be in private or elsewhere). 

The point is not to be competetitive with pd, is more matter to see things 
going on, and
produce new ideas and system that may have their role and use.


>> You too write "Max OS X" instead of "Mac OS X" ? Is this a virus you  
>> caught from Miller ? ;)

Uh, so that is where it came from .. i was wondering :->

Maurizio De Cecco


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


Re: [PD] jMax Phoenix

2010-09-21 Thread Hans-Christoph Steiner


On Sep 21, 2010, at 6:36 PM, Mathieu Bouchard wrote:


On Tue, 21 Sep 2010, Maurizio De Cecco wrote:

Given the fact that jMax slept a few years, it cannot compete with  
puredata in terms of available libraries, patches, and in general  
maturity of the solution.


No, it wasn't in this order : first it already couldn't compete with  
PureData, AND THEN jMax 4 appeared, which finished killing it, as  
the API was all different and no-one bothered porting externals to  
it (well, I tried, and I had to give up because some features had  
been removed from jMax). By the time the project was called dead,  
everybody had already switched to Pd or was in the process of doing  
so.


6) The language: jMax support the use of expressions in object  
definition, like in | int ( 10 + $foo) | so that objects in  
abstractions can be parametrised with respect to the arguments.


I gave up jMax because this feature was introduced. This is because  
it removed the possibility to pass an arithmetic operator as an  
argument. It was a showstopper for me.


I agree for different reasons.  This syntax does seem overly  
complicated and takes away from one of the things I like best about  
the Max paradigm: really simple syntax.


.hc




the 0.6 beta release; it does not mention the Max OS X version,  
that was not ready at the time.


You too write "Max OS X" instead of "Mac OS X" ? Is this a virus you  
caught from Miller ? ;)


___
| Mathieu Bouchard -- Villeray,  
Montréal, QC___

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






As we enjoy great advantages from inventions of others, we should be  
glad of an opportunity to serve others by any invention of ours; and  
this we should do freely and generously. - Benjamin Franklin




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


Re: [PD] jMax Phoenix

2010-09-21 Thread Mathieu Bouchard

On Tue, 21 Sep 2010, Maurizio De Cecco wrote:

Given the fact that jMax slept a few years, it cannot compete with 
puredata in terms of available libraries, patches, and in general 
maturity of the solution.


No, it wasn't in this order : first it already couldn't compete with 
PureData, AND THEN jMax 4 appeared, which finished killing it, as the API 
was all different and no-one bothered porting externals to it (well, I 
tried, and I had to give up because some features had been removed from 
jMax). By the time the project was called dead, everybody had already 
switched to Pd or was in the process of doing so.


6) The language: jMax support the use of expressions in object 
definition, like in | int ( 10 + $foo) | so that objects in abstractions 
can be parametrised with respect to the arguments.


I gave up jMax because this feature was introduced. This is because it 
removed the possibility to pass an arithmetic operator as an argument. It 
was a showstopper for me.


the 0.6 beta release; it does not mention the Max OS X version, that was 
not ready at the time.


You too write "Max OS X" instead of "Mac OS X" ? Is this a virus you 
caught from Miller ? ;)


 ___
| Mathieu Bouchard -- Villeray, Montréal, QC___
Pd-list@iem.at mailing list
UNSUBSCRIBE and account-management -> 
http://lists.puredata.info/listinfo/pd-list


Re: [PD] jMax Phoenix

2010-09-21 Thread ALAN BROOKER
Hi Maurizio

Really interesting news- Im going to check it out- Iv always kept an eye on
jmax and really glad to see it coming back !

On Tue, Sep 21, 2010 at 9:11 PM, Maurizio De Cecco wrote:

> Hallo,
>
> my name is Maurizio De Cecco, and i am the maintainer and developper of the
> jMax Phoenix project,
> a kind of cousin of Puredata. Having release a new beta for jMax (on Linux
> and Mac OS X), and after
> discussing with Miller Puckette, i think the members of this list may be
> interested in knowing more
> about the project, and may be take a look.
>
> A bit of history: i worked in Ircam in the 90s, where i was lucky enough to
> work with Miller Puckette
> on Max/ISPW and following versions; i then worked on jMax, that was
> intended to be a 'next generation'
> Max for the Ircam projects; jMax was used in a few large productions; i
> left in 99 for pursing other
> interest (Linux Mandrake, at that time :), and forgot for a while about
> jMax.
>
> In the meanwhile, jMax was put under a GPL licence, and after a couple of
> years Ircam stopped its development
> (don't ask me why, i wasn't there).
>
> In 2008 i was getting severely bored: server side Java, quality indicators
> and software engineering was my daily bread, and no code to write; so, to
> keep my developer mind healthy, i took up the development
> of jMax, starting from the last release i worked on.
>
> Given the fact that jMax slept a few years, it cannot compete with puredata
> in terms of available libraries,
> patches, and in general maturity of the solution.
>
> But it have its own peculiarity, a number of different ideas, and having a
> code base but no users (yet, i hope:)
> allows some bold design decision to be taken; think of jMax Phoenix as a
> kind of research project in same family where Puredata is.
>
> Describing the differences between jMax and Puredata would be long, because
> it would need to go back
> to the original developments; to be very synthetic  i would resume in the
> following:
>
> 1) Architecture: the jMax user interface run on a different process, and it
> written in Java.
>
> 2)  APIs are completely different, but see below.
>
> 3) The Object Set is reduced to the old ISPW object set; jMax can also
> transparently include LADSPA plugins as objects; finally, i developped
> compatibility layer (to be completed) that allows to recompile simple pd
> objects for jMax, and possibly to load pd abstractions.
>
> 4) User Interface: there is a lot of work going on in the UI, that allows,
> between other, the used of a single window IDE style interface.
>
> 5) Packaging and configuration: jMax Phoenix support the packaging
> of complex libraries and applications in a single file, and even
> automatically grab libraries from the internet.
>
> 6) The language: jMax support the use of expressions in object definition,
> like in | int ( 10 + $foo) | so that objects in abstractions can be
> parametrised with respect to the arguments.
>
> 7) Hopefully in between 6 month and a year: an optimising dsp compiler
> and engine able to run a patch in parallel on multiple core (where multiple
> means around 8).
>
> For anybody more interested, the project site is
> http://www.jmax-phoenix.org/, and the
> binaries and sources can be loaded from the project sourceforge site,
> http://sourceforge.net/projects/jmax-phoenix/
>
> For your information, i include at the end of the mail the formal announce
> of the 0.6 beta release; it does not mention the Max OS X version, that was
> not ready at the time.
>
> Maurizio
>
> -
>
> After many month of development, we are proud to announce the version 0.6
> beta of jMax Phoenix.
>
> The major highlights for this version are:
>  - A first version of the puredata source compatibility kit, including the
> build system and a full example of recompiled object library.
>  - A large set of usability bug fixed; all the bugs preventing a smooth
> work flow have been fixed.
>  - Error handling improvements: most of the bugs and configuration errors
> now results in error messages, and not unexplained freezes.
>  - A set of examples and tutorials has been recovered from old ISPW
> archives; they are not updated to include all the major jMax
> functionalities, but it is better than nothing.
>
> Full release notes are available in the release notes section of the projet
> site.
>
> This release has been tested on Ubuntu and Ubuntu Studio 10.04, Debian 5,
> Fedora 13 and Mandriva Spring 2010; check the installation
> instruction on the projet site for specific caveats for Debian and Fedora.
>
> The Puredata compatibility sub-project has been *very* time consuming; in
> order to better manage my scarce time resources,
> we need some user feedback (and possibly help) to be able to evaluate the
> actual interest of pursuing this development direction.
>
> For more information and download and installation instructions go to
> http://www.jmax-ph

[PD] jMax Phoenix

2010-09-21 Thread Maurizio De Cecco

Hallo,

my name is Maurizio De Cecco, and i am the maintainer and developper of 
the jMax Phoenix project,
a kind of cousin of Puredata. Having release a new beta for jMax (on 
Linux and Mac OS X), and after
discussing with Miller Puckette, i think the members of this list may be 
interested in knowing more

about the project, and may be take a look.

A bit of history: i worked in Ircam in the 90s, where i was lucky enough 
to work with Miller Puckette
on Max/ISPW and following versions; i then worked on jMax, that was 
intended to be a 'next generation'
Max for the Ircam projects; jMax was used in a few large productions; i 
left in 99 for pursing other
interest (Linux Mandrake, at that time :), and forgot for a while about 
jMax.


In the meanwhile, jMax was put under a GPL licence, and after a couple 
of years Ircam stopped its development

(don't ask me why, i wasn't there).

In 2008 i was getting severely bored: server side Java, quality 
indicators and software engineering was my daily bread, and no code to 
write; so, to keep my developer mind healthy, i took up the development

of jMax, starting from the last release i worked on.

Given the fact that jMax slept a few years, it cannot compete with 
puredata in terms of available libraries,

patches, and in general maturity of the solution.

But it have its own peculiarity, a number of different ideas, and having 
a code base but no users (yet, i hope:)
allows some bold design decision to be taken; think of jMax Phoenix as a 
kind of research project in same family where Puredata is.


Describing the differences between jMax and Puredata would be long, 
because it would need to go back
to the original developments; to be very synthetic  i would resume in 
the following:


1) Architecture: the jMax user interface run on a different process, and 
it written in Java.


2)  APIs are completely different, but see below.

3) The Object Set is reduced to the old ISPW object set; jMax can also 
transparently include LADSPA plugins as objects; finally, i developped 
compatibility layer (to be completed) that allows to recompile simple pd 
objects for jMax, and possibly to load pd abstractions.


4) User Interface: there is a lot of work going on in the UI, that 
allows, between other, the used of a single window IDE style interface.


5) Packaging and configuration: jMax Phoenix support the packaging
of complex libraries and applications in a single file, and even 
automatically grab libraries from the internet.


6) The language: jMax support the use of expressions in object 
definition, like in | int ( 10 + $foo) | so that objects in abstractions 
can be parametrised with respect to the arguments.


7) Hopefully in between 6 month and a year: an optimising dsp compiler
and engine able to run a patch in parallel on multiple core (where 
multiple means around 8).


For anybody more interested, the project site is 
http://www.jmax-phoenix.org/, and the
binaries and sources can be loaded from the project sourceforge site, 
http://sourceforge.net/projects/jmax-phoenix/


For your information, i include at the end of the mail the formal 
announce of the 0.6 beta release; it does not mention the Max OS X 
version, that was not ready at the time.


Maurizio

-

After many month of development, we are proud to announce the version 
0.6 beta of jMax Phoenix.


The major highlights for this version are:
  - A first version of the puredata source compatibility kit, including 
the build system and a full example of recompiled object library.
  - A large set of usability bug fixed; all the bugs preventing a 
smooth work flow have been fixed.
  - Error handling improvements: most of the bugs and configuration 
errors now results in error messages, and not unexplained freezes.
  - A set of examples and tutorials has been recovered from old ISPW 
archives; they are not updated to include all the major jMax 
functionalities, but it is better than nothing.


Full release notes are available in the release notes section of the 
projet site.


This release has been tested on Ubuntu and Ubuntu Studio 10.04, Debian 
5, Fedora 13 and Mandriva Spring 2010; check the installation

instruction on the projet site for specific caveats for Debian and Fedora.

The Puredata compatibility sub-project has been *very* time consuming; 
in order to better manage my scarce time resources,
we need some user feedback (and possibly help) to be able to evaluate 
the actual interest of pursuing this development direction.


For more information and download and installation instructions go to
http://www.jmax-phoenix.org/.

For contacting the project team: cont...@jmax-phoenix.org

The jMax Phoenix team

__
Maurizio De Cecco  -
Music:http://www.myspace.com/mauriziodececco
Blog: http://maurizio.dececco.name/
Software: http://www.jmax-phoenix.org/


___
Pd-list@iem.at mai