What does it do?
I enter a list of File shares accessible on the network
It enumerates over those shares and generates a searchable index
When I want to watch something I type in a keyword and see all the related files accessible on the LAN, click one and it starts playing without me needing to navigate to the share myself.
It also can search by when the file was created which allows for it to detect when new files are added and they show up in a special list.
And it can be run as in kiosk mode so that anyone can use the media pc as long as they know how to use a mouse and keyboard
Its very similar to the media libraries in Winamp and Windows Media Player, but the GUI is designed with TV output in mind and it has the "recent" files list which I don't think either of them have.
Why "Media PC Software"? because we have a media PC in our living room hooked up to the TV (it's inside an old nintendo box, how cool is that!) and this is the software that runs on it.
Differences between this and the last Media PC Software
-The GUI + Indexer has been split into two processes so that you can have an instant-on index thats always up to date (leave the indexer running on the computer hosting the media).
-The two processes communicate using .Net Remoting... damn am I behind the times. I chose this option over WCF as #1 it would have been massive overkill and #2 All config file examples of WCF I've seen are cluttered at best and unintelligible at worst, and I've read that its not easy to do run time configuration changes (though I haven't verified that)
-GUI portion now plays media using VLC instead of Windows Media Player (more supported media formats)
-No Database, this was not an intended change, but it does however make things incredibly fast (at the expense of memory). Since every query needs to do a full text search of text in potentially any language and there isn't much else associated with a file I don't think switching to a database will add any value. I might keep things as they are but push the Cached results into a file and have the indexer scan through the file using IEnumerable + Yield. It will slow things down a little bit but will reduce the memory requirements to pretty much nothing.
Things to do
I lost some features such as the being able to change the list of media file "extensions", right now its hard coded but thats an easy feature to add and I lost the feature for filtering the list of results. Not all media should be viewable in the livingroom. :P Another minor feature, I'll get to it later this week perhaps.