I've been messing around with pixes and I found in a few cases that it would be really helpful to force a pix to resend its data.
I've also found that GEM seems to make it unnecessarily complex to do this.
Case 1: If you change the parameters of a [pix_frei0r] plug-in, the display doesn't update unless you force the pix through again. (I can somewhat understand this -- frei0r plug-ins are meant to be for video, where you would expect frequent new pix content.)
Case 2: If you change the gemlist routing (see [pd onoff] in the screenshot), the display doesn't update.
I couldn't find a really good approach:
-
[pix_texture] does not accept bang messages.
-
[pix_image] does not accept bang messages. Sure, I could reload the image for every frame, but... really? The data are already in memory. Why can I not just send them out again?
-
Department of Hacks: I did more or less get it to work by loading the image into a [pix_multiimage] and banging index 0 for every update. (That's an improvement over my first version, which flip-flopped between two copies loaded into the multi-image.) This is almost acceptable, except that it requires the image to be named "whatever0.jpg" and you must access it by wildcard ([pix_multiimage] yells at you if you didn't give it a wildcard).
Is there a better way?
What would be the best enhancement request to log for this? Probably [pix_image] should have a bang method, but maybe something else would be better.
hjh