I'm pretty sure that the [tab*] objects just point into existing arrays rather than copying them. Each time [tabread] receives a float, for instance, it checks to see if the array it has been set to read from exists, and if so, updates a pointer to the indicated index of the array, and grabs the float stored there.
On Sun, Sep 20, 2015 at 6:22 PM, oscar pablo di liscia odiliscia@gmail.com wrote:
Hi list. I have a question on allocating data and reading it through an external. As I have seen so far, the externals that reads arrays, as tabread, allocate the data in their own memory space. As far as I can understand, this result in a "double allocation" of the data. One in the array itself and the other one in the internal memory space of the instance of the tabread external. The point is that I would like to use an array to hold in memory a considerable amount of data and to make it available to an arbitrary "reader" objects without the need of allocating the data again in each one of the readers. Is it possible to write an external that that reads data from an array "on the fly" without the need of allocating the data in its own memory space? Any help will be most appreciate.
Oscar Pablo Di Liscia
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list