meta<browser/> 2.0 (Preview)
meta<browser/> started off as a fun project to gather metadata for Media Browser, one of the best Media Center plugins I’ve used, and chances are, if you’re reading this, you are already a user of Media Browser. Over the year meta<browser/> has had a decent following and has helped many people (including myself) in organizing their media collection by giving full control over all aspects of the metadata, but it had a couple of major limitations:
- Tied to mymovies.xml for both reading and saving metadata
- Tied to TMDb and TVDb for metadata providers
The next version breaks these limitations and takes some steps in improving the overall usability and flexibility of meta<browser/>.
A few things need to be said and noted before starting this preview:
- This version will not be free (the payment method has not yet been finalized)
- This version will require an Internet connection for verification
- This version (in its current state) will not work if installed on a RAID system (fixed)
Now that that’s out of the way we can move on to the meat of this article!
The Idea
Although I am a user of my own application (duh), I still found myself looking online for information that meta<browser/> could not find, especially for foreign movies (bollywood anyone?). TMDb, although a very nice service, is limited by its age, and thus, limited to the number of titles available through their service.
With the next version I wanted an easy way to incorporate all the online sources I used in one place, to easily manage my metadata withought having to go to multiple online sources. I also wanted to support multiple frontends and not be limited to just reading and creating metadata for MediaBrowser. I also wanted the interface to be clean, well layed out, easy to understand, and most importantly, flexible! Hopefully I have accomplished that in the next version.
The Interface
The new interface retains a lot of familiarity and usability of the previous version, but this time the user has full control over the placement of every window. Everything is scalable, so resolution will not be an issue, as a lot of users learned that a specific resolution was required to view all the available options on the main window in the previous version.
The main application buttons have been moved up to a ribbon for easy access, it gives it an updated look and doesn’t interfere with the flow of the main application window. The poster and backdrop images automatically scale to fit the size of the re-sized window while still retaining their aspect ratio.
Below are some screen shots of some different layouts possible with the new version. These screen shots were taken on a 720p resolution laptop, so a higher resolution screen will let the user have more customized layouts.
The Plugins
One of the major overhauls that was made to meta<browser/> was a controlled plugin architecture. The next version will introduce three major levels of plugins that will be the “heart” of how meta<browser/> functions. With this plugin architecture meta<browser/> is no longer tied to just MediaBrowser or mymovies.xml, it can be used for any frontend that supports locally stored metadata!
Each plugin can have its own set of options that does not relate to meta<browser/> in any way and meta<browser/> has no way of knowing what these options are. For example, the Media Browser plugin has options for the user to enter their ImagesByName path. The MyMovies plugin has options for the user to enter their username/password to be able to use the MyMovies API, and so on.
Let me explain the three major levels of plugins.
Locals
Locals are plugins that look for already existing local metadata that you have stored with your media. There can only be 1 Primary local and is set by placing it at the number one position in the list.
For example, in the image to the right you will see two local plugins, one for Media Browser, which will look for and fetch local metadata that is compatible with Media Browser (mymovies.xml/folder.jpg/backdrop.jpg), and is set as the Primary local, and one for XBMC, which will look for and fetch local metadata that is compatible with XBMC (movie.nfo/movie.tbn/fanart.jpg), and is set to Disabled.
All non-primary locals can either be set to Disabled or Fallback. If a local is set to Fallback, it will be used as a fallback only if the Primary fails to have any local metadata and any other locals in the order of the list also fail to have any local metadata. If all plugins fail to have local metadata, it will use the minimum provided details that the primary locals plugin provided.
For example, if XBMC was set as a fallback and the MediaBrowser local failed to find any local metadata (no mymovies.xml), it will use the XBMC local plugin, and if metadata was found it will use that metadata and display it in meta<browser/> for the user to edit and save.
Majority of users will not need to have any plugins set as fallback, but can come in handy if transitioning from one frontend to another, which will make more sense when we take a look at Savers.
Savers
Savers, as the name suggests, are plugins that can save your metadata locally in various formats. You can have multiple savers enabled at the same time which allows you to save metadata in multiple formats, for example, enabling the MediaBrowser saver will save metadata, images and actors in a format that is compatible with MediaBrowser (mymovies.xml/backdrop.jpg). Enabling the XBMC saver will save metdata that is compatible with XBMC (movie.nfo/movie.tbn/fanart.jpg), and so on.
In the image to the left you will see that there is a separate plugin that saves just the first poster image as a folder.jpg, that is becuase both MediaBrowser and Windows Dvd Library both use folder.jpg, so instead of saving a folder.jpg in both plugins, you can create a plugin that saves only the first poster image as folder.jpg.
Each saver plugin has 5 main functions: save metadata, save posters, save backdrops, save actor images and provide the path to save trailers. The plugin developer can choose which functions they want to implement in their plugin.
The order in which the savers are called can be set by using the arrow buttons. In the above picture, the folder.jpg plugin is called first, followed by the MediaBrowser save, followed by the DVD Library saver. The reason for this is that, for example, a plugin can be created to resize folder images and can be set as the first saver plugin (which actually doesn’t do any saving, only resizes the images in memory), then it would go to the folder.jpg saver which saves the resized image as folder.jpg. There are many possibilities, this was just an example.
Fetchers
Fetchers are plugins that use online resources to get movie metadata. These fetchers are for metadata only, not for any images, I’ll cover images a little later.
First i’m going to explain the concept of the Default Fetcher. The default fetcher is intended to be used as the “main” fetcher. The way the default fetcher works is the following:
- Uses IMDb.com as the primary movie identifier
- Uses the plugins selected in the dropdown for each metdata field as the source for that field
The reason IMDb.com is used as the primary movie identifier is because IMDb is THE movie database, it has the biggest collection of movies, has the correct titles, correct production years, returns good search results and a majority of the other fetchers have a way to find a movie based on the IMDb ID. This structure also allows you, for example, to get Descriptions from Netflix, Genres from IMDb, Actors from MyMovies, and so on. (Note: The default fetcher/primary movie identifier can be changed by any plugin developer if they wish to do so)
If something other than the Primary Fetcher is used (either as the Real Time fetcher or in the main application window), then ONLY that fetcher is used to populate all fields of the metadata. Since some of the fetchers return undesirable results (eg Netflix genres are all over the place, MovieMeter does not return roles for actors), you can turn off any specific fields for each plugin from being retrieved and updating your metadata (does not apply to the real time fetcher). This is helpful if you perform a fetch using the real time fetcher, but want to use one of the other fetchers to retrieve some information that might have been missed…only updating missing information, this would allow, for example, to skip populating the genres from Netflix if you have it turned off in options.
The Mappings
An interesting addition in the new version is global mappings. Mappings allow the user to replace (map) any values retrieved by the fetcher to a value defined by the user. Mappings can either be Text based or Regex based, so it can be as simple or as powerful as you want it to be.
If using text based mapping, you can set the mapping to either be an Exact Match and/or Case Sensitive map (exact match and match case are disabled and have no effect when using a regex type mapping).
- Exact Match- Match values that is exactly as the text entered in the pattern, for example, an exact match pattern of “Action” will only match any metdata returned by the fetchers that contains “Action”. It will not match, for example, “This is an Action movie”, because it is set to be an exact match. If Exact Match was not set, it would match “This is an Action movie” and replace the word Action with your replacement.
- Match Case – Case sensitive match, “Action” is not the same as “action”.
Mappings can be very useful in managing genres, studios, mpaa ratings, etc, to get exactly the value you want, for example:
- An exact match text map of “R” to “18″ will replace the MPAA Rating value of “R” with “18″
- An exact match text map of “Film-Noir” to an empty value will prevent Film-Noir to be added to the genres list
- An exact match text map of “Warner Bros. Pictures” and “Warner Bros. Entertainment” to “Warner Bros.” will replace your pattern with just “Warner Bros.”, but it will only be added once if both items are returned in a result, so you will not get duplicates if you have two items mapped to the same value.
- A regex map of \((\S+) (\S+)\) to ($2, $1) will replace, for example (Foo Bar) with (Bar, Foo). This example can be used if using Netflix as the plugin for the description, since netflix puts actor names next to their roles in parenthesis.
The Images
Posters, Backdrops and Actor images are also plugins. Unlike the previous version, they not tied to a specific metadata fetcher, and although most plugins need at least an IMDb ID or some type of ID to perform it’s search, it is possible to code an image plugin to perform a search using any information provided in the metadata.
For the Posters, Backdrops and Actors you can select the preferred plugin you want to use along with an option to only use that preferred plugin.
Preferred plugin is the plugin that meta<browser/> should use first, before trying to find results in one of the other plugins. If you put a check next to “Only use preferred plugin”, then meta<browser/> will only use that preferred plugin and not call the other plugins if the preferred plugin does not return any results.
One thing to note is that the “Only use preferred plugin” and “Number of images to download” only comes into play with the Real Time Fetcher or with Process Movie (ie. when you drop a movie into a monitored folder and meta<browser/> automatically grabs metadata for you OR right clicking a movie and clicking process movie). If manually selecting images meta<browser/> will use the preferred plugin first, but if no results are found, will show results in the image preview window of the plugin that did find results.
Below are some screen shots of the familiar, but redesigned, image preview windows. You’ll notice there are dropdowns available for you to select which image plugin you want to use to preview and download images from.
The Trailers
Trailers was a topic that kept coming up as there was no support for it in the previous version of meta<browser/>. The major reason for not having support was because the only way trailers was supported in Media Browser was through a file reference in the xml (previous version of meta<browser/> was really intended to only work with media browser) and I just didn’t feel the xml route was the way that trailers should be handled.
With the new version comes a new trailer downloader. Trailers, like images, are also pluginable, they return all available trailers they find from its online resource at a specific resolution and meta<browser/> handles the rest.
The image to the right shows the new trailer download manager, which lets you see exactly what trailers are in queue, the speed, the percentage and the size of currently active download. Downloads can be paused and cancelled, and a cleanup button cleans up all completed and/or cancelled downloads. The download manager also supports resume, which can come in handy if your download is halted or disconnected.
Besides downloading trailers for movies already in your media collection, you can also download trailers for upcoming movies. This feature uses Apple’s Recent Trailers feed as the source for the recent trailers and is a built in part of meta<browser/> (not pluginable).
All recent trailers are downloaded to a single folder you specify in options. The reason for adding recent trailer support was because frontends like MyMovies (and hopefully MediaBrowser soon) allow you to play trailers of upcoming movies before playing the actual movie (gives it a more theater like experience) and meta<browser/> gives the user an easy way to manage it.
A scheduler can also be setup to autotmatically look for and download new trailers, delete trailers after a specific number of days and the maximum number of trialers to download.
The Rest
The rest i’m just going to glaze over, I don’t think it lists all the new additions/updates, nor is it in any specific order, it’s just a very brief list of some of the new features.
- Renaming has been completely reworked/recoded. All items that need to be renamed are put in a Rename Que, which is executed every 30 seconds. The issue with renaming multi-part movies in the previous version has also been resolved.
- The media collection now shows you the number of posters/backdrops each item has by hovering over the item in the list. This also allows you to filter by the number of posters/backdrops an item has.
- Images can be added using drag/drop, for example, dragging an image from google images to the backdrop window will add it as a backdrop in your collection
- Images can now be deleted from the GUI
- Images can now be rearranged from the GUI, makes it easier to arrange the images in the order you want for the frontends that support multiple images (eg MediaBrowser and multiple backdrops)
- The Cast, Crew, Genres, Studios, Taglines and Countries items support drag/drop to rearrange the items, no need to struggle moving items using the arrow buttons like in the previous version
- Each monitored location can be enabled/disabled in options without the need to delete it from the list
- All buttons on the ribbon can be added to a Quick Access Toolbar
- ValueLists are available in Options for the user to edit the auto-complete fields that metabrowser has, for example, genres and studios
- Real Time Monitoring and Metdata Fetching has been separated. In the previous version if you enabled FileSystemWatcher it automatically downloaded metadata for newly detected items
- A new saved filters manager is available. This management window lets the user set up saved filters without having the filter applied to the list while configuring the filter
- The search results window now lists the cast to make it easier to identify the correct movie
- The search result window now supports the use of the production year (in parenthesis) in the search field to filter the search results by that year. For example, searching for Batman (2008) will show all results for Batman with the production year 2008
- A new “Set” field has been added to movie metadata. This allows you to create sets of movies without having to have the movies in sub-folders. For example, if you had the 3 matrix movies spread across 3 hard drives, but still wanted to show them as a set, set the value of each movies Set field to “Matrix Trilogy” and it will appear as a Movie Set in meta<browser/>
- A new “Comment” field has been added to movie metadata. This allows you to have specific comments for that movie and is also available as a value for your movie rename pattern. For example, you can set your comment of one of your movies to 1080p Directors Cut, and set the rename pattern to %lt [%cmt], which would result in Local Title [1080p Directors Cut]
The roadmap for future release looks like the following:
- Initial release with Movie support only
- Fix any issues that arise with the initial release
- Add support for TV Series/Episodes
- Add Process All functionality























