Saturday, May 5, 2007

Launching 3rd party apps from the ATV menu

Lots of people have talked about being able to do this, but so far I have not seen it done. We need to create a plugin that will launch another GUI app on top of the ATV menu. It should also take control of the IR remote to either pass remote commands on to the program or at least be able to listen to the menu keypress to exit the app and go back to the Apple GUI.

I have had limited success with getting apps to run fullscreen on top of the ATV interface. VLC, with all of it's fullscreen parameters does not show up above the ATV menu (it plays in the background, because I can hear sound).

There is one application that does run above the ATV menu when I launch it from SSH.

There is an app called Quartz Composer Player that will launch a .qtz file fullscreen in front of the ATV interface.

I took a peek at the source code. the only three lines that I think could be for putting the quartz composer player window above the atv finder are:
int32_t shieldLevel = CGShieldingWindowLevel();
[window setLevel:shieldLevel];
[window makeKeyAndOrderFront:nil];

You can get the full source and binary to this player from here:
http://trac.softwarelivre.sapo.pt/broker/attachment/wiki/qtzplayer/QuartzComposerPlayer0.1.zip

I think there can be a way to use this app and load other apps in a quartz window, or maybe the lines above are all that's needed to add to our own wrapper program to launch programs the same way.