QC Actors
-
Dear STJ + All,OK, let's look a little bit at the wild world of Quartz Composer plugins.**1) How does Isadora make use of Quartz Composer (.qtz) files?**Apple provides an API (Application Programming Interface) that allows any app to load a QC patch and use it. That's how Isadora "imports" them into the program. Isadora creates a "wrapper" around the QC patches so that they appear as normal Isadora actors.**2) Where does Isadora find the patches?**The agreed upon location for the Quartz Composer files are/System/Library/Compositions/Library/Compositions//Users/YOUR_NAME_HERE/Library/Compositions (also referred to as ~/Library/Compositions)Isadora also searches the "FreeFrame" folder at /Library/Application Support/FreeFrame -- not an Apple "approved" of place, but it's where the Isadora community and I agreed to put these beasts back in the old days before Apple designated the three folders above.There are two more important folders: /Library/Graphics and ~/Library/Graphics -- it is in these locations that you may need to add a file with the .plugin extension. These are files that add some behavior to QC that can't be implemented in QC. For instance, the Kineme "ArtNet" plugin (which controls lighting) has an associated .plugin file.So, first let's take a look at /System/Library/Compositions. Here you'll find quite few QC plugins created by Apple. (A default install of 10.7 seems to have 102.) Most of these will work fine in Isadora. But there are few that won't. For instance, "User Backdrop 1," "User Backdrop 2," etc. These won't load because Apple limited them to run with three particular apps: iChat, Quartz Composer Editor, and Photo Booth. I created a work around for this particular plugin by creating a small app called "Quartz Composer Compatibility" that adds Isadora to the list -- it ships with the normal Isadora Core Installer. There may be others that may not load for reasons like this, but the bulk of Apple's plugins will load and work correctly.In the default 10.7 install, there's actually nothing placed in the other two locations (/Library/Compositions/ and~/Library/Compositions.) If you want add a plugin so that its available to every user, then it would go in /Library/Compositions/. If you wanted to add a plugin that you would see only when logged in to a specific account, you would add it into ~/Library/Compositions.You may choose to not load from one of the designated folders by unchecking the appropriate check box in under "Quartz Composer Load Options" in the Video Tab of the Preferences. (Why would you want to disable one or more folders? Because Isadora has to open each one to find out about its published inputs and outputs every time it starts up. That can add considerable time to Isadora's start up sequence which can be annoying if you're not actually using all 102 default plugins.)**3) How does Isadora get data in and out of a Quartz Composer plugin?**In the Quartz Composer editor application, you can "publish" and input or an output. By so doing, the API mentioned above allows an external program to "see" that input or output, and get information about its characteristics. Isadora does just that, and for every published input and every published output, you'll see a corresponding input and output on the QC actor in Isadora.**4) Why don't some plugins work?**There can be any number of reasons for this.First, there are many, many people out there creating patches using Quartz Composer. Some of them do a good job of making these plugins useful in environments other than QC: they and publish the relevant inputs and outputs so that other apps can access them. But, some plugins might not have and published inputs or outputs. In that case, there isn't much Isadora can do. Using Apple's API, no way to "discover" inputs or outputs that are not published.Second, there simply might be a programming error or other problem in the qtz file. For instance, right now, I've got a QC plugin called "Datamosh" that a user was having trouble with. It won't load because of an error, which is only displayed in the System Console (see /Utilities/Console.) For this particular patch, one of the errors looks something like this:2012-07-31 15:16:23.725 IsadoraCore[7353:a0f] *** Message from :Cannot publish input port ["insertKeyFrameOne" @ "PlugInPatch_DataMoshPlugIn_1"]2012-07-31 15:16:23.727 IsadoraCore[7353:a0f] *** State restoration failed onThird, there may be an associated plugin required to run the QC patch. For instance, I have a patch called "v002 Rutt Etra isadora" that generates a ton of errors because it's missing the associated RuttEtra plugin. If you load it in Quartz Composer, you see those errors in a dialog. Isadora doesn't show a dialog with this information because 1) I can't get it from the API and 2) for those not concerned with Quartz Composer patches, I don't want to disturb them with information that's not useful.**Conclusion**So, the upshot of all of this can be summarized by the abbreviation YMMV -- "Your Mileage May Vary." Meaning, some of Quartz Composer plugins that you find on the internet are going to work right out of the box; others just won't. If you've paid someone for a plugin you might be able to get support (e.g., the folks at Kineme.) But if its a freebie or you don't know the source, you really don't have anyone to whom you can turn.To really make the most of these plugins I would say you have to be a bit of an expert, because they have not always been designed to be used by an application other than Quartz Composer. You might just have to crack them open and work on them a bit to get them going. The problem is, especially for students, they may not have the skill to do so.I hope that helps explain the situation a bit.Best Wishes,Mark -
That's really handy Mark, thanks.
-
Thanks very much for the clear and comprehensive answer Mark!
-
No problem. Good for all in the community to understand. And the next time your students complain, you can just hand them a printout of this. ;-)
-
I am going to copy and paste this on to my blog is thats ok Mark? I get the odd question and private messages about Quartz.
-
No worries Graham... spread it around!
M -
Thanks for the thorough explanation Mark.
I'm having an issue with QC Actors with the moment. I have 2 QC patches that both work fine in QC itself - dont see ay errors raised anywhere. When I put them in the /Library/Compositions or /System/Library/Compositions folders, one shows up in Izzy and works ok, but the other does not appear in the actor selection list. I can drop the one that doesnt show up in Izzy into CoGe and it plays fine. I know its not much to go on but, anyone have any ideas? Thankseric -
Does the one in question require a plugin? Some Quartz files (.qtz) files have a plugin which is built for them specifically. You often need the plugin in order for it to work/appear.
-
Hi guys! Sorry to bother you, but I can't find how to use QC compositions as Izzi actors. I put my QC composition into all folders that Mark indicated, but nothing happens. I don't see anything, even original QC compositions from Apple. I precise that I use an IsadoraCore 1.3 version, my computer runs with OS X 10.6.8 and all file pathways are selected in Isadora Preferences. What am I doing wrong ? Thank you for your attention.
-
Thanks Graham. I created the Quartz patch myself using only standard QC elements, so no plugins should be required.
BTW the patch was created under OS X 10.8.1 (Mountain Lion), and I've have been having some 'issues' (ahem) since upgrading, things like random QC crashes, spinning beach balls at times I hadnt seen them before & so on. I just mention that in case there's something different going on with 10.8 that might be causing this problem with the QC patch not showing up in Izzy. (I will reiterate that the patch does operatie without error in both QC & CoGe, and I was able to create a MOV file from it in QC). Thanks.eric -
@Fred2s
The version you are using is called IsadoraCore but did you buy the core video license, for extra $ 25.-?Best,
Michel -
Hi Michel,
Thank you for your answer. It's not me who bought the licence I'm using. I believed that if you can use the Isadoracore with a licence, it's that you have the core video licence, because a basic licence would not run with Isadoracore...
I'll buy the right licence if we don't have it already.
Thanks again. Fred.S.
-
In case anyone is following this thread, I did finally get the Quartz patch working in Izzy by recreating it in QC from scratch. Must have been something weird in there that was causing problems.
After getting it working, I modified it to publish 2 inputs for video and photo inputs. When I replaced the patch in Izzy it wouldn't function at all. Removng the inputs allows the patch to work. Has anyone had success with a QC patch using inputs from an Izzy actor? Thanks. -
Dear Eric,
Please send me the QC patch in question to my personal email. I'll have a look -- though I'm a bit behind with various patches from others I need to examine. So it may take a few days.Best Wishes,Mark -
@ Mark,
did you do a patch "v002 Rutt Etra isadora"? I have the Rutt plug-in but was not able to put the QC in Isadora,...
-
@bruper I've got this running i can't attach qtz file here but i can email it over to you.
attached is a picture so you can copy the settings of one of the many different things you can do with Rutt Etras effect, this spinning point cloud style thing i never get tired of :) if others would like this effect, ill put it up on my site or make a little clip explaining. Its pretty straight forward to adapt the original rutt etra qtz patch if u know QC.best,Lanz -
Kinect and Rutt always delivers a nice effect ;-)
-
Thanks for Lanz last night.
So it seems that I may have a potential for troubles here (beside the fact that some are not visible in Isadora)... could please someone be so kind to advise me what I'm doing wrong here?
I have 1 QC folder in the user/library/graphics, 1 in ~/library/graphics and then the ~/library/application support/freeframe
are all in the right place or??? -
oh and I forgot to add this fourth as well:
-
.qtz files need to go into the Compositions folder. (see image)
Plug-ins need to go into:/Library/Graphics/Quartz Composer Plug-Ins/