Remote

Live remote controlling Quartz Composer (with editor)

cradle's picture

I needed to control a Quartz Composer visualisation running on a projector; here's how I did it (WARNING: convoluted solution ahead! and sorry about my formatting failures :$)

Theory

Using the built in "screen sharing" of modern versions of OSX (10.5 and newer) we can simply and for free (besides the hardware, no software cost) control a remote composition running on another machine whilst still having full access to the powerful real-time editor mechanics Quartz Composer provides.

The trick revolves around setting up an additional monitor attached to the 'live' mac that will run the editor (apparently some non free apps can force secondary monitors without them being attached), running the visualisation full screen on the desired display, remotely connecting to that mac, and then using the editor on the peripheral display remotely.

Equipment needed

  • "master" Dual head capable Mac (this mac will run your Quartz Composition, and must run in dual head [non mirror] mode, it'll make sense why later)
  • The target display (projector, large LCD/Plasma etc.)
  • A secondary display (if "master" Mac is not a laptop with built in display you'll need another display [this can be anything at all, it just needs to register as a second monitor])
  • A second "controller" Mac
  • A (fast as possible) network between the two Macs I got away with an Ad-Hoc network, but faster is better

Method

1) Network the macs

  • a) Connect the two macs via a network (AdHoc wifi is ok as baseline)
  • b) Ensure the two macs can 'see' each other (via Finder->Network or "ping hostname.local")

2) On the "master" mac

  • a) Enable screen sharing (only needs to be done once) noting the hostname and/or IP address (hostname looks like "mymacbook" or "mymacbook.local" and IP's look like "10.1.1.5" or "192.168.0.100", you'll connect to this later from the controller mac)
  • b) Run your quartz composition
  • c) open the editor (⌘+e) and move to the peripheral monitor (eg. laptop screen)
  • d) open the visualisation (⌘+v) and move to the target display (eg. projector)
  • e) full screen the visualisation (⌘+t)
  • f) move the cursor to the editor and click it to give it focus

3) On the "controller" mac

  • a) Start "Screen Sharing" ('/System/Library/CoreServices/Screen Sharing.app' recommend making it a dock icon, and memorising the other mac's hostname)
  • b) Connect to the "master" mac (⌘+n in screen sharing app, then input "master" hostname or IP you noted when setting up screen sharing and then connect)
  • c) Once connected, you will be prompted to log in, this will use the "master" mac's login credentials (you may be prompted twice, depending on your security settings, once for the initial connection, then second to login locally)
  • d) Once connected you should see the dual remote display setup locally!

4) That's it! Feel free to play around, it's fairly robust (in that local crashes or network failure won't affect the "master" mac)

Power Tips

  • Faster network is better, if you can get a LAN cable between the rigs u rock
  • Consider running the editor full screen once you have your setup stabalised
  • You can also connect screen sharing via iChat; network browsing in Finder (share screen link below search box); Finder -> Go -> Go to Server... (ip address or hostname [eg. servername.local]) or use your google fu
  • You can select only one display from the remote machine to be displayed locally via the Displays menu in the Screen Sharing app (I think it's called this, my other machine doesn't have a secondary monitor atm); this is useful for both reducing bandwidth usage (by disabling the visualisation monitor) or for just setting up another machine to show the video of the master (bandwidth permitting!)

Apple Remote

Swiftlikeninja's picture

For various reasons I am having to use an external IR receiver for use with the apple remote on various macbooks (pro and otherwise). The issue I am running into is that the apple remote patch works using the built in receiver but will not control the composition via the usb external IR. One weird thing is that the menu button still brings up front row via both internal and external IR receivers. I have the composition set up for exclusive access so when the composition is running the internal ir controls the composition perfectly but the external still brings up front row and wont control the comp. On my Imac this setup works without any issues. On my friends Imac It also only works with the internal IR.

Anybody have any suggestions?