README.mdown

Overview

This is the iMedia Browser framework that is used by a number of applications (and as the basis for a stand-alone utility). Developers are encouraged to include this in their application as long as there is proper attribution.

Sandboxing

iMedia 2.6 and later is compatible with common sandboxing setups, with the following notes:

Search the headers for SANDBOXING to make sure your app has the entitlements iMedia needs

Users must house their media within the standard Movies, Music and Pictures folders, or grant access to them by dragging in custom folders

iMovie Sound Effects have been removed on the basis that Apple doesn't want us poking around another app's resources

There is also a longer-term effort in the iMediaSandboxing fork to farm out parsing to XPC processes.

Compatibility

2.7

The same as 2.6, minus support for Garbage Collection.

2.6

Out of the box (the v2.6.x branch), iMedia supports OS X 10.6 Snow Leopard and later. It is suitable for both 32 and 64 bit apps. See above for sandbox compatibility details.

2.5

Basically the same as 2.6, minus sandbox compatibility.

2.1

For apps still supporting OS X 10.5 Leopard, we continue to support the existing iMedia 2.1 codebase on the v2.1.x branch.

1.x

For the older 1.x branch, which is not being maintained, you can get it from subversion:

svn checkout http://imedia.googlecode.com/svn/trunk/ imedia-read-only

Recent Release Notes

2.5.1

The +[IMBConfig registerDefaultValues] method has been made private. You should have no need to call it in your app as IMBConfig automatically runs that routine the first time it is used

2.5.2

When dragging or copying iPhoto images, we mimic iPhoto by also including ImageDataListPboardType on the pasteboard. This allows iPhoto-aware apps to properly handle image metadata without any knowledge of iMedia

2.5.3

+[NSImage imb_imageForResource:fromAppWithBundleIdentifier:fallbackName:] replaces +imb_imageResourceNamed:fromApplication:fallbackTo:. Apps likely shouldn't use this method anyway as it's fairly iMedia-specific. The new method nicely returns retina-compatible images if a suitable name is specified, like the other Cocoa image APIs.

2.5.4

-[NSWorkspace imb_iconForAppWithBundleIdentifier:] has been removed. Its fallback mechanism was buggy and relied on private implementation details in the OS frameworks, which have since broke. If you are using this method in your app, provide your own implementation instead

2.6

iMedia is now roughly compatible with the OS X app sandbox. See Sandboxing section above for full details

A few public APIs have been removed or changed in the process, but chances are you weren't using them, or the replacement is dead obvious in the headers