News
  • Version 1.03 added new exciting feature:explorer integration - writen by Ami Yolovich
After installing new version new option is added to the context menu (right click on file or folder) and choose "Find Subtitles"
Then "Subtitles Matcher" will search from media files, search for subtitles and download.
FindSubs.png
current version the default language is set to Hebrew in order to change go to the installation folder inside bin open and edit the file: "SubtitlesMatcher.SilentRunner.exe.config"
<?xml version="1.0"?>
<configuration>
  <appSettings>
    <add key="Provider" value="OpenSubtitles.Org" />
    <add key="Culture" value="*****"/>
    <add key="SearchPatterns" value="*.mkv;*.avi"/>
    <add key="ProvidersPath" value=""/>
    <!--Leave empty for same path as executable-->
  </appSettings>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/></startup></configuration>

in order to change language set the Culture value:
  • he-il - Hebrew
  • en-US - English
  • es-ES - Spanish
Full list at: http://msdn.microsoft.com/en-us/goglobal/bb896001.aspx

  • New Version 1.02 includes the ability to override the multiselection in case of matching subtitles name to the media file name.
Add Portuguese...
add multiselection support - include silense mode.

New provider of the subs site http://www.opensubtitles.org was added supporting the languages: Hebrew,English,Spanish,Japanense and russian.
The provider was writen using XML-RPC API of the opensubtitles.org - using the .Net client implementation from the project http://subtitletools.codeplex.com/

Description
This is a small wpf application that inputs media file name or names, search for matching subtitles (by the version name), download extract and rename the subtitles to be the same as the media file name with srt suffix.

Version 1.01
subs2.png


Version 1.00
subs.png

Code deatils
The application is WPF application in MVVM pattern using Prism.
The application has providers plugin - using MEF.
Currenly only one provider example is implemented supporting only hebrew subtitles - feel free to add your own.
Just implement the interface ISubtitleMatcherProvider and throw the assembly in the bin directory.

the ISubtitleMatcherProvider interface
public interface ISubtitleMatcherProvider
{
        //The languages this provider supports
        List<CultureInfo> SupportedLanguages { get; }
        //execute search
        List<SubtitleMatch> Find(MediaFileInfo mediaFileInfo, CultureInfo language);
        //provider display name
        string ProviderName { get;}
}


My Blog
Offir Shvartz Blog.

Last edited Dec 29, 2011 at 5:56 PM by offirsh, version 18