Underlying programming language for Quartz Composer?

randall's picture

Hey guys,

This might seem obvious... but I'm trying to understand a bit more.

So sometimes Quartz Composer seems really limited (iterators!!!) and I feel like I'd like to use the libraries of quartz composer, but inside a real programming language.

Anyone have any resources to point me toward to get on my quest? Is my best bet to bite the bullet and learn real OpenGL / Quartz framework stuff? Is Processing something I should check out?

My main work, for reference, is with text and images pulled from the web, being displayed full screen as digital signage of sorts.

rb

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

mattgolsen's picture
Re: Underlying programming language for Quartz Composer?

Some of the more technical guys on here can give more insight to the underlying workings of QC, but I can definitely comment on the digital signage part you're interested in.

QC can definitely fill this role, I know because that's also my main focus at work. We've got a slightly more business oriented/metrics bent to ours, but we use it for everything from performance metrics, to syndicating internal company news, even playing videos. We're actually starting to migrate a lot of the backend control to Drupal, utilizing Views and a XML feed plugin, but it makes development a breeze.

I'd say though that it would be a good idea to learn the real programming side of it, that's one large weakness that I have, is that while I can conceptualize and build most of what I want, when it comes to debugging, or understanding performance problems I'm at a loss.

If you'd like any pointers, or need advice not only is the Kineme a huge help (they've been incredibly awesome and patient with me), I'd be more than willing to offer insights on my experiences and challenges that me and my team have run into.

vade's picture
Re: Underlying programming language for Quartz Composer?

C, Obj-C, Quartz 2D, OpenGL, Core Image (a slightly modified variant of GLSL 1.2 - lacking some things, gaining some things)

Thats pretty much it.

randall's picture
Re: Underlying programming language for Quartz Composer?

Word.

On the good advice of a friend, I've got a little plot. The most frustrating aspect is the complete absence of code reuse. As a result, I'm thinking I'll start writing QC plugins using MacRuby, and eventually my compositions will turn into a relatively small number of patches creating a quartz composition.

Vade, you seem super competent (Thx for Syphon again, among other things...) I'd estimate that folks like you see Quartz Composer as a tool that makes rapid prototyping pretty easy and painless... and then once you have something you're happy with, you'd go and code a "real" version using Obj-c or the like. Is that how it works for you? As a "advanced coder," how do you use QC?

vade's picture
Re: Underlying programming language for Quartz Composer?

Not really, I use QC how its intended, not as a rapid prototyping tool, but as a way to make programatic, interactive realtime motion graphics and 3D.

If something in QC doesn't do what I want it to do, I make a plugin, and use the plugin in QC to suit my needs.

I (generally) enjoy writing plugins more than apps, because they are small, modular, re-usable units, easy to understand and fix in a larger context, and get done quicker (usually). I'm lazy that way.

Generally, a complex app, written from the ground up is going to be more buggy. I also don't want to waste my time re-doing things, so I tend to just do it once, probably in QC.

Now, if something does not make sense to do in QC, then I won't use it (at all), and write an app (if its necessary), but thats pretty rare because I'm interested in making moving pretty things, and like QC a lot, even though it has issues up the wazoo.

Dont fuck around with Mac Ruby and that shit. Just learn Obj-C, learn the QC Plugin API, and then learn some image stuff, like Core Image, GLSL, maybe some OpenGL. Its a lot, but its all sensible, logical, and will make sense once you get used to thinking about things as a programmer.

randall's picture
Re: Underlying programming language for Quartz Composer?

Seriously thanks a ton. I appreciate the perspective.

rb