My current library of videos and music has just about eclipsed the 2TB mark and as such my media can no longer be accessed from one location making browsing and searching more difficult and slower. To solve this problem I have created an app to manage all of this for me.
As the two locations my media is stored on are external drives they are slow to start up and so an "offline" list of all the media needs to be stored. Not only does this remove the time for a drive to spin up it will also allow for faster searches through the library. As this offline list was large it was stored in an SQL database using the visual studio tools to create different tables for each type of media. As well as tables for media there is a table for directories storing the directory path and the content in each, this allows the app to know where to look and for what with out asking the user after they've input the data once. It also allows the lists to be updated when content is added or removed.
These lists save time and make use of the app quicker and easier but they still need to be populated. To populate them the app has directory crawlers tailored to the types of media. For example the "TV show" crawler will search for a folder with videos in it and no sub folders, when it does it counts up the number of episodes and stores that with the series name gathered from the folder name. With movies I have formatted the Video names like so "Dune (1984) [1080p]" the crawler know to look for the date in parenthesis and the definition in square brackets and so it can store this data to inform a user browsing through the collection. All of this data is presented to the user in a collapsible treeview.
The top box is a search bar that uses the code shown below to check if each item is relevant to the search. The check boxes indicate the Type of media to show or search through. Reset will clear all data setting all check boxes to false and clearing the search data. Refresh will use the directory crawlers to search through the folders and update the lists.
if (text.ToLower().Contains(Search_txt.Text.ToLower()))
The "Edit Dir" button takes you to a directory browser which allows you to see the directories and edit them.
As all of the directories are stored the media can be played by clicking on it in the treeview at which point the program tells the computer to start the process and the default program is used to play the media.
With the search tool and the easy browsing this app has saved me significant amounts of time and has meant that I haven't needed to even open my media folder since.
Download: Here