How To Install Apple’s Front Row

“Sit back, relax and let Front Row start the show. Music, photos and video.”…on any Mac!

Thanks to an update from Apple, Front Row can now be easily installed on any Mac running 10.4.4 Tiger. While you previous had to rely on quirky hacks, Front Row can now be added to Tiger with full support, including keyboard shortcut and sound preferences.

Mac users who have updated to Mac OS to 10.4.4 must reinstall Front Row.

Download Front Row Enabler 1.1

Requirements

  • Mac OS X 10.4.3 or later
  • iTunes 6.0.1 or later

Quick Guide

  • Download Front Row 1.0.1
  • Open the disk image and copy the file “FrontRowUpdate1.0.1.pkg” to the Desktop.
  • Download Front Row Enabler 1.1
  • Launch Front Row Enabler from the disk image. Select “Enable Update Installer.”
  • Run the Update Installer by opening “FrontRowUpdate1.0.1.pkg.”
  • Logout
  • Launch Front Row Enabler from the disk image. Select “Enable Front Row.”
  • Set Keyboard Shortcut and Sound Effects in System Preferences.
  • Launch Front Row (command-esc)

Disclosure: Enabling Front Row with this process is not supported by Apple Computer, Inc. and may have unintended consequences. For a technical overview see the ‘Technical Notes’ below.

1. Download Front Row from Apple

According to Apple:

The Front Row Update delivers overall improved reliability and compatibility for browsing music, photos, and videos on your iMac.

Download Front Row 1.0.1.

When the download completes, open the disk image and copy the file “FrontRowUpdate1.0.1.pkg” to the Desktop. It must be copied to the Desktop. At this point if you try running the Update Installer package, you’ll get this alert:

Alert

This software update requires an iMac G5 with built-in iSight.

You’ll therefor need to enable the Update Installer to install Front Row, using Front Row Enabler 1.1.

2. Enable Update Installer

  • Download Front Row Enabler 1.1 The file (Enabler.dmg) is a disk image that needs to be opened.
  • Next, run “Front Row Enabler” from the disk image. (That is don’t copy it to a different folder and then try to run it, as it has to be run from the disk image.)
  • Select the “Enable Update Installer” button and authenticate with you password.
  • “Front Row can now be installed. “
  • Open FrontRowUpdate1.0.1.pkg” located on the Desktop and proceed with the installation. When the process completes you have to log out. You should be logged back in automatically.

3. Enable Front Row

Though its been installed on your Mac, Front Row still needs to be enabled with two small patches. Front Row Enabler 1.1 will patch a couple related OS files so that Front Row will run as if it were on a new iMac G5.

  • Once again, open the Enabler.dmg disk image.
  • Run “Front Row Enabler” from the disk image. (That is don’t copy it to a different folder and then try to run it, as it has to be run from the disk image.)
  • Select the “Enable Front Row” button and authenticate with you password.
  • “Log out to make the changes effective.”
  • Log back in with your username and password.

4. Set Front Row Preferences

You now have a fully working version of Front Row. Open System Preferences though, to see why this method really shines. You have a full control over Front Row’s preferences.


Keyboard Shortcut
Open the Keyboard & Mouse preference panel. Under the “Keyboard Shortcuts” tab, ensure that Front Row’s shortcut is check-marked. The default keyboard shortcut to “Hide and show Front Row” is command-Esc but you can change it by double-clicking on it. I have it set to F11 along side my Exposé and Dashboard keys.


Sound Effect
Open the Sound preference panel. There is a new option under the “Sound Effects” tab to enable or disable playing Front Row sound effects. (While most are all great, the silly flute sound when you select Music from the main menu drives me insane.)

5. Enjoy Front Row

Launch Front Row and enjoy. The default keystroke is command-Esc. Try watching a few Movie Trailers, a feature that finally works with the updated application. I suspect Apple is giving bandwidth preference to Front Row users, as movies play almost instantly.

Keystrokes

  • Command-Escape – default to show and hide Front Row
  • Option+Up/Down – set volume
  • Enter or Spacebar – select menu, playlist, song, movie, etc.
  • Escape – go back to previous menu/screen
  • Tab – quickly return to desktop (or any other keys really)

Troubleshooting

This article assumes you haven’t tried installing Front Row before without the use of Enabler. If you have used previous versions of Front Row without Enabler:

  • Delete Front Row from “/System/Library/CoreServices/Front Row.app”
  • Delete the preference file “/System/Library/LaunchAgents/com.apple.frontrow.plist”
  • Remove any Login Items that launch Front Row (System Preferences > Accounts > User > Login Items)
  • Disable any shortcuts managed by third-party applications that launched Front Row.
  • Reboot and reinstall.

Technical Notes

In this process BezelServices.framework and BezelService.loginPlugin are modified, but only by a few bytes each. The boolean that reports if the remote is present or not is changed. For exaple it reports “True” if the remote is not present. (This is why it is recommended that it not be run on new iMacs because it would return “False” if you did have a remote.)

BezelServices.framework contains _BSRemoteControlFeatureAvailable which is called by any Application that uses the new remote, including Front Row and the preference panes. I decided to change this instead of patching Front Row, Keyboard.prefPane, Sound.prefPane and Security.prefPane themselves. This will also fix any new applications or Front Row updates that rely on the remote (As long as the framework itself isn’t replaced). Patching this framework enables the new preferences and allows Front Row to run.

BezelServices.loginPlugin (which is what listens for the brightness controls, volume controls, etc.) has its own call; _HIDMonitorRemoteUIToggle. This too checks for the remote and toggles Front Row once cmd-esc (or the ‘Menu’ key on the remote) is pressed. It also allows Front Row to load when command-esc is pressed then idle in the background once done. Front Row only loads the first time you activate it, as opposed to loading at boot.