MPlayer Binary Bundle Reference¶
Starting from revision 13, MPlayer OSX Extended supports using different MPlayer binaries packaged as a bundle. This reference explains how such a bundle has to be structured and what it needs to contain to be properly recognized and used by MPlayer OSX Extended.
Bundle Structure¶
The binary bundle is standard OSX bundle following the same layout as applications:- bundlename.mpBinaries
- Contents
- Info.plist
- MacOS
- executable code
- Resources
- support resources
- Contents
When MPE is installed, the file extension mpBinaries will make Finder automatically recognize the directory as a bundle. However, on system where MPE is not installed, it will show up as a directory. It's possible and advisable, to set the bundle bit on the directory so that the directory will appear on all systems as a bundle.
To set the bundle bit, you'll need the SetFile command line utility, which is included with OSX Snow Leopard but requires the Developer Tools to be installed on earlier versions. Then, just execute the following command to set the bundle bit (replace B with b to reverse):
SetFile -a B bundlename.mpBinaries
Info.plist¶
There are a number of keys that need to be supplied by the Info.plist file for each binary bundle:
Required Keys¶
- CFBundleName
The name of the binary bundle. Will be displayed in MPE and used in dialogs.
- MPEBinaryDescription
Short description of the binary bundle.
- MPEBinaryMaintainer
Name of the maintainer of the binary bundle.
- MPEBinarySVNRevisionEquivalent
MPE sets defines a minimum MPlayer SVN revision it requires all bundles to have. This is used in cases new options are introduced or important bugs are fixed in MPlayer that MPE requires to function properly. In case the MPlayer binary is not compiled from the official SVN repository, this should contain the equivalent revision number of the official repository (i.e. the revision number of the last merge).
- CFBundleVersion
The version of the binary bundle. This version can be chosen freely and is only used for Sparkle and to compare bundles of the same kind. The version number needs to follow the standard dot-syntax (i.e. "15", "1.23" or "2.34.545").
- CFBundleShortVersionString
A string representation of CFBundleVersion that will be displayed in MPE.
- CFBundleIdentifier
A unique identifier of the binary bundle. Bundles with the same identifier are considered of the same kind and will install over each other. Identifiers are usually expressed as Java-style package names as in "ch.sttz.mplayerosx.extended.binaries.officialsvn".
- CFBundleExecutable
The name of the MPlayer executable in the MacOS directory that MPE will call.
- LSBackgroundOnly
This key should be enabled. This makes sure the bundle is not missrecognized as application bundle and appears bouncing in the dock while playing.
Optional Keys¶
- MPEBinaryHomepage
Link to the homepage of the binary bundle.
- SUFeedURL
Link to a Sparkle appcast that is used to auto udpate the bundle. See the Sparkle homepage for more info.
- SUPublicDSAKeyFile
Name of a DSA public key in the Resources directory to verify updates. Either signed updates or appcast/downlaods over https are requried.