Update the Skanky SDK

It's been a while since we've updated our "Skanky SDK" Custom Quartz Composer Xcode Template. This is mostly because our (inter)active users use plugins rather than develop plugins.

However, I'm interested to find out if there is any interest in updating the Template for the Unofficial-API developers out there. The last template was launched at Leopard's release (I think?), and we've learned a lot since then...

Comment viewing options

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

tobyspark's picture
baby steps for me, so the

baby steps for me, so the official api first. not to say forever...


franz's picture
use vs dev

As you noted, i use plugins rather than develop plugins. But hey, time will tell... i'm hacking a bit the HeightField official plugin, and when i'll have found my way through it, i might consider adventuring into the uncharted backwaters of the skanky side of the SDK.

yanomano's picture
For xcode beginners...

A litlle link for xcode beginners :



psonice's picture

That looks like a really good (and quick) introduction to xcode. Then again, I've been through a lot of things like this where I get through the first 90% of the book in a week, and it takes the next 6 months for the last 10% ;)

Once I've finished my current QC project, I'll get stuck into this as I need to start writing some custom patches. And CV, I need to delve into that more too.. too much to do! Any recommendations for an openGL introduction? :)

cwright's picture
opengl intro

I highly recommend getting the "OpenGL SuperBible, Fourth Edition" by Haemel, Lipchak, and Wright (no relation). There's also the NeHe demos, but those are often frowned upon in more professional opengl circles.

The last 10% always takes 90% more time than the first 90%.... some strange law, or property of projects, or something :)

psonice's picture

I shall keep an eye out for it.

psonice's picture
What's the difference?

I've not started developing yet (maybe next week - I want a really good understanding of how it all works first :) so what is the actual difference? Are there still advantages to the unofficial api? Or is it mostly useful for tiger compatibility?

cwright's picture

The Official API is Leopard-only. Our Skanky SDK, on the other hand, allows for both Tiger and Leopard plugins (though Tiger development is mostly abandoned at this point for us).

For the differences between the two, check out this forum discussion: http://kineme.net/Leopard/DifferencesTiger104QCPatch105QCPlugInAPI

5 second version: official api doesn't allow custom category names (all are "Plug-in"), doesn't allow subpatches (like the polygon mode, field of view, or logic op plugins in GLTools), doesn't allow safe-mode operation (this is a good thing, usually), doesn't allow custom port types (OpenCV, Kineme3D, and Texture all use custom ports) ,and doesn't expose some of the more powerful internal objects QC supplies.

[edit: Holy crap, just posted on the list: Virtual Ports are part of the private API(?). Who thought that limitation up? Brilliant...]

psonice's picture
I vote for the top option then :)

There's obviously a lot of need for the unofficial API then. There's also a very good case for using the official one of course (and I can think of a few cases where it would suit fine).

Is it difficult to move from the official api to the unofficial one? I'm thinking to start with apple, and move to skank if the need arises.

cwright's picture

Transitioning is quite easy: for most methods in the official API, there's a direct parallel in the unofficial API. There are a few additional methods in the unofficial one that make it more powerful, but hopping between the two isn't all that difficult

(I've only ported stuff from official to unofficial, not the other way around. Going back seems a bit trickier, but that's probably because I've not done any serious official-api dev)

smokris's picture
Start with Official.

Agreed --- there is a high degree of overlap (and thus ease of transition), so I recommend starting with Apple's official API and skanking only if needed (for the reasons cwright described above).