Quartz Builder and UDP

itsthejayj's picture

Hi guys, i've got a composition using a custom UDP network (osc) plugin and was hoping to use QB to make this into an application. Do you know of any reason why this isnt working? I've added the plug in to the resources but once the application is running it doesn't receive any signal.

cybero's picture
Re: Quartz Builder and UDP

Does Quartz Builder support local loopback 127.0.0.1 ? Have you ever achieved a working OSC Quartz Builder application before ? Does the custom patch work outside of QB ?

cwright's picture
Re: Quartz Builder and UDP

inspect the app bundle -- is the plugin in the PlugIns folder, or inside the Resources folder? QB apps only load plugins from the PlugIns folder.

is anything printed to console (regarding missing patches etc)?

can you get the built-in OSC stuff to work (not suggesting that you stick to that, but to rule out QB doing something that breaks network connectivity).

itsthejayj's picture
Re: Quartz Builder and UDP

ok guys foolishly didn't check console and i have got a error

"02/12/2009 23:56:39   osc[689]   *** QCPlugIn: Cannot preflight plug-in at path "/Users/AG/Desktop/osc4.app/Contents/PlugIns/BBOSC.plugin" (Error Domain=NSCocoaErrorDomain Code=3585 UserInfo=0x18e370 "The bundle “BBOSC” couldn’t be loaded because it doesn’t contain a version for the current architecture." (dlopen_preflight(/Users/AG/Desktop/osc4.app/Contents/PlugIns/BBOSC.plugin/Contents/MacOS/BBOSC): no suitable image found.  Did find:
   /Users/AG/Desktop/osc4.app/Contents/PlugIns/BBOSC.plugin/Contents/MacOS/BBOSC: mach-o, but wrong architecture))

Strange as i did build it as a 64bit universal plugin, will check with the original plugin coder on that one tomorrow. Qc's own OSC sender and receiver does however work, the plugin is in the resources folder, and the plugin does work within qc in 64bit mode.

Thanks for the response guys will update you on this one tomorrow

cwright's picture
Re: Quartz Builder and UDP

The QuartzBuilder runtime is 32bit (not 64, though it could be without too many problems in the future, if there's any interest in it), without Garbage Collection enabled. If a plugin is 64-bit only, or requires GC, it will produce that message. (For plugins and frameworks, the correct GC setting is usually "Supported", so that it can work in both GC and non-GC apps).

At the command line, do file BBOSC.plugin/Contentx/MacOS/BBOSC and see what it says (it should show architecture information)

itsthejayj's picture
Re: Quartz Builder and UDP

Soz chris 'at the command line' - where is that exactly?

cybero's picture
Re: Quartz Builder and UDP

In the Terminal [Utilities Folder - same place Console lives] - CLI - Command Line Interface.

For instance - and do note the nifty use of forward slashes hear to denote a character space in the folder name

Duppo:~ cybero$ cd Library/Graphics/Quartz\ Composer\ Patches
Duppo:Quartz Composer Patches cybero$ ls
AudioTools.plugin   KinemeCore.plugin   TexturePatch.plugin
GLTools.plugin      ParticleTools.plugin
Duppo:Quartz Composer Patches cybero$ file AudioTools.plugin/Contents/MacOS/AudioTools
AudioTools.plugin/Contents/MacOS/AudioTools: Mach-O universal binary with 4 architectures
AudioTools.plugin/Contents/MacOS/AudioTools (for architecture i386):   Mach-O bundle i386
AudioTools.plugin/Contents/MacOS/AudioTools (for architecture x86_64):   Mach-O 64-bit bundle x86_64
AudioTools.plugin/Contents/MacOS/AudioTools (for architecture ppc7400):   Mach-O bundle ppc
AudioTools.plugin/Contents/MacOS/AudioTools (for architecture ppc64):   Mach-O 64-bit bundle ppc64
Duppo:Quartz Composer Patches cybero$

Novel is a nice looking Terminal Shell Style IMHO - Cafe au Lait :-)

itsthejayj's picture
Re: Quartz Builder and UDP

Right, shame indeed my plugin can only be built as a 64bit only plugin! Is there any chance QB could support this in the near future?

cybero's picture
Re: Quartz Builder and UDP

Why can't it be built as 32 bit ?

BTW the JAM is looking pretty polished :-)

cwright's picture
Re: Quartz Builder and UDP

yeah, why is it 64-bit only?

for us, 64bit is problematic for a few reasons:

If the built app is 64bit, it can only load 64bit plugins (and not 32bit ones) -- this breaks plugins that are 32bit only.

There are also new bugs with 64bit (since it's not as well tested), causing quirky behaviour.

There's also the possibility that the user is using a 32-bit only machine (Core Solo, old MBPs, MBs, and Mac Minis) -- 64bit apps will not work, period. There's no indication to the user that this is the case [note how you called it "universal" despite not actually working universally] (because there are no 64-bit only apps out there, everything I've seen has a 32bit build as well to fall back upon).

cybero's picture
Re: Quartz Builder and UDP

Backwards compatibility extends the book value of any intangible asset, as does updating that asset is my business view on such matters.

It's already difficult enough for users and developers.

Just look at how Google's Collada based O3D renders in a suitably enabled browser - [requires plugin], such as Firefox, but fails in Safari 4.0.4 , even when run as 32 bit, with Rosetta installed [just in case it extends the lifespan of a browser enhancing 32 bit bundle & other applicationware].