Cool, when can we expect a preview/beta release ??
Hopefully in a couple of weeks.
Like many other I am sure, your technique of design and organisation all rolled into one is second to none, however I have three points to mention:
One:
I am an avid media collector and organiser, and like others I am sure, have gained a collection of trailers to match my movie collection as watching the trailer is a great reminder of what the film was about , and lets face it who needs an excuse to add more media LOL. So, it was a shame to see no local link to a trailer, and just relying on an internet trailer sorce. What happens when it’s not available online anymore – which in medi terms would be quickly.
Two:
I also love the connecton with new apple trailers – best sorce around, however, other have tried and failed to pin apple trailers down as when apple hears of someone getting through to the trailers using a third party app, the close up the gap. Do you have an unclosable gap, or will the programme need updateing each month/week?
Three:
Can you call it a ‘Donation’ if there is no choice if you want 2.0? Could you not find an advertising sponsor to foot the bill and keep the internet free?
Just a couple of points to think about. I think you have and are doing a great job: keep it up mate!
jackdidit.
1. I don’t understand what you mean by no local link to trailer? The trailer downloader downloads trailers for media items in your collection, then, based on the “Savers” you have enabled, the trailer will save it to the location and perform and post processing it needs to (eg update xml to point to the trailer location). If you are referring to MediaBrowser and their new method to store local trailers, which took away the ability to have a reference in the xml, then that is not somthing I have control over, although I do prefer the new method.
2. My application has no control over any of it’s online sources where it gets metadata, b/c that’s all my app does, makes it easier to gather metadata from different sources….so if something changes with the online sources then the code would have to be changed to adjust to that…I don’t have a magic wand or an unclosable gap
3. heh, no, I don’t have a sponsor or anything…if you find one let me know
Just a final thought LOL…
What happend to 1.0? Most recent version is 0.9 Beta. LOL
Take care mate.
jackdidit.
I really cant wait for this release. I think it will be really nice to have an option to print a list of movie in your collection, maybe see if you can incorporate this feature.
Really looking forward to this release…
Question though… Can this be run side by side with version 0.9 Beta? As I have a lot of TV Series aswell as movies, I rely on MetaBrowser to organise my TV Series meta data too…
If not, I probably wont upgrade until TV Series meta data is sorted using this new version too…
One other question, once version 2.x supports TV Series, will there be a way of manually telling Meta Browser that something is TV and not a Movie? I know many people ask about that frequently on the forums…
Well done on all the hard work though… Looking forward to downloading all the trailers for my movies
Yes, you can run the previous version along side this version (atleast till TV support is added to the new version).
Well, the way TV identification works is based purely on how the file is named, if you name the file with the following format: sXXeYY or SSxEE then you will have zero problems with it being identified as a TV episode.
Take Care
Fantastic! Just give me the link to download and a method of payment
Ditto to that…
Seriously can not wait for this to be released. As a seriously amateur coder, my hats off to what looks to be an awesome piece of work.
Thanks for the commitment to this over the last year or so and I hope you are duly rewarded.
brainfryd
@kay_emi
I have a batch script that runs regularly that does some organisation of media…
This gives a listing of all directories in the folder you specify (Movies Folder mentioned below)
Just use the commands:
ECHO ************************************************* >> \\localhost\ShareName\movielisting.txt
ECHO ******************** Movies ********************* >> \\localhost\ShareName\movielisting.txt
ECHO ************************************************* >> \\localhost\ShareName\movielisting.txt
dir “\\network_location\Movies Folder” /ad >> \\localhost\ShareName\movielisting.txt
There is also a right click option in the current and new verison of metabrowser to export your list to an excel file.
adgrimes thank you very much for your help. You have just made my life so easy I had typed 40 out of 560 movies and now with 1 click its all done. Thank You.
if you dont want the date and time and volume info or have more then one dir you want to list just dir’s add /b after the /ad
dir “\\network_location\Movies Folder” /ad /b >> \\localhost\ShareName\movielisting.txt
I love using Metabrowser and I find the progress you have made with 2.0 an amazing advance in this application. I am more than happy to pay $20/year for a product that completes my media archiving.
Keep up the awesome work, I can’t wait for the finished product.
Hi!
First of all: Nice done!
But I’m missing something. There is a new input “Watched”. Well, in my family we are 5 people that uses our collection. So whom would it refer to if a certain movie is “watched”
May be like this it could be better?
Watched: UserX YES
UserB YES
etc…
Another thing that’d be nice to have is:
- “Want to watch”: userx; userb; etc…
- “would watch again”: userx; userb; etc…
- Different languages (audio tracks) on the DVD/BluRay…. (we speak 3 languages in our family…)
- Different subtitles (language) i got for DVD
- If the director’s comment is on dvd as audio track and/or subtitle and in what language
- If the dvd got a Menu or not
I don’t know how other people think about that. Or if it would be usefull for other users… I know I’d use it….
Well, anyway, Good work, keep it up!
Hi, tag.
The “watched” variable was added as a support for XMBC, as far as I know no other frontends support the
But the watched tag can be used for personal use also just within metabrowser, but as you have noted, it is a global watched status and not a per user watched status…I currently don’t have plans to add a per user watched status.
Details about the media item (video/audio/subtitles) is current being worked on and will be available in the next version.
Thanks and Take Care
I think the product is great and will be paying the $20/yr
One think I think is missing; however, is TV series DVD support. I have entire seasons of shows on DVD and would rather not rip individual episodes. I know I can manually manage TV Series DVD, but it would be nice if there was a way to do it automatically.
The next version will support TV series on DVD…please note that the initial release will be movies only, iron out any issues, and then TV will be added.
Take Care
Any news on release date yet? Am dying to get my hands on this…
Sounds excellent. Can’t wait to test it out (although really looking forward to the TV support being added as well as that’s what it mainly gets used for at our place
)
Have you considered instead of $20 per year, perhaps a higher (or $20) up front fee then a lower (perhaps $10) per year for updates?
Any news on release date yet?
Cant wait to set it to get the trailers of all those films I havent gotten round to watching yet
Are you thinking of adding subtitle download support? That would be greatly appeciated… I know that media center master has this function (to bad MSM is a toad to use, compared to metabrowser). Media Browser also has his function via plugins but it would be great to get the subtitles without having to start media center.
Yes, I’m sure this can be easily added, I don’t use subtitles so I don’t know the technicalities behind it or finding the right one, but If someone can give me the info I need then it can be added.