iMediaSandboxing / iMedia

The Karelia iMedia Browser, framework and application for browsing media on Mac OS X
http://www.karelia.com/imedia/
Other
18 stars 12 forks source link

Basic question about parsing Lightroom catalog at given path in iMedia3 #53

Closed derpoliuk closed 7 years ago

derpoliuk commented 10 years ago

Sorry for basic question.

I'm trying to parse Lightroom catalog.

In iMedia2 it was done using

[[IMBParserController sharedParserController] addDynamicParser: forMediaType:]

In iMedia3 I'm struggling with this. I tried to sublcass IMBParserMessenger or it's subclasses. But I have a feeling that I'm going the wrong way and there should be a simple way to do this.

Thanks in advance

Kind Regards, Stanislav

peterb180369 commented 10 years ago

Hi Stanislav,

You shouldn’t have to subclass anything. Lightroom should work out of the box. Takes a look at the included Tester app. Did you implement the delegate methods for the IMBLibraryController and IMBParserController?

Peter

On 24 Sep 2014, at 17:30, Stanislav Derpoliuk notifications@github.com wrote:

Sorry for basic question.

I'm trying to parse Lightroom catalog.

In iMedia2 it was done using

[[IMBParserController sharedParserController] addDynamicParser: forMediaType:] In iMedia3 I'm struggling with this. I tried to sublcass IMBParserMessenger or it's subclasses. But I have a feeling that I'm going the wrong way and there should be a simple way to do this.

Thanks in advance

Kind Regards, Stanislav

— Reply to this email directly or view it on GitHub.

derpoliuk commented 10 years ago

@peterb180369

Thank you for response.

My goal is to show content of only one Lightroom collection in iMedia3.

I checked iMediaTester but couldn't achieve my goal. If I run it - it won't parse all Lightroom collections in my ~/Pictures/ folder (all the folders without subfolders in ~/Pictures/ are folders with Lightroom catalogs):

screen shot 2014-09-25 at 14 31 41

What I have tried:

  1. Use -[IMBLibraryController addUserAddedNodeForFolder:] but it uses IMBFolderParserMessenger subclasses and parses folder for images in it.
  2. Add parserMessenger = [[[IMBLightroomParserMessenger alloc] init] autorelease]; to the method above. I'm getting crash: -[_NSInlineData unpopulatedTopLevelNodes:]: unrecognized selector

If I understand correctly, there are two steps to show only one Lightroom catalog in iMedia3:

  1. Hide/don't show other sources.
  2. Show Lightroom collection with custom file path.

I understand how to hide other sources: become delegate of +[IMBParserController sharedParserController] and return NO in

- (BOOL) parserController:(IMBParserController*)inController shouldLoadParserMessengerWithIdentifier:(NSString*)inIdentifier;

for all IMBParserMessenger identifiers except parser messenger for Lightroom catalog at the custom path.

But I'm struggling with second step.