QuartzBuilder 1.4 Bug

Summary: QuartzBuilder didn't load a QCPlugin, when attempting to compile an app using QuartzBuilder 1.4, OS X 10.6.8.

Steps to Reproduce: 1:Create a blank composition using QuartzComposer.app 2:Place the following patches onto the Editor; a Clear patch (layer 1), a Video Patch, the FreeFrame QCPlugin compiled from the 10.5 Apple Developer Examples, and a Billboard patch. Configure the FreeFrame patch to use an frf file via settings (I used "backlight.frf"). Connect the Video Patch, to the FreeFrame patch, to the Billboard. 3:Insert the qtz into the QuartzBuilder dropbox and/or Composition (filepath) field. 4:Observe that the QCPlugin is not placed into Resources of the app. 5:Export app. 6:App draws blank translucent window.

PreviewAttachmentSize
no resource.jpg
no resource.jpg33.93 KB
spike.qtz2.46 KB
FreeFrame Plug-Ins.zip13.84 KB
FreeFrameHost.plugin.zip19.26 KB

gtoledo3's picture
Re: QuartzBuilder 1.4 Bug

Sorry, didn't finish the report before accidentally hitting enter:

Expected Results: I would expect the FreeFrameHost.plugin to be loaded into QuartzBuilder's resources.

Actual Results: The QCPlugin wasn't loaded.

Regression: This is a regression. QuartzBuilder 1.1 loads this. I haven't tested other versions.

These are the apps - the non working one compiled with 1.4 is "spike.app", the working one compiled with 1.1 is "spike2.app"

It requires the FreeFrame folder be placed in /Library/Graphics

PreviewAttachmentSize
spike.app_.zip163.93 KB
spike2.app_.zip172.45 KB

jstrecker's picture
Re: QuartzBuilder 1.4 Bug

FreeFrameHost.plugin is 32-bit only, so try opening QuartzBuilder in 32-bit mode. It worked for me.

It would have worked in QuartzBuilder 1.1 because that version ran in 32-bit mode only, whereas QuartzBuilder 1.3 and up can run in 32-bit or 64-bit mode.

(For anyone who's interested, there's a bit about 32-bit/64-bit architectures in the QuartzBuilder documentation.)

(It would be nice if QuartzBuilder would warn when it fails to load 32-bit-only plugins because it's running in 64-bit mode. We looked into it for QB 1.3 but couldn't figure out any reasonable way to do it -- QCView doesn't seem to want to throw an exception or return false on failure in that case.)

gtoledo3's picture
Re: QuartzBuilder 1.4 Bug

Opening the app in 32 bit? There seem to be check marks for making an app that's 32 bit mode in QB special settings; wouldn't/shouldn't that handle it, not a setting on "get info" for the app (I'm gathering this is what you mean, can you clarify)? Weird....ok. Thanks(?). Maybe this can be added to known issues (since it's not currently a listed issue, there's no "it worked for me" that could have resulted here as far as I can tell - maybe I missed it though. Thanks.) :-)

So, how do the 32/64 bit build settings interplay with opening the app in 32 bit mode? I can open it in 64 bit, make a 32 bit app, but that doesn't mean it's pulled 32 bit stuff?

jstrecker's picture
Re: QuartzBuilder 1.4 Bug

Yes, I meant go into Get Info for QuartzBuilder.app and check the box for 32-bit mode.

QuartzBuilder loads the composition (with QCView) to get the plugins to load so they can be found and listed in the Resources window. A plugin can only load if it's compatible with the architecture that QuartzBuilder is currently running under (32-bit or 64-bit).

The 32/64-bit build settings in Advanced Settings don't really interplay with this. If QuartzBuilder is open in 64-bit mode, it will still let you build a 32-bit application (assuming all plugins support both 32-bit and 64-bit architectures). Basically it's cross-compiling.

QuartzBuilder 1.2 had the same inability to load mismatched-architecture plugins and the same lack of error message. If QuartzBuilder 1.2 tries to load a composition that has 64-bit-only plugins, the plugins get ignored and the only warning you get is in the Console. So it's more of a long-standing issue :-/ I added it to Known Issues on the release and updated the wiki documentation.

gtoledo3's picture
Re: QuartzBuilder 1.4 Bug

It really seems like you could come up with a way to do a warning, especially since the graph isn't restoring. Nothing is generated at all from incomplete restoration? I'm not saying you can pull the plugin, but it seems like there should be a warning that something has gone awry, and that's possible(?).

mattgolsen's picture
Re: QuartzBuilder 1.4 Bug

Perhaps it should show a list of all the plugins added, and a green check or a red X next to the filename? It does seem a little "mystery meat" for it to silently do something like that.

jstrecker's picture
Re: QuartzBuilder 1.4 Bug

Yeah, if at some point we can get the not-loaded plugins to show up in the list, that would be a good indicator. The problem is that QuartzBuilder has no awareness whatsoever of the not-loaded plugins.