English > Scripts and Templates

Export plugins for J River Media Center

<< < (3/6) > >>

patch:

--- Quote from: raldo on April 02, 2009, 04:02:48 pm ---The way it would work (if possible) is as follows:
(i) In MC, select one or more files and select "Import metadata from PVD"
(ii) The MC plugin signals PVD sequentially for each filename with with a request for metadata.
(iii) A receive thread on the PVD side processes each request and initiates a metadata scan.
(iv) When the scan for a file has finalized, PVD signals back to MC, either a disambiguation list of alternatives (as descibed above) or the "one and only result"
(v) If MC receives a list of alternatives, the MC plugin brings up a dialog from which the user can select the correct item. Then, MC requests data from PVD.
(vi) When the MC plugin has received data, it populates fields in the MC db according to user configuration in the MC Plugin.

Communication would take place via UDP.

Alternatively, MC could retrieve the data from the database (using the API some other user provided in "some other thread").

--- End quote ---
Here I agree with rick.ca, PVD has put a lot of effort into collecting movie data from various sources so let it do it's job as it was designed to. Implementation options
a) The simplest is get the user to run PVD first.
b) MC plugin requests data from PVD, then PVD use its full GUI to retrieve the data prior to returning it to MC plugin
c) Combine the above. MC plugin request data from PVD, if know to PVD it returns full information, if it is not in the PVD data base it returns what it knows (ie nothing).


Looking at the user work flow.
User loads movies into PVD, pulling metadata from various sources
User Quits PVD (firebird doesn't allow multiuser / multiprogram access in PVD).  This assumes Media center plugin accesses PVD database directly. If piping between plugins the PVD would need to be left running.
User runs J. River Media Center
User runs plugin to pulls data from PVD/firebird database for all available or recently updated records

If intermediate tags were used the work flow would be
User loads movies into PVD, pulling metadata from various sources
User runs script / plugin in PVD to export tags for all or recently updated (I would like PVD to do this transparently eventually, maybe via an option to "Maintain tags")
User runs J. River Media Center
User runs plugin to pulls data from tags for all available or recently updated records (could be automated via a "Scan folders on start up option")

Other differences
The tag files approach results in
a) Multiple tag file being stored on the hard disk (which some users may object to).

The J. River Media Center plugin approach
a) Would probably require updating each time PVD or J. River Media Center was updated.
b) Implies low level access to the firebird database is available. Alternatively if implemented as matching plugins in PVD & J. River Media Center, then we need a pipe function between plugins transfering a data format which will probably be similar to the "tag approach". Reading tag data from J. River Media Center plugin via PVD plugin via firebird may be slower than pulling it directly from windows file system tags depending on incremental update optimisation done.


--- Quote from: rick.ca on April 03, 2009, 10:58:21 am ---I don't think it's a sensible solution for what's being discussed here. Raldo is considering creating a plugin for J. River Media Center that would pull data directly from the PVD database into MC.

--- End quote ---

Fair enough.
We agree aiming for a no compromise solution is appropriate. We differ on what level of abstraction is ideal :)

raldo:
Nostra,

Are you interested in integrating PVD with MC as I outline above, considering that there will be needed sw changes on the PVD side?

On the other hand, do you think the method I outlined above is "good"? Is there maybe another way in which this can be made seamless?

nostra:
It is very difficult for me to say which method is the best as I have never worked with MC and it's API.

If I would need existing data from PVD I would just query the PVD database directly using SQL and then put data into MC using it's API. This seems like most powerful and universal way to me.

Another approach that is much easier is to create an export template for PVD and write an import plugin for MC that understands files generated using the template. 


If i would need to get data from MC into PVD I would just write an import plugin that uses MC API.


I have no problem adding some kind of communication protocol in PVD if it would make sense, but I do not see a need for this at this point.

raldo:

--- Quote from: nostra on April 07, 2009, 01:53:00 pm ---It is very difficult for me to say which method is the best as I have never worked with MC and it's API.

--- End quote ---
Well, I was more thinking in general terms. Would you view this as a good "general method" of integrating with a front end type of system?


--- Quote from: nostra on April 07, 2009, 01:53:00 pm ---If I would need existing data from PVD I would just query the PVD database directly using SQL and then put data into MC using it's API. This seems like most powerful and universal way to me.

Another approach that is much easier is to create an export template for PVD and write an import plugin for MC that understands files generated using the template. 

If i would need to get data from MC into PVD I would just write an import plugin that uses MC API.

--- End quote ---
Some other users in your forum have already solved this. I.e. we can Import metadata from PVD.

But it requires several manual steps and that's what I'm trying to "fix" with the solution outlined above. I.e. what I'm trying to achieve, is a tighter integration between MC and PVD which doesn't require several steps and switching back and forth between applications after the user has acquired and imported new movies in MC.


--- Quote from: nostra on April 07, 2009, 01:53:00 pm ---I have no problem adding some kind of communication protocol in PVD if it would make sense, but I do not see a need for this at this point.

--- End quote ---
Fair enough, It's your call..

rick.ca:

--- Quote from: nostra on April 07, 2009, 01:53:00 pm ---If I would need existing data from PVD I would just query the PVD database directly using SQL and then put data into MC using it's API. This seems like most powerful and universal way to me.

--- End quote ---

Raldo, I don't understand your apparent reluctance to consider this may be the best solution.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version