passing video between apps

    Feb 04 2006 | 11:46 pm
    Recently, I asked the Modul8 folks whether it was possible (and practical) to pass video between applications ( I see two big advantages for visualists here: seamless transitions between programs during sets and chaining of programs (so that you can plug the sophisticated processing of Jitter into the sophisticated interface of Modul8 and vice versa, for example). I was told:
    > As far as I know I don't think it is possible to share VRAM buffers between two different processes in OS X.
    The final frame in Modul8 is in VRAM so it would require first to copy it to RAM. Then the frame should be transfered to the other application using an inter-process mechanism. There are various ways to do that... Cocoa has a very easy API for this purpose. It allows an application to call a function from another process in order to share functions and datas. This is something I could implement pretty easily. It would allow any application to grab frame or send keywords to Modul8. Could be interesting.
    Now I don't know well Max, so I don't know if it is possible to access this kind of API from it.
    ---and when i asked what API that was, Yves said:
    > Well, basically I was referring to the distributed objects available in the Cocoa API.
    Currently it could be accessed from Objective-C, Java or Python. So I guess a Max plug-in needs to be written. Now if there is a protocol supported by Max that allows frames to be transferred let me know.
    Regarding distributed objects: strObjects/index.html#//apple_ref/doc/uid/10000102i
    Thoughts? I would love to see this happen.
    thanks, dan

    • Feb 05 2006 | 12:06 am
    • Feb 05 2006 | 3:47 am
      This may or may not help you much, but a program called "patchbox" allows you to use freeframe plugins to send and receive compressed streams of video. The same person just released a couple of dedicated objects for uncompressed video that don't require the standalone application. The author has mentioned porting to OSX and Linus, but for right now they are just XP plugins.
    • Feb 06 2006 | 4:38 pm
      at risk of sounding advertizy, which i avoid doing unless very relevant, livid union doesn't share video with max (and we don't directly support socket access - demand doesn't really make it so we are worth our salt :) , but you CAN integrate max patches of your own design into the program and run them from within union. This way you can make your own effect and video layers and sources and, if properly done, they will incorporate seamlessly into the midi and interface of the host program.