Quartz Composer Feature Tutorial : Little Known and Undocumented Features

-There are a number of undocumented hot key combinations in Quartz Composer, but one of the most useful sets are Command+1, Command +2, and Command+3. These trigger the Patch Inspector to open to Input Parameters, Settings, and Published Inputs and Outputs, respectively. While these hotkey commands are shown in the actual Patch Inspector, this is seemingly undocumented in Apple literature.

-Clicking on the blue tab in the upper right hand corner of the QC Editor (or Viewer) while holding Command causes the Toolbar to cycle through all available view modes (changing icon sizes, icon only, text only, etc.)

-Control+clicking on the qtz icon or File name at the top of the QC Editor can directly open Finder (a feature in common with many other apps).

-(Documented, but little known.) Holding Option while creating connections in QC leaves you with another noodle connection available and active to connect to another port.

-An anachronistic, historical hotkey - Command+U commits the same "up a macro level" function as Command+Up(arrow), but there is no letter based equivalent for going going down in macro levels.

-Interesting tidbit - in Pixelshox (the predecessor to QC), Shift+Command+M used to open a dialogue to import (merge) another psx file into your main file (eg., a macro). Today, that creates an in composition macro, in contrast to opening a file based dialogue to import another qtz macro into your main file.

-Super undocumented:

Holding Option down while choosing Preferences from the Quartz Composer menu is a well known technique for enabling Private Patches. What isn't well known is that there is a way to use hidden preferences to reveal an entire Tiger era QC Editor, minus Toolbar, that can interact in multiple ways with the normal editor.

Enabling QCEditCompositions yields a list of loaded compositions. Double clicking on items in the list open up something that looks like the composition editor, which is a fact that has been noticed by some. What isn't known (at least that I'm aware of), is that manipulating the default opening state of this window, by using not so obvious menu bars, reveals an entire patcherator (Patch Library/Creator), that can work WITH the normal QC Editor, or in it's own environment.

This video shows a quick rundown of selecting a composition from the QCEditCompositions menu, and the subsequent revealing of the Patch Library, as well as the fact that it can work with the new QC Editor.

This is an advantage to some, since it reveals Patch Categories in a non-opaque way; the SL Patch Library doesn't reveal the Patch Categories of patches while browsing in standard mode.

This may look familiar to some; it's basically the Tiger Era Quartz Composer interface!

Also of interest is the fact that the qtz icon at on the menu bar of a composition in the QCEditCompositions interface (as opposed to the QC Editor), is hot. What I mean by this, is that it can be dragged on itself to create a duplicate macro from last save of the file for modifying in composition instantly.

This is a highly desirable feature, in theory. It allows one to instantly grab code from last save that one may have already edited over straight from the tool bar and it's too bad this feature is not available in the normal QC Editor. As is, it's not_useful, because this editing environment (if it can even be called that) lacks a Viewer, as well as Toolbar and Patch Inspector, making Settings unobtainable (though most hotkey options do work). Also, in some instances (eg., system compositions), dragging the file icon seems to not work. This may be due to blocks on changing some files without permissions, but I have not investigated this fully yet.

The qtz icon can also be dropped to desktop to create an alias that is able to be opened in the normal QC Editor. One could also select all and copy to another composition that's open in the normal QC Editor, or simple double click and hold option while selecting a file in the QCEditComposition list, which will open a Save dialogue.

This is probably most useful for navigating through all of the Virtual Patches present in Quartz Composer, and which may being used in a qtz file. One can instantly see the locale of every Virtual Patch (eg., qtz file), that is being used in one's composition. There is no more immediate way to determine this info than by using this interface. This is particularly useful for honing performance; since Virtual Patches are actually qtz files themselves, one can Edit them or inspect them for possible improvement for a given scenario.

The only other way to determine a Virtual Patch in Quartz Composer is to tediously hover over every patch, and see if it is "custom" (which perhaps, not so obviously equates with "Virtual Patch"). At this point, one can use the Patch Library to call up the patch - click the "Gear" Icon and select to either Edit or Export the patch.

For instance, in vetting a composition that used the Circle patch and an Iterator, I was able to quickly see that the Circle patch was actual a Virtual Patch (qtz). Then I was able to scrutinize the drop shadow parameter, which is part of what led to slowed down performance. Had I not been using this, isolating the performance bottleneck would have been much more tedious, and may have never been apparent at all for that matter. One downfall is that compositions that are loaded in a User Graphics Patches folder cannot be opened from the loaded compositions list (whereas compositions in the Developer folder, in the System, in apps, etc., are able to be opened).

Before anyone has a cow, encrypted compositions can't be opened by this method, so if you don't have legitimate access to the file already, you aren't getting access this way. This simply makes compositions that are running in a non-encrypted mode and being used in QC, or in other apps, viewable.

Quartz Builder based apps don't trigger the loaded composition list at all, and NI Compositions load in an unopenable QCPatch=data chunk type scenario (unless perhaps one has already purchased the full version of NI, at which point one gains a tool to edit compositions anyway; I am unclear on this).

I have found the old style Patcherator/Patch Library being present to be of real use. If nothing else it serves to refresh my memory of some patch categories without having to boot in Leopard,or use the obscure and limiting dropdown menu interface of SL. One can effectively search through the patch list by highlighting any patch, and just start typing. It can be a bit quirky to search this way, though it is effective once one gets the hang of it.