Skip to content
The Karelia iMedia Browser, framework and application for browsing media on Mac OS X
Objective-C C Other
Failed to load latest commit information.
CC
ObjectiveFlickr @ b52142f
cs.lproj
de.lproj
en.lproj
es.lproj
fmdb
fr.lproj
iMedia.xcodeproj
it.lproj
ja.lproj
nl.lproj
no.lproj
pt_BR.lproj
zh_CN.lproj
.gitignore
.gitmodules
Credits.html
Flickr.tiff
IMBApertureAudioParser.h
IMBApertureAudioParser.m Noticed formatting on license prelude was wonky in some files. so I f… Dec 26, 2011
IMBApertureHeaderView.xib
IMBApertureHeaderViewController.h
IMBApertureHeaderViewController.m Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBApertureParser.h
IMBApertureParser.m
IMBApertureVideoParser.h
IMBApertureVideoParser.m
IMBAppleMediaParser.h
IMBAppleMediaParser.m
IMBAudioFolderParser.h
IMBAudioFolderParser.m
IMBAudioView.xib i18n of the table columns. Brought in the french translation manually. Mar 4, 2011
IMBAudioViewController.h
IMBAudioViewController.m If an app's icon can't be got for the toolbar, fall back to best avai… Nov 6, 2012
IMBButtonObject.h
IMBButtonObject.m
IMBComboTableView.h
IMBComboTableView.m
IMBComboTextCell.h
IMBComboTextCell.m
IMBComboViewTemplate.pdf
IMBCommon.h
IMBCommon.m Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBConfig.h
IMBConfig.m
IMBDisableTitleToColorTransformer.h
IMBDisableTitleToColorTransformer.m
IMBDynamicTableView.h
IMBDynamicTableView.m
IMBFNSubscribeFileWatcher.h
IMBFNSubscribeFileWatcher.m
IMBFSEventsWatcher.h
IMBFSEventsWatcher.m
IMBFaceObjectViewController.h
IMBFaceObjectViewController.m Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBFileWatcher.h
IMBFileWatcher.m
IMBFireFoxParser.h
IMBFireFoxParser.m
IMBFlickrHeaderView.xib
IMBFlickrHeaderViewController.h
IMBFlickrHeaderViewController.m
IMBFlickrNode.h
IMBFlickrNode.m
IMBFlickrObject.h Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBFlickrObject.m
IMBFlickrParser.h
IMBFlickrParser.m
IMBFolderParser.h
IMBFolderParser.m
IMBGarageBandParser.h
IMBGarageBandParser.m
IMBHoverButton.h
IMBHoverButton.m
IMBIconCache.h
IMBIconCache.m
IMBImageBrowserCell.h
IMBImageBrowserCell.m
IMBImageBrowserView.h
IMBImageBrowserView.m
IMBImageCaptureParser.h
IMBImageCaptureParser.m
IMBImageFolderParser.h
IMBImageFolderParser.m
IMBImageItem.h
IMBImageItem.m
IMBImageKit.h
IMBImageView.xib
IMBImageViewController.h
IMBImageViewController.m
IMBKQueue.h
IMBKQueue.m
IMBLibraryController.h
IMBLibraryController.m
IMBLibraryView.xib
IMBLightroom1Parser.h
IMBLightroom1Parser.m
IMBLightroom2Parser.h
IMBLightroom2Parser.m
IMBLightroom3Parser.h
IMBLightroom3Parser.m
IMBLightroom3VideoParser.h
IMBLightroom3VideoParser.m
IMBLightroom3or4Parser.h
IMBLightroom3or4Parser.m
IMBLightroom4Parser.h
IMBLightroom4Parser.m For some reason these were all importing NSData+SKExtensions but not … Nov 29, 2012
IMBLightroom4VideoParser.h
IMBLightroom4VideoParser.m
IMBLightroomParser.h
IMBLightroomParser.m
IMBLinkView.xib
IMBLinkViewController.h Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBLinkViewController.m
IMBLoadMoreObject.h
IMBLoadMoreObject.m
IMBMainThreadProxy.h
IMBMainThreadProxy.m
IMBMetadataTransformer.h
IMBMetadataTransformer.m
IMBMovieFolderParser.h
IMBMovieFolderParser.m Properly specify and document Photo Booth movies parser's requirements. Jun 3, 2012
IMBMovieObject.h
IMBMovieObject.m
IMBMovieView.xib
IMBMovieViewController.h
IMBMovieViewController.m
IMBNode.h
IMBNode.m
IMBNodeCell.h
IMBNodeCell.m
IMBNodeObject.h
IMBNodeObject.m
IMBNodeTreeController.h
IMBNodeTreeController.m
IMBNodeViewController.h
IMBNodeViewController.m
IMBObject.h
IMBObject.m
IMBObjectArrayController.h
IMBObjectArrayController.m
IMBObjectFifoCache.h
IMBObjectFifoCache.m
IMBObjectThumbnailLoadOperation.h
IMBObjectThumbnailLoadOperation.m
IMBObjectViewController.h
IMBObjectViewController.m
IMBObjectsPromise.h
IMBObjectsPromise.m
IMBOmniWebParser.h
IMBOmniWebParser.m
IMBOperationQueue.h
IMBOperationQueue.m
IMBOrderedDictionary.h
IMBOrderedDictionary.m
IMBOutlineView.h
IMBOutlineView.m
IMBPanel.h
IMBPanel.m
IMBPanel.xib
IMBPanelController.h
IMBPanelController.m
IMBParser.h Trying to access URL only while iMedia is using it doesn't scale. If … Sep 12, 2012
IMBParser.m
IMBParserController.h
IMBParserController.m
IMBProgress.xib
IMBProgressWindowController.h
IMBProgressWindowController.m
IMBProject.xcconfig
IMBPyramidObjectPromise.h
IMBPyramidObjectPromise.m
IMBQLPreviewPanel.h
IMBSafariBookmarkParser.h
IMBSafariBookmarkParser.m
IMBSandboxUtilities.h
IMBSandboxUtilities.m
IMBSkimmableObjectViewController.h
IMBSkimmableObjectViewController.m
IMBSmartFolderNodeObject.h
IMBSmartFolderNodeObject.m
IMBTableView.h
IMBTableView.m
IMBTargetDebug.xcconfig
IMBTargetRelease.xcconfig
IMBTargetTest.xcconfig
IMBTestApp.xib
IMBTestAppDelegate.h
IMBTestAppDelegate.m
IMBTestFaceBrowserCell.h
IMBTestFaceBrowserCell.m
IMBTestFacesBackgroundLayer.h
IMBTestFacesBackgroundLayer.m
IMBTestTextView.h
IMBTestTextView.m
IMBTestiPhotoEventBrowserCell.h
IMBTestiPhotoEventBrowserCell.m Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBTextFieldCell.h Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBTextFieldCell.m
IMBTimecodeTransformer.h
IMBTimecodeTransformer.m
IMBURLDownloadOperation.h
IMBURLDownloadOperation.m
IMBURLGetSizeOperation.h
IMBURLGetSizeOperation.m Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBXBELParser.h
IMBXBELParser.m
IMBiPhotoEventNodeObject.h
IMBiPhotoEventNodeObject.m
IMBiPhotoEventObjectViewController.h
IMBiPhotoEventObjectViewController.m
IMBiPhotoObjectPromise.h
IMBiPhotoObjectPromise.m
IMBiPhotoParser.h typo Aug 13, 2012
IMBiPhotoParser.m
IMBiPhotoVideoParser.h
IMBiPhotoVideoParser.m
IMBiTunesParser.h
IMBiTunesParser.m
IMBiTunesVideoParser.h
IMBiTunesVideoParser.m
Info.plist
LICENSE
NSDictionary+iMedia.h
NSDictionary+iMedia.m
NSFileManager+iMedia.h
NSFileManager+iMedia.m
NSImage+iMedia.h
NSImage+iMedia.m
NSString+iMedia.h
NSString+iMedia.m
NSURL+iMedia.h
NSURL+iMedia.m
NSView+iMedia.h
NSView+iMedia.m
NSWindow_Flipr.h
NSWindow_Flipr.m
NSWorkspace+iMedia.h
NSWorkspace+iMedia.m
OmniwebBookmarksToXBEL.xslt
README.mdown
TestApp-Info.plist
UKFNSubscribeFileWatcher.h
UKFNSubscribeFileWatcher.m
UKFSEventsWatcher.h Give UKFSEventsWatcher some error handling in the form of -addURL:error: Jul 16, 2012
UKFSEventsWatcher.m
UKFileWatcher.h
UKFileWatcher.m More progress on async loading Sep 18, 2009
UKKQueue.h
UKKQueue.m
UKMainThreadProxy.h More progress on async loading Sep 18, 2009
UKMainThreadProxy.m
UK_IMB_RenameBegin.h
UK_IMB_RenameEnd.h
badge_checkbox.png
cork-background.jpg
firefox_allBookmarks.png
firefox_bookmarksMenu.png
firefox_bookmarksToolbar.png
firefox_tag.png
firefox_unfiledBookmarks.png
i.tiff
i2.tiff
iMedia.h
iMedia.pch
iMedia.tiff
iTunes10-icon-01.png
iTunes10-icon-02.png
iTunes10-icon-03.png
iTunes10-icon-04.png
iTunes10-icon-05.png
iTunes10-icon-06.png
iTunes10-icon-07.png
iTunes10-icon-08.png
iTunes10-icon-09.png
iTunes10-icon-10.png
iTunes10-icon-11.png
iTunes10-icon-12.png
iTunes10-icon-13.png
iTunes10-icon-14.png
iTunes10-icon-15.png
iTunes10-icon-16.png
iTunes10-icon-17.png
iTunes10-icon-18.png
iTunes10-icon-19.png
iTunes10-icon-20.png
iTunes10-icon-21.png
iTunes10-icon-22.png
iTunes10-icon-23.png
iTunes10-icon-24.png
iTunes10-icon-25.png
iTunes10-icon-26.png
iTunes10-icon-27.png
iTunes10-icon-28.png
iTunes10-icon-29.png
iTunes10-icon-30.png
iTunes10-icon-31.png
iTunes10-icon-32.png
iTunes9-icon-01.png
iTunes9-icon-02.png
iTunes9-icon-03.png
iTunes9-icon-04.png ran images through ImageOptim to save a bunch of bytes in size Apr 6, 2010
iTunes9-icon-05.png
iTunes9-icon-06.png
iTunes9-icon-07.png
iTunes9-icon-08.png
iTunes9-icon-09.png
iTunes9-icon-10.png
iTunes9-icon-11.png
iTunes9-icon-12.png
iTunes9-icon-13.png
iTunes9-icon-14.png
iTunes9-icon-15.png
iTunes9-icon-16.png
iTunes9-icon-17.png
iTunes9-icon-18.png
iTunes9-icon-19.png
iTunes9-icon-20.png
iTunes9-icon-21.png
iTunes9-icon-22.png
iTunes9-icon-23.png
iTunes9-icon-24.png
iTunes9-icon-25.png
iTunes9-icon-26.png
iTunes9-icon-27.png
iTunes9-icon-28.png
iTunes9-icon-29.png
iTunes9-icon-30.png
iTunes9-icon-31.png
iTunes9-icon-32.png
itunes-icon-audiobooks.png
itunes-icon-folder7.png
itunes-icon-library.png
itunes-icon-movies.png
itunes-icon-music.png
itunes-icon-partyshuffle.png
itunes-icon-partyshuffle7.png
itunes-icon-playlist-normal.png
itunes-icon-playlist-normal7.png
itunes-icon-playlist-purchased.png
itunes-icon-playlist-smart.png
itunes-icon-playlist-smart7.png
itunes-icon-podcasts.png
itunes-icon-podcasts7.png
itunes-icon-purchased7.png
itunes-icon-tvshows.png
js.opacity
js.tiff
load-more-normal.pdf
load-more-pressed.pdf panic's shrinkit on PDFs saves space for several files! Feb 11, 2011
main.m
url_icon.tiff
version.plist
warning.tiff

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

Development

Developers are welcome to work on enhancements and fixes! Please use the GitHub issue tracker; note that we are not done migrating issues from the old Google Code issue tracker.

There are plenty of things that need to be done, and your help would be appreciated!

Something went wrong with that request. Please try again.