Is there an efficient way to load/unload video patches dynamically ?

Sep 23, 2012 at 8:52pm

Is there an efficient way to load/unload video patches dynamically ?

I’m currently designing a video generator for my music to visual personal research and live performances.
Basically I’m grabbing data from music (MIDI but audio too with some fft wizardry) and sending that to around 10 send/receive busses.

I want to be able to load dynamically what I call “video generator snippets”.
I’m currently doing that using a JS removing/loading abstractions. I tested that using bpatcher but I don’t need any UI so ..

Basically, each snippet has (or doesn’t) receive objects in order to “suscribe” to the previously described data flows/busses. Then, they all draw to an openGL context instantiated and handled at the highest level. Orthographic projection mode is set to 2 (projection On ignoring lens stuff…) because I only need 2D stuff and all goes on a videoplane.

QUESTIONS (!)
- In order to draw basic primitives like rectangles, circles, very basic stuff, I think to use JS dynamically manipulating Jitter OpenGL stuff. Any opinions ?
- In order to “cover” the abstraction remove/load moment (where vid is a bit frozen) what would you suggest ? (maybe another way instead of load/unload)

any leads, even small, would be nice, especially for the second questions.

#64472
Sep 23, 2012 at 9:40pm

Hi Julien,

this is just an idea I haven’t tried it yet. But maybe loading the abstractions into poly~ voices to use multi threading could improve the performance.

But as I said – it’s a guess….

Jan

#232573
Sep 24, 2012 at 7:06am

hi jan and thanks for your answer.
about the performances when the snippets is loaded and running, it is very ok.

How could I use a poly~ to load different snippets ?
I mean, i’d have to use more than one poly~, one for each snippet.. I could try to turn off those not used, maybe, and switch them on/off etc.

#232574
Sep 28, 2012 at 6:58pm

I finally ended by putting all abstractions required on the “playground”, and made a simple routing system for the master qmetro banging stuff.
that way, afaik, all non banged structures are off, and don’t kill performances.

it works.

#232575
Sep 29, 2012 at 5:54am

Hi,

As Jan suggested, you can load patcher with [poly~] ; have a look on the “DynamicPoly” sub-patch in the poly’s help patch. I did that with jit.matrix few time ago to load various “snippets” ; it’s pretty efficient and the patcher file loading time is really short.

#232576
Sep 29, 2012 at 7:41am

hi Nicolas,
finally, I don’t have a lot of benefits to load/unload.
I don’t kill performances when I have 10 snippets turned off (no bang) and only one on.
so I can really load them (even a lot) at the main root patch load, then change the route for my bangs.

#232577

You must be logged in to reply to this topic.