Lets say you write a plugin that has a special patch, call it uh, v002 Foo for arguments sake :)

v002 Foo has some input and output parameters, these are the standard "I can connect them to other things via noodles/patch-coords" in QC input and output ports. However, if I decide to make the plugin have a Settings inspector view, ( a custom view like the interpolation patch - you can see this by going to settings / Apple-2 when you have the patch inspector open when viewing the interpolation patch, the special ), controls I make in there are limited to being touched/ fiddled with in Quartz Composer Editor only.

Since controls in the Settings pane have no external input or output publishable ports, this means you cannot:

a) programatically set them from within Quartz Composer
b) publish them so that an external, Quartz Composer friendly application can use a custom UI to make controls and actually send values to those params in the view
c) limits settings in that view from being changed outside of Quartz.

This is why I don't personally make plugins that do that (have custom setting user interfaces), and have all controls publishable as inputs ports so you can use them from 3rd party apps and programatically edit them. This makes them end user friendly so you can control them from QC, and lets the composition or plugin be used in apps that leverage QC much more easily.

Now, my proposed solution to being able to 'get at' these Settings panes that are locked to only being available in Quartz Composer Editor (as far as I know you cant get at them any other way), is to extend the QCRenderer/QCPlugin API to allow applications to get an NSView object from the Plugin and draw it in their host app. This alleviates all of the listed limitations from above, so I as an app developer can let you get at and manipulate the custom look up curve in the interpolation patch within my nice, shiny, beautiful Cocoa App and not just have it hidden away in QC.

So, as far as I am aware, there is no public way of getting at those plugin custom controls from a Cocoa App, and since so much of what is lovely about Quartz Composer is the app integration, thats a real shame.

Maybe thats a bit more clear where I am coming from?

On Oct 22, 2009, at 8:32 PM, Keith Lang wrote:

Vade

Would you be so kind as to extrapolate on what you said… for the
lurking non-programmers like me please?

Being able to get an NSView object from a plugin and being able to
drop it into a nice designed UI would be really cool, especially for patches
like interpolate and timeline with interesting parameters.).


Are you saying it your suggestion is to allow 3rd party QC interfaces
to replace/augment the current inspector interfaces in patches like
Timeline? That is, to have the very interface elements of the QC
Editor be QC’s themselves?

Keith




On Fri, Oct 23, 2009 at 11:13 AM, vade <[email protected]> wrote:
Just as a developer and an end user, I really frown upon using view
controllers for custom QC patches. The reason is simple as this:

you cannot publish controls exposed in the view controller to the host app since they have no outlets or inlets, nor can you publish the view itself to
the host app*
In short, if your patch has controls, please make them standard input ports, so they can be used with 3rd party Quartz friendly apps by other devs.

Just saying :). Why not make your controls parameters?

*(this is actually a pending feature request of mine, and i think would be awesome. Being able to get an NSView object from a plugin and being able to drop it into a nice designed UI would be really cool, especially for patches
like interpolate and timeline with interesting parameters.).

On Oct 22, 2009, at 5:31 PM, Milton Aupperle wrote:

So we have a catch 22 situation here. The device doesn't get accessed from the -createViewController until the -startExecution method gets called because it hasn't been opened yet and -createViewController is already allocated by the plugin so it's all set to fail!. And if device is released in the -stopExecution call, then it once again can not be accessed at all in -createViewController. This is just a very poor user experience - I expect
Apple to be better than this kludge!


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list ([email protected] )
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/songcarver%40gmail.com

This email sent to [email protected]


_______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to