Programatically setting patch settings?

randall's picture

I'm trying to create more virtual macros for things... and i'm using Image with String. I'd like to programmatically select the alignment, but it seems like I'm not going to be able to do that... instead I'll have to create 6 copies and route things appropriately using multiplexing, etc.

Any last ditch solutions?

vade's picture
Re: Programatically setting patch settings?

This is, as far as I am concerned, a really deep conceptual flaw in Quartz Composer's design - the fact that settings exposes a custom UI that is not controllable via input ports or the editor in any way other than in the UI of the editor. Editing settings is completely inaccessibly via QCRenderer API programatically.

The reasons for this is that many settings changes actually alters the patches available input and or output ports, so conceptually you could break or dynamically change the scene graph, etc while editing the settings.

It certainly is a large limitation (in my opinion), and I feel like designing a patch with "settings" in general should be avoided at almost all costs, due to exactly the issues you are describing.

I think your work around is really the only way to go about it, and keep the logic consistent with the rest of the patching environment.

usefuldesign.au's picture
Re: Programatically setting patch settings?

In addition to Vades comments which I agree with, I think the lack of good text handling patches is a real hole in QC for people coming to it from a Graphic Design background (like myself).

There are so many thing you can do in even a RichText text editor that are just really hard to do in QC that require all sorts of maths patches and so on.

Noise Industries has some nice patches to handle text, but last I asked, they're not licensing them to outsiders which leaves you with write your own plugin or build a mountain of QC patches to do some elegant text aligning, sizing, font control etc.

vade's picture
Re: Programatically setting patch settings?

Stay tuned :)