Idea, help, additions etc.

phunkyfish
2007-08-17
2013-02-12
  • phunkyfish

    phunkyfish - 2007-08-17

    Hi,

    First of all I'd just like to say this is a great piece of software!

    I had been toying with the idea of creating my own movie manager when I came across your software. The functionality is great and I think you've already got a lot of what I was thinking of implementing. I'd like to write a servlet interface to your GUI, allowing you access your database remotely without needing your software, this would also allow other platforms including the xbox to access the database via http. This would only be for reading the database, no writes would take place. Then further down the line write an interface for XBMC (XBox Media Centre) and other platforms, a generic design would be best.

    Of the features I wanted here are some that I think would benefit your software. If you have any feedback on any of the features that would be great. I am a Java programmer myself and would be happy to help out on the project. It has been some time since I have used Java for GUI's, most recently I have been using servlets but my main focus has been algorithms and optimisation.

    I hope I'm posting this in the correct forum!

    1) When adding multiple movies, to do so only by directory, have the option to only lookup movies where an "imdb.xml" exists in a directory. This file would contain, the name of the movie, the year, the imdb ID and the video files in question.

    Example:

    One directory could contain:

    <?xml version="1.0" encoding="UTF-8"?>
    <IMDBMovieDetails>
       <IMDBMovie title="My First Movie">
          <SimpleInfo>
             <date>2000</date>
             <imdbID>tt0012324</imdbID>
             <files>
                <file>my.first.movie.cd1.avi</file>
                <file>my.first.movie.cd2.avi</file>
             </files>
          </SimpleInfo>
       </IMDBMovie>
    </IMDBMovieDetails>

    And in another:

    <?xml version="1.0" encoding="UTF-8"?>
    <IMDBMovieDetails>
       <IMDBMovie title="My Second Movie">
          <SimpleInfo>
             <date>2000</date>
             <imdbID>tt0012325</imdbID>
             <files>
                <file>my.second.movie.avi</file>
             </files>
          </SimpleInfo>
       </IMDBMovie>
    </IMDBMovieDetails>

    This has the benefit of not requiring user intervention when retrieving movie informtion from IMDB. You also know the files required to run the movie. Obviously the first time the user adds a lot of movies it would be a lot of work to create all of the "imdb.xml" files. The real benefit occurs when directories get moved or renamed etc. It would easily enable the relinking of database entries with the directories/file on the local filesystem. In fact the option to add "imdb.xml" files to each directory would also be beneficial. The "imdb.xml" could also be used when the databse if offline etc. As such you still have simple access to movie information.

    2) To store the location of directories and files separately in the database. I.E. don't store the file path as one entry. Even to store the machine name separtely thereby allowing access to the files from any computer on a local network. This could be extended to storing file paths for different platforms. You could access the database from another platform (XBox/PC/Linux/Mac), after choosing a movie, by selecting the correct file path, you could then play/access the movie file(s) themselves. Example in XML (I just made up the example OS types could be anything) :

    <movieLocation>
       <windows>
          <machineName>\\MOVIEPC</machineName>
          <directory>c:\movies\action\war\mymovie</directory>
          <files>
             <file>my.first.movie.cd1.avi</file>
             <file>my.first.movie.cd2.avi</file>
          </files>
       </windows>
       <linux>
          <machineName>192.168.1.20</machineName>
          <directory>/usr/movies/action/war/mymovie</directory>
          <files>
             <file>my.first.movie.cd1.avi</file>
             <file>my.first.movie.cd2.avi</file>
          </files>
       </linux>
       <xbox>         <!-- no idea how files are accessed on an XBox!!! -->
          <machineName>MOVIEPC</machineName>
          <directory>c:/movies/action/war/mymovie/</directory>
          <files>
             <file>my.first.movie.cd1.avi</file>
             <file>my.first.movie.cd2.avi</file>
          </files>
       </xbox>
       <web>
          <machineName>www.mymovies.com</machineName>
          <directory>/movies/action/war/mymovie</directory>
          <files>
             <file>my.first.movie.cd1.avi</file>
             <file>my.first.movie.cd2.avi</file>
          </files>
       </web>
    </movieLocation>

    3) In 1) I mentioned using "imdb.xml" to relink files in the database. They could also be used to add new movies to the database, even if they are stored along with movies already in the database. I.E. check in the database for the imdb ID, if it's already there, then check to see if the same files are referenced, if they are then skip this directory, otherwise retrieve the entry from IMDB. In the case when the paths don't match, it would be possible to relink the database entry for the movie with the actual directory/files, kinda like repairing moved/renamed directories/file. You could prompt with a "Do you want to relink?" dialog, with an option to relink all movies that have this issue.

    4) An option to "prune" the database. Run through all movie entries in the database and check does each link correctly to it's video files. Prompt to remove entries that do not have files.

    5) Store the "tt" part of the IMDB ID in the database. I would imagine this will change in time once the ID's begin to run out. A bit of a Y2K thing I would imagine.

    6) Option to open a video file on the local machine. You may need to setup the program to use locally to view a file in a separate dialog.

    7) Store genres as separate entries. You would be able to search for movies from particular genre's or a number of genres. Example: Search for a Comedy movie, search for an Action movie, search for a Comedy or Action movie, search only for Action Comdies...

    8) Maybe allow the user to set how the movie search filter works. I.E. An Itunes ways vs the current way, e.g. if you searched for "and the" only movies with "and the" exactly would be returned. Same as your current search but not required you to enter quotes...

     
    • Bro

      Bro - 2007-09-02

      Dammit!

      Sorry for not answering.
      Must have missed the email notice.

      I find your suggestions very interesting.

      1)
      "This has the benefit of not requiring user intervention when retrieving movie informtion from IMDB."
      I don't understand.

      "You also know the files required to run the movie."
      You know this already, don't you?

      2)
      It's currently possible by map a hard drive on another machine, however it's not the best solution. How do you map the C drive for example...
      I agree it'd absolutely be benificial to do it this way.

      3)
      Nice!

      4)
      Yes!

      5)
      Yeah I guess you're right. It's not really problem until they change it. Even then it's easy to fix this.

      6)
      It's already possible to start a video player.

      "You may need to setup the program to use locally to view a file in a separate dialog."

      Umm...you mean set up a video player for each platform?

      7)
      You can already do this by defining an alias "genre" for genre.

      Action = {genre:action}
      Comdey = {genre:comdey}
      Action or Comedy = {genre:action OR comedy}
      Action and Comedy = {genre:action AND comedy}

      8)
      Yes this is possible, but isn't this just confusing...?
      It's more important to make availlable an easy doceumentation on how to use the thing (from within the app).

      By changing this it would no longer be possible to search for exact phrases.

      Thanks for all these suggestions.
      I really hope you can join the project and help out!

      Bro

       

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks