I didnt know you could have two [array define] with the same name without 
printing "warning: arrayname: multiply defined", and this feels like a bug to 
me, because what's the use case here? I treid using [array set] and it only did 
set one of the arrays... (the first one)

The use is to warn you against using multiple [array define]'s of the same 
name! That's a dangerous thing to do, since you're never going to know which 
array is being used (unless you happen to remember which one you created first).

There are two possibilities: either you want each instance of the array to be 
unique. In that case, use $0. Or, you want only one array. In that case, put it 
outside the abstraction.

well, by using [array set] it gives you the "warning: arrayname: multiply 
defined", so there you go... I say this is not "value" behaviour, as you still 
only have one defined array to access

PD is complaining that you have multiple [array define]'s, not multiple [array 
set]'s. You can have as many [array set]'s of the same name as you want.

However, you're right that it seems to take an [array set] to trigger this 
warning message, which is a bit confusing.

________________________________
From: Alexandre Torres Porres <[email protected]>
Sent: 07 May 2018 19:11
To: Liam Goodacre
Cc: Pd-list
Subject: Re: [PD] static array/text

I didnt know you could have two [array define] with the same name without 
printing "warning: arrayname: multiply defined", and this feels like a bug to 
me, because what's the use case here? I treid using [array set] and it only did 
set one of the arrays... (the first one)

2018-05-07 13:41 GMT-03:00 Liam Goodacre 
<[email protected]<mailto:[email protected]>>:
Seems like the "value behaviour" is something that could be implemented in 
[array define] with a new flag, right?

Correct me if I'm wrong, but the [array] objects already have [value] like 
behavior, in that you can have multiple objects referencing the same array. The 
difference is that with [value], the reference is implicit while with [array] 
it is explicit (ie. [array define]).

The only thing a flag could do would be to tell [array define] to accept the 
first instance of a particular argument and reject the rest. But this would 
lead to a lot of confusion since you could have lots of empty [array define]'s 
scattered around the place.

The best solution is surely to put the array in a parent patch of the 
abstraction. If you don't mind putting it there yourself, you can do as Ingo 
suggested. If you want it to happen automatically, then there are neat dynamic 
patching solutions available.

________________________________
From: Pd-list 
<[email protected]<mailto:[email protected]>> on behalf 
of Alexandre Torres Porres <[email protected]<mailto:[email protected]>>
Sent: 07 May 2018 15:46
To: Pd-list
Subject: Re: [PD] static array/text

Seems like the "value behaviour" is something that could be implemented in 
[array define] with a new flag, right?

2018-05-07 10:19 GMT-03:00 Antoine Rousseau 
<[email protected]<mailto:[email protected]>>:
In moonlib you can find [sarray] and [slist], which implement the [value] 
behaviour (i.e multiple declarations of a shared data) for array and list of 
symbols.
They are also dynamically re-assignable.


Antoine Rousseau
  http://www.metalu.net<http://metalu.net> __ 
http://www.metaluachahuter.com/<http://www.metaluachahuter.com/compagnies/al1-ant1/>


2018-05-07 13:47 GMT+02:00 Ingo Stock 
<[email protected]<mailto:[email protected]>>:
Maybe you can just put the text/array object into the main file, like in
the attached demo?

best, ingo


On 05/07/2018 12:02 AM, Dan Wilcox wrote:
> Is there one way to define a "static" table or text data that can be
> shared among abstractions? I have a few abstractions which use lookup
> tables and I realize now that they are basically creating a copy with
> each instance when they could really share the same data directly. I
> suppose this would be somewhat related to [value].
>
> --------
> Dan Wilcox
> @danomatika <http://twitter.com/danomatika>
> danomatika.com<http://danomatika.com> <http://danomatika.com>
> robotcowboy.com<http://robotcowboy.com> <http://robotcowboy.com>
>
>
>
>
>
> _______________________________________________
> [email protected]<mailto:[email protected]> mailing list
> UNSUBSCRIBE and account-management -> 
> https://lists.puredata.info/listinfo/pd-list
>

_______________________________________________
[email protected]<mailto:[email protected]> mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list



_______________________________________________
[email protected]<mailto:[email protected]> mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list



_______________________________________________
[email protected]<mailto:[email protected]> mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list


_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list

Reply via email to