> 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 = 0, > kQCPlugInTimeModeIdle, > 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 christopher_wri...@apple.com
_______________________________________________ Do not post admin requests to the list. They will be ignored. Quartzcomposer-dev mailing list (Quartzcomposer-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com