taconaut wrote:Hey,
I'm going to comment on your remarks in my name only

I'd be curious to hear from the other devs as well.
First off, thanks for contributing; I've skimmed through some of your patches and they look interesting.
Thanks !

taconaut wrote:modularization (or mavenization too)- I know there were some experimental forks where it's implemented. What were the conclusions ? Is there some opposition against ? I think it would be beneficial if we can separate into modules the 'plugin interfaces', the 'core' (which handles the configuration, media library, the folder hierarchy), the 'renderer/player', the 'http server', the 'Swing UI', the 'windows/linux/osx specific code', and the 'plugins'
I'm all in favour to mavenize it, but won't do the work due to a lack of knowledge.
Braking up the code in different modules would be nice, but is quite a lot of work. I've been tinkering with the idea to remove all UI code (which is tightly coupled to the business) from the application and expose functionalities through web services. Got a little project starting the concept under
pms-remote. Exposing the configuration is trivial for most parts (exposing methods from PmsConfiguration); some problems remain, as the engines (mencoder etc) are getting loaded asynchronously and dynamically and plugins can be configured through a GUI (swing) as well.
I don't think the http server should be a part of the default installer but rather a plugin that can be added.
Yes, I agree with you. Code restructuring is quite a lot of work. I've seen a mavenized PMS, someone already done it, but it seemed abandoned (which I can understand totally - applying changes to a restructured code base is not, what anyone want to do for a long time ) I know that the UI is closely linked to the core - for example the renderer configurations, etc - so that too is not so simple to achieve. But fortunately the code base is not soo big

I'm always very suprised that this soo many forks, and plugins already exists for PMS, for example your pms-remote

I can imagine what type of problems have you encountered trying to implement it.
taconaut wrote:migration to a distributed version control system - I'm sure this would help the life of the contributors, and plugin developers. Easy forking and merging streamline the development.
I'm fine with svn, haven't used git yet though.
I think it has a couple of benefits over svn. Merging or picking some change sets from other branchs is lightning fast, and easy. Not to mention, that it's much simpler keeping track of an 'upstream' project with rebasing the changesets against newer versions. Currently I'm trying to keep track a couple of forks made by others on github, based on lightglitch repo (at
https://github.com/gzsombor/ps3mediaserver/network ), so at later stage it will be easier to merge/combine if it's needed.
taconaut wrote:for me it seems that the DNLAResource contains too much functionality, after my refactorings it still nearly 1500 lines, and have ~30 instance variables. And it still contains code like if (this instanceof RealFile) ..., which is the very opposite what 'object orientation' and good practice should mean, for me, at least So I like to refactor the code, to have a much simpler ancestor objects, which only defines the basic functionalities (like getChildren / discoverChildren / searchByID / etc ), and the descendant objects can add custom functionalities, and not need to suppress inherited functionalities.
Haven't worked enough with it to juge how it could be split up. Had to workaround some behaviours with pms-mlx though.
Unfortunately I'm still doesn't understand at least half of the variables of that class

taconaut wrote:some media library functionality I consider is essential - I would like to see pms-mlx code merged, especially I like it's nice UI for managing the media hierarchy
Thanks

Agreed, but there's still lots of work to do before it can be added to the offical build.
I know that creating a useful media library is not easy, because I guess, every one store their movie collection in an unique hierarchy, so you have to guess, that how to collect as much information as possible from the full path, the file names, to get the name of the movie (detect if it's a tv series, then interpret the names a little bit different) ... , and after how to group together one-or-more video file with one-or-more subtitle file, or with an nfo-file, or with a cover.jpeg, or with a sample, etc ... And after you know the title, and a list of related files you need metadata ... from IMDB .. and TMDb ... and your local movie site ... and you have to merge the various informations together ...

So it's not an easy process, and not an easily automatized process. I know that, because once, I've already tried it, in the Flicklib project :
http://code.google.com/p/flicklib/lightglitch wrote:I did some of those suggestions (and some more radical like a complete core rewrite) a while a go to the main developers and I'm willing to contribute.
I'm interested, what do you think, what do you want to rewrite in the core

Or, if everything, then I'm more interested, how do you think ?
