host command patch

I don't know if this is possible (because interpret VS compile concept).

A QC patch that request a NSData with a protocol and a method from the host that embed a QC composition.

Inputs/outputs : String>>>>protocol String>>>>method>>>>return a NSData Index>>>>evaluate (realtime or on start or on request) Boleen>>>request


cwright's picture

In many other languages, this wouldn't be possible without some really ugly hacks. But Objective-C actually makes this kind of thing super easy. I'm not sure I'm a fan of using NSData as the output, but it could work as a specialized plugin I guess.

You'll need a class input in there, and the method would have to be a class method (as opposed to an object method) -- It's possible that we could have an object address index in there to call object methods, but that sounds like a REALLY BAD IDEA ;)

[class methods start with +, object methods start with -]

I'm not sure what benefit having the protocol would be. Protocols are for inter-object multi-step communication, while your description sounds more like a simple single-call dispatcher.

Incidentally, I made a patch that does most of this months ago to facilitate reverse engineering. But instead of calling methods, it just gives me the address of them (so I can point the debugger at them, and take the methods apart).

yanomano's picture

As you know left brain is not my power... I read a lot of doc about objective C and cocoa but it is difficult to have a global view of the coding NSData is perhaps not the exact term to use. For exemple, FinalCutPro and motion Fxplug SDK provide all the method to acess.The idea was to get this infos from Fxplug that embed QC compositions".

cwright's picture

I kind of figured you were meaning something generic. NSData is about as generic as it gets: unstructured, ordered bytes. This is perfectly fine, except that QC doesn't really have a parallel for this. (Contrast this with NSArrays or NSDictionaries, both of which can be converted to QCStructure with little overhead).

I'm liking this fxplug bridge thing. I'm working on saving up enough to buy a copy of FCP (actually, FCE most likely, since I'm not artistic ;), so then I'll be able to actually try figuring out these interfaces.

do you have a link to the sdk docs? perhaps that'll help me figure out/think about how to structure things. Knowing more specifically what you had in mind would also help :)

yanomano's picture

Here is the link for the fxplugSDK1.1.2 :

And The After Effects SDK (also a bridge with fxplug and QC compos) :

cwright's picture
cool, thanks!

Thanks :) You've always got the docs, it seems.

I'll try to go over these and get a basic idea.

franz's picture
i don't know if it is

i don't know if it is related -somehow at least. That guy used osx'native distributed notification mechanism to share data between cocoa and MaxMsp (multidirectionnal). Seems very easy. then check cocoaSend / Receive

apple's tech page on distributed objects:

Could this be an interesting protocol to communicate between cocoa apps / Qc ? - maybe i'm totally off-