[PD] static array/text

Ingo Stock mail at ingostock.de
Mon May 7 21:00:32 CEST 2018


Here is a method where the arrays are defined within the abstractions,
but every abstraction is just using the one defined in the first
abstraction.

I am not sure why there is an error when you open the abstraction file
on its own, as $1 should resolve to zero, but other than that the method
should work fine.

best, ingo


On 05/07/2018 08:22 PM, Liam Goodacre wrote:
>     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 <porres at gmail.com>
> *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 <liamg_uw at hotmail.com
> <mailto:liamg_uw at hotmail.com>>:
> 
>         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 <pd-list-bounces at lists.iem.at
>     <mailto:pd-list-bounces at lists.iem.at>> on behalf of Alexandre Torres
>     Porres <porres at gmail.com <mailto:porres at gmail.com>>
>     *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 <antoine at metalu.net
>     <mailto:antoine at metalu.net>>:
> 
>         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 <mail at ingostock.de
>         <mailto:mail at ingostock.de>>:
> 
>             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>
>             >
>             >
>             >
>             >
>             >
>             > _______________________________________________
>             > Pd-list at lists.iem.at <mailto:Pd-list at lists.iem.at> mailing
>             list
>             > UNSUBSCRIBE and account-management ->
>             https://lists.puredata.info/listinfo/pd-list
>             <https://lists.puredata.info/listinfo/pd-list>
>             >
> 
>             _______________________________________________
>             Pd-list at lists.iem.at <mailto:Pd-list at lists.iem.at> mailing list
>             UNSUBSCRIBE and account-management ->
>             https://lists.puredata.info/listinfo/pd-list
>             <https://lists.puredata.info/listinfo/pd-list>
> 
> 
> 
>         _______________________________________________
>         Pd-list at lists.iem.at <mailto:Pd-list at lists.iem.at> mailing list
>         UNSUBSCRIBE and account-management ->
>         https://lists.puredata.info/listinfo/pd-list
>         <https://lists.puredata.info/listinfo/pd-list>
> 
> 
> 
>     _______________________________________________
>     Pd-list at lists.iem.at <mailto:Pd-list at lists.iem.at> mailing list
>     UNSUBSCRIBE and account-management ->
>     https://lists.puredata.info/listinfo/pd-list
>     <https://lists.puredata.info/listinfo/pd-list>
> 
> 
> 
> 
> _______________________________________________
> Pd-list at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: demo2.zip
Type: application/zip
Size: 537 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20180507/eb06bbc7/attachment.zip>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20180507/eb06bbc7/attachment.sig>


More information about the Pd-list mailing list