http://developer.apple.com/library/mac/#documentation/GraphicsImaging/Conceptual/QuartzComposer_Patch_PlugIn_ProgGuide/Introduction/Introduction.html%23//apple_ref/doc/uid/TP40004787
...and this is the general tutorial that I was writing about. -gt On Mon, Feb 14, 2011 at 12:55 PM, Christopher Wright < [email protected]> wrote: > I was more looking for a run through tutorial/guide to get me started, > having never produced anything with X-Code before, it can be > quite daunting. It would also appear that things are done slightly > differently when producing a plugin for Quartz rather than a standalone > application. Also a good explanation of like time modes, threading etc would > be great. > > > These aren't things that have simple tutorials. There are Xcode templates > to create QC plugins, so the "interesting" stuff (setting up bundles, > installation locations, framework linkings, etc.) is done for you. Time > modes are documented here: > > http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/QCPlugIn_Class/Introduction/Introduction.html > > Specifically: > > Time Modes > > Time modes for custom patches. > > > typedef enum { > kQCPlugInTimeModeNone > <http://developer.apple.com/library/mac/documentation/Cocoa/Reference/QCPlugIn_Class/Introduction/Introduction.html#//apple_ref/doc/c_ref/kQCPlugInTimeModeNone> > = 0, > kQCPlugInTimeModeIdle > <http://developer.apple.com/library/mac/documentation/Cocoa/Reference/QCPlugIn_Class/Introduction/Introduction.html#//apple_ref/doc/c_ref/kQCPlugInTimeModeIdle>, > kQCPlugInTimeModeTimeBase > <http://developer.apple.com/library/mac/documentation/Cocoa/Reference/QCPlugIn_Class/Introduction/Introduction.html#//apple_ref/doc/c_ref/kQCPlugInTimeModeTimeBase> > } QCPlugInTimeMode; > > Constants kQCPlugInTimeModeNone > No time dependency. The custom patch does not depend on time at all. (It > does not use the time parameter of the execute:atTime:withArguments: > method.) > Available in Mac OS X v10.5 and later. > Declared in QCPlugIn.h. > kQCPlugInTimeModeIdle > An idle time dependency. The custom patch does not depend on time but needs > the system to execute it periodically. For example if the custom patch > connects to a piece of hardware, to ensure that it pulls data from the > hardware, you would set the custom patch time dependency to idle time mode. > This time mode is typically used with providers. > Available in Mac OS X v10.5 and later. > Declared in QCPlugIn.h. > kQCPlugInTimeModeTimeBase > A time base dependency. The custom patch does depend on time explicitly and > has a time base defined by the system. (It uses the time parameter of the > execute:atTime:withArguments: method.) > Available in Mac OS X v10.5 and later. > Declared in QCPlugIn.h. > Declared In QCPlugIn.h > > > > Threading is a topic that would take decades to explain, and it'd still be > wrong. Threading isn't a topic that has simple answers/abstractions -- you > absolutely _must_ be able to reason about how things work in order to do it > correctly. If you're targeting 10.6 and later, GCD can handle much of the > complications of threading for you, but there are still cases where you have > to understand critical sections. QC Patches generally don't lend themselves > to threading very well, except in special cases (providers can do it well, > but others types of patches not so much), so I really encourage you to > discuss your thoughts, experiments, and questions on the list so that you > can have a few extra eyes looking things over. It's difficult to get > threading stuff right even when you've done it for a really long time. > > > > -- > Christopher Wright > [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/gtoledo3%40gmail.com > > This email sent to [email protected] > -- George Toledo [email protected] www.georgetoledo.com The information contained in this E-mail and any attachments may be confidential. If you have received this E-mail in error, please notify us immediately by telephone or return E-mail. You should not use or disclose the contents of this E-mail or any of the attachments for any purpose or to any persons.
_______________________________________________ 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]

