The Karelia iMedia Browser, framework and application for browsing media on Mac OS X
Objective-C C Other
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
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 27, 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 Fixed Xcode 4.6 related warnings Apr 11, 2013
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 Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBComboTextCell.h
IMBComboTextCell.m Fix crash in combo view after selecting rows a couple of times Oct 1, 2012
IMBComboViewTemplate.pdf panic's shrinkit on PDFs saves space for several files! Feb 11, 2011
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 Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBFSEventsWatcher.h
IMBFSEventsWatcher.m
IMBFaceObjectViewController.h Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
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 Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBFlickrHeaderViewController.m Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
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 Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
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 Fixed error check Jun 18, 2013
IMBLightroom3VideoParser.h
IMBLightroom3VideoParser.m
IMBLightroom3or4Parser.h
IMBLightroom3or4Parser.m Move to 10.6's own data searching method. Nov 29, 2012
IMBLightroom4Parser.h Backported changes and fixes to Lightroom parsers made for iMedia 3.0 Apr 20, 2012
IMBLightroom4Parser.m For some reason these were all importing NSData+SKExtensions but not … Nov 29, 2012
IMBLightroom4VideoParser.h
IMBLightroom4VideoParser.m
IMBLightroomParser.h
IMBLightroomParser.m Casts to keep the compiler happy Jun 18, 2013
IMBLinkView.xib Bugfix: outlets for ibListView and ibComboView were not set, so I ret… Jan 4, 2011
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 Use -drain instead of -release when using NSAutoreleasePool Jan 9, 2012
IMBNode.h Fixed Xcode 4.6 related warnings Apr 11, 2013
IMBNode.m
IMBNodeCell.h
IMBNodeCell.m Adopt modern drawing methods to handle flippedness for us. Jul 11, 2012
IMBNodeObject.h
IMBNodeObject.m
IMBNodeTreeController.h
IMBNodeTreeController.m
IMBNodeViewController.h * Fixed a compiler warning Apr 11, 2013
IMBNodeViewController.m
IMBObject.h
IMBObject.m
IMBObjectArrayController.h
IMBObjectArrayController.m
IMBObjectFifoCache.h
IMBObjectFifoCache.m
IMBObjectThumbnailLoadOperation.h Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBObjectThumbnailLoadOperation.m
IMBObjectViewController.h
IMBObjectViewController.m
IMBObjectsPromise.h
IMBObjectsPromise.m
IMBOmniWebParser.h
IMBOmniWebParser.m
IMBOperationQueue.h
IMBOperationQueue.m
IMBOrderedDictionary.h
IMBOrderedDictionary.m Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
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 Note custom parser sandboxing requirements. Nov 7, 2012
IMBParserController.m
IMBProgress.xib • Improved design of progress panel Sep 7, 2009
IMBProgressWindowController.h
IMBProgressWindowController.m Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBProject.xcconfig
IMBPyramidObjectPromise.h
IMBPyramidObjectPromise.m
IMBQLPreviewPanel.h Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBSafariBookmarkParser.h
IMBSafariBookmarkParser.m Merge branch 'master' into sandbox-compatibility Sep 13, 2012
IMBSandboxUtilities.h
IMBSandboxUtilities.m
IMBSkimmableObjectViewController.h
IMBSkimmableObjectViewController.m
IMBSmartFolderNodeObject.h
IMBSmartFolderNodeObject.m
IMBTableView.h
IMBTableView.m
IMBTargetDebug.xcconfig
IMBTargetRelease.xcconfig Give up on Garbage Collection Nov 19, 2013
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 Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBURLGetSizeOperation.h Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
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 Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBiPhotoEventObjectViewController.m Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBiPhotoObjectPromise.h
IMBiPhotoObjectPromise.m
IMBiPhotoParser.h typo Aug 13, 2012
IMBiPhotoParser.m
IMBiPhotoVideoParser.h
IMBiPhotoVideoParser.m
IMBiTunesParser.h
IMBiTunesParser.m
IMBiTunesVideoParser.h Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
IMBiTunesVideoParser.m Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
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 Switch to proper kCIInputImageKey constant Jan 7, 2014
NSWorkspace+iMedia.h Remove -[NSWorkspace imb_iconForAppWithBundleIdentifier:] Nov 6, 2012
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 Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
UK_IMB_RenameEnd.h Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
badge_checkbox.png
cork-background.jpg
firefox_allBookmarks.png ran images through ImageOptim to save a bunch of bytes in size Apr 6, 2010
firefox_bookmarksMenu.png ran images through ImageOptim to save a bunch of bytes in size Apr 6, 2010
firefox_bookmarksToolbar.png
firefox_tag.png
firefox_unfiledBookmarks.png
i.tiff
i2.tiff
iMedia.h Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
iMedia.pch
iMedia.tiff
iTunes10-icon-01.png Updated iTunes parser for new iTunes 10 icons Sep 2, 2010
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 Updated iTunes parser for new iTunes 10 icons Sep 2, 2010
iTunes10-icon-26.png
iTunes10-icon-27.png Updated iTunes parser for new iTunes 10 icons Sep 2, 2010
iTunes10-icon-28.png Updated iTunes parser for new iTunes 10 icons Sep 2, 2010
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 ran images through ImageOptim to save a bunch of bytes in size Apr 6, 2010
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 ran images through ImageOptim to save a bunch of bytes in size Apr 6, 2010
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 ran images through ImageOptim to save a bunch of bytes in size Apr 6, 2010
iTunes9-icon-20.png ran images through ImageOptim to save a bunch of bytes in size Apr 6, 2010
iTunes9-icon-21.png
iTunes9-icon-22.png ran images through ImageOptim to save a bunch of bytes in size Apr 6, 2010
iTunes9-icon-23.png ran images through ImageOptim to save a bunch of bytes in size Apr 6, 2010
iTunes9-icon-24.png
iTunes9-icon-25.png
iTunes9-icon-26.png
iTunes9-icon-27.png
iTunes9-icon-28.png ran images through ImageOptim to save a bunch of bytes in size Apr 6, 2010
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 ran images through ImageOptim to save a bunch of bytes in size Apr 6, 2010
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 ran images through ImageOptim to save a bunch of bytes in size Apr 6, 2010
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 Noticed formatting on license prelude was wonky in some files. so I f… Dec 27, 2011
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!