Well I think someone with the php/sql chops needs to do is create a LAMP application in php or something, that will handle all the movie catalog/categories, and then dynamicly create XML files based on a central store for all your movie files.
Initially, you could have a php program, for instance, scan a specified directory, and create categories for all subdirectories, and then store all movie files names as the title of the movie. Store all this information in mysql (or another db of choice) and the n create a parser that will dynamicly create the XML files that corrispond to each category/ subdirectory of the main video share.
You then when ever you add content to your video share, you can re-run the file scanner, and it will update the DB (this could also be something that your just run every 12-24 hours) so you know that any *new* content added will be indexed within 12-24 hours.
Since all of this would be in LAMP you could easily use this on any platform - windows, linux, OSx etc ...
I would create a more robust DB schema, so people could manually add information to movie titles, like actual title, description, etc... In order to keep these entries from getting overidden, you would need a key identifier for each video file, maybe a combination of creation date and file size (that should be unique enough)...
Really not much needs to be done on the roku end except a simple interface where the user can enter the IP of the video server running LAMP. Everything else would be controlled by the Apache, PHP, mysql application, obviously very dependent on the video share
🙂 The inital page of the application will need a setup area, and then a video area, inside the video area will be all the categories (sub-directories, in the main scan), this would then ONLY pull the movie listings for each category, this should be a quicker process, as oppesed to d/l a xml file with EVERY movie in your library.
Some things to consider - would be scanning multiple deep sub-directories, so you could organize your videos better for example:
Video Share Root:
*TV
|--Showtime
|--HD
|--HBO
|--Fox
*Movies
|--Action
|--Adventure
|--Sci-Fi
*Personal
|--Birthdays
|--Wedding
Each category would be a different XML file, that will get dynamicly created based on the data in the sql db, from the indexing process...
Some categories would just have listing for other categories for instance from the above example, if you choose "Movies" on the Roku, you would be presented with the categories Action, Adventure, and Sci-Fi
Having all this stored in the DB would also allow you to use search. Take a look at how Amazon has their stuff setup in the Roku - it works quite well and I would use a similary approach...
Model: 2050X - wired
S/N: J0A07F000104
Location: St. Louis, MO
ISP: At&t 12Mb (primary) -- Charter 20Mb (secondary)