QC Actors



  • I am currently looking into Quartz Composer and possibilities to use compositions in Isadora. Two questions:
    1. Is there any documentation planned for the QC actors, and if so, when will it be available? (I can't get many of them to work and wonder what I might be doing wrong).
    2. Can I open the QC actors as compositions in Quartz Composer to understand what they are doing? Where are they stored on my computer? (I found a few on system/library/graphics/QCcompositions, but they don't seem to be the ones that show in the Isadora list).
    Thank you for any help!


  • Tech Staff

    Hi,

    1) There is no official documentation. Quartz Composer is a big topic to cover, really it can sometimes just be trail an error. Some patches require plugins as well as patches.
    2) In isadora preferences there are some file pathways;
    Hope this helps.

    87abaf-screen-shot-2012-07-25-at-09.44.12.png



  • Thank you for the quick answer!
    I was able to open the compositions in Quartz Composer, and many of them are very complex, so I guess that is not the easy road to understand what they can do in Isadora...
    However, more often than not experimentation leads nowhere (unless I am doing something essentially wrong...). For example, if I try a QC actor such as "Blockhead" between a CI Movie Player and a CI Projector, there are no parameters to experiment with, and I just get the original video played back (see attachment), even if I experiment with different x- and y- values. What kind of input am I looking for (there are quite a few actors like this with just an image and x-/-y inputs).
    Thank you again!
    164085-qc-actor.png


  • Tech Staff

    I have no idea what the qc blockhead does. I did a quick google and can't find anything about it either. Some plugins don't have 'published' inputs, but you can create them by opening them in quartz. Search google for; "quartz publishing inputs and outputs" there is lots about it online.



  • I've been messing around with QC for a while, but was frustrated with the lack of doc.  I just received today a brand new book that, so far (I'm up to chapter 5) does a good job of covering the basics:

    http://www.amazon.com/Learning-Quartz-Composer-Hands-On-Creating/dp/0321636945/ref=sr_1_1?ie=UTF8&qid=1343277470&sr=8-1&keywords=quartz+composer


  • Thank you Eric,
    I am working from the same book :-)
    (by the way for Europeans it is only available at the moment through http://www.safaribooksonline.com, where you get a discount and  the DVD tutorial files).
    Let me know if you mangage to use some of the QC actors that don't seem to work immediately!



  • 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 on
    Third, 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

  • Tech Staff

    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. ;-)


  • Tech Staff

    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?  Thanks
    eric

  • Tech Staff

    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 

  • Tech Staff

    @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

Log in to reply
 

Looks like your connection to TroikaTronix Community Forum was lost, please wait while we try to reconnect.