I just had a thought, since Pd-0.38.4-extended is basically ready for a real release (finally), it'll probably be around for a while. I was thinking that it would be worthwhile to do a backport of [list] from 0.39-2.
Crazy? AFAIK, it should just be a matter of making pd/src/x_list.c an external and removing the old dummy [list] from 0.38.4. The question is: where is the dummy list defined?
.hc
________________________________________________________________________ ____
"[W]e have invented the technology to eliminate scarcity, but we are deliberately throwing it away to benefit those who profit from scarcity." -John Gilmore
On Thu, 2 Feb 2006, Hans-Christoph Steiner wrote:
Crazy? AFAIK, it should just be a matter of making pd/src/x_list.c an external and removing the old dummy [list] from 0.38.4. The question is: where is the dummy list defined?
It's not defined.
[list foo] = [symbol foo] [list 666] = [float 666] [list] = [bang]
just ask ;objectmaker !
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
On Feb 2, 2006, at 6:03 PM, Mathieu Bouchard wrote:
On Thu, 2 Feb 2006, Hans-Christoph Steiner wrote:
Crazy? AFAIK, it should just be a matter of making pd/src/x_list.c an external and removing the old dummy [list] from 0.38.4. The question is: where is the dummy list defined?
It's not defined.
[list foo] = [symbol foo] [list 666] = [float 666] [list] = [bang]
just ask ;objectmaker !
So I guess you are saying that backporting would not be so simple. Or how would get around that?
.hc
________________________________________________________________________ ____
"The arc of history bends towards justice." - Dr. Martin Luther King, Jr.
On Thu, 2 Feb 2006, Hans-Christoph Steiner wrote:
On Feb 2, 2006, at 6:03 PM, Mathieu Bouchard wrote:
It's not defined.
[list foo] = [symbol foo] [list 666] = [float 666] [list] = [bang]
just ask ;objectmaker !
So I guess you are saying that backporting would not be so simple.
No, I'm not saying that.
Or how would get around that?
By defining a class called "list".
What happens is that Pd sees that you are trying to send a "list" message to receive-symbol objectmaker but that it doesn't have a "list" method, so pd attempts to replace the selector by one of "bang" "float" "symbol" "pointer".
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
On Feb 3, 2006, at 12:00 AM, Mathieu Bouchard wrote:
On Thu, 2 Feb 2006, Hans-Christoph Steiner wrote:
On Feb 2, 2006, at 6:03 PM, Mathieu Bouchard wrote:
It's not defined.
[list foo] = [symbol foo] [list 666] = [float 666] [list] = [bang]
just ask ;objectmaker !
So I guess you are saying that backporting would not be so simple.
No, I'm not saying that.
Or how would get around that?
By defining a class called "list".
What happens is that Pd sees that you are trying to send a "list" message to receive-symbol objectmaker but that it doesn't have a "list" method, so pd attempts to replace the selector by one of "bang" "float" "symbol" "pointer".
Hmm, so what do I need to do to include [list] in 0.38.4? It doesn't work compiled as a single object, and it doesn't work if I compile it as part of Pd.
There is still the old behavior, [list] == [bang], etc.
.hc
________________________________________________________________________ ____
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
On Fri, 3 Feb 2006, Hans-Christoph Steiner wrote:
Hmm, so what do I need to do to include [list] in 0.38.4? It doesn't work compiled as a single object, and it doesn't work if I compile it as part of Pd.
There is still the old behavior, [list] == [bang], etc.
hmmm, do you use gensym("list") or &s_list ? try the latter, just in case... and if they're different, i'd call it a bug.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada
On Feb 3, 2006, at 12:21 AM, Mathieu Bouchard wrote:
On Fri, 3 Feb 2006, Hans-Christoph Steiner wrote:
Hmm, so what do I need to do to include [list] in 0.38.4? It doesn't work compiled as a single object, and it doesn't work if I compile it as part of Pd.
There is still the old behavior, [list] == [bang], etc.
hmmm, do you use gensym("list") or &s_list ? try the latter, just in case... and if they're different, i'd call it a bug.
void list_setup(void) { alist_setup(); list_append_setup(); list_prepend_setup(); list_split_setup(); list_trim_setup(); class_addcreator((t_newmethod)list_new, &s_list, A_GIMME, 0); }
[list trim] gives me a symbol, altho there is this:
list_trim_class = class_new(gensym("list trim"), (t_newmethod)list_trim_new, 0, sizeof(t_list_trim), 0, 0);
[list split] gives me a symbol, but [list split 4] works:
list_split_class = class_new(gensym("list split"), (t_newmethod)list_split_new, 0, sizeof(t_list_split), 0, A_DEFFLOAT, 0);
But once it loads, then it works everywhere. So you can just load it as a library, then it works fine. So that's how its going to work...
.hc
________________________________________________________________________ ____
There is no way to peace, peace is the way. -A.J. Muste
On Fri, 3 Feb 2006, Hans-Christoph Steiner wrote:
[list trim] gives me a symbol, altho there is this: list_trim_class = class_new(gensym("list trim"), (t_newmethod)list_trim_new, 0, sizeof(t_list_trim), 0, 0);
[list split] gives me a symbol, but [list split 4] works: list_split_class = class_new(gensym("list split"), (t_newmethod)list_split_new, 0, sizeof(t_list_split), 0, A_DEFFLOAT, 0);
But once it loads, then it works everywhere. So you can just load it as a library, then it works fine. So that's how its going to work...
I don't remember, did I say that the class names like "list trim" and "list split" are bogus and that the sole thing that matter is the constructor? [list] is not a class, it's a façade for the different classes. Basically, all classes with a space inside their name can be counted as anonymous, but there are funny ways to construct them using [l2s] or [sprintf] and dynamic object creation.
_ _ __ ___ _____ ________ _____________ _____________________ ... | Mathieu Bouchard - tél:+1.514.383.3801 - http://artengine.ca/matju | Freelance Digital Arts Engineer, Montréal QC Canada