MCS ships with a shared OMDb key so it works the moment you unzip it. That key is used by everyone who never sets their own, so its 1,000 lookups a day get exhausted quickly — often within minutes. When it runs out, fetching stops working for everybody until the next day.
Getting your own takes about a minute and is free:
- Request a key at https://www.omdbapi.com/apikey.aspx (select the FREE tier).
- Click the activation link OMDb emails you — the key does not work until you do.
- In MCS, open Options (the gear icon), paste it into "OMDb API Key", and press SAVE.
A key of your own gives you your own 1,000 lookups a day, which is plenty for a large library. Leave the box empty to go back to the shared key.
Sometimes, we rent/bought and ripped so much movies to store in our HDD that we have difficulty tracking what's what. Maybe you can remember what's each movie about, but not your family.
So I wrote a lightweight software (it's just 800+ KB) for Windows some years back for my dad. It's a simple software that grabs the movie details from IMDB so that he can filter the nice ones to watch. I am aware that there are existing implementations in the market (namely kodi), but those are bloated, slow and not elderly friendly.
P.S This is not a software to help you download movies. This is a software that helps you grab information about the movie (movies that you already have) from the internet.
Grab the latest zip from Releases, unzip it anywhere, and run MCS.exe. Nothing is installed and nothing is written outside the folder you unzip into — the app keeps its database, posters and logs in Database\, Posters\ and Log\ next to the executable.
Movie details come from OMDb, which requires a key. A shared key is built in so the app works straight away, but see the notice at the top — it is shared, so it runs out. Setting your own is strongly recommended.
A first scan of a large library costs more than one lookup per movie: a name OMDb cannot match directly is resolved through a web search and then verified, which spends several. The shared key's 1,000 a day does not go far against a few hundred films.
If OMDb refuses a request — a spent quota or a bad key — the app says so in the notification area.
Options → Software Update → CHECK FOR UPDATE asks GitHub what the newest published release
is. If it is newer than the running build, MCS offers to install it: it downloads the release
zip, closes, replaces MCS.exe and Newtonsoft.Json.dll together, and starts itself again.
The check only ever runs when you press the button — MCS does not phone home on startup.
In Options, use the + button to add each folder holding your movie files. The app scans them, matches each file name against IMDB, and fills in the details.
Include the year. It is what the matcher trusts most, and it doubles as the cut-off point for everything a release group appends, so all of these resolve to the same film:
Inception (2010).mkv
Inception.2010.mkv
Inception.2010.1080p.BluRay.x264-SPARKS.mkv
For a film named in another script, keep an English title in brackets:
龙棺古墓 - 西夏狼王 (The Dragon Tomb - Ancient Legend) (2021)
Neither OMDb nor the search engines find anything from the original script alone, so a folder named only in Chinese, Japanese or Korean cannot be matched.
Prerequisites
- Windows
- Visual Studio 2022 (Community is fine) with the .NET desktop development workload
- .NET Framework 4.8.1 targeting pack
In Visual Studio
Open MovieSelector.sln and build. NuGet restores Newtonsoft.Json automatically on first build.
From the command line
nuget restore MovieSelector.sln
msbuild MovieSelector.sln /t:Rebuild /p:Configuration=Release
The executable lands in MovieSelector\bin\Release\MCS.exe.
Every push and pull request is built from a clean clone by the build workflow, so a reference that only resolves on one machine fails CI rather than reaching you.
Before changing how file names are matched to IMDB entries, read DEBUG.md. It records what each rule in the matcher is defending against, with the wrong IDs that got written when the rule was not there.
The version number lives in exactly one place: the AssemblyVersion / AssemblyFileVersion lines in
MovieSelector/Properties/AssemblyInfo.cs. That is the only file to edit when bumping a version.
To cut a release, bump both lines together, commit, then push a matching tag:
git tag v4.1.5
git push origin v4.1.5
The release workflow builds, checks the tag against the built MCS.exe version (and fails if they disagree), zips MCS.exe and Newtonsoft.Json.dll, and attaches them to a new GitHub Release. Those two files are the whole application; they must always be updated together.
To update an existing installation by hand, copy only those two files over it. Never copy the
whole bin\Release\ folder: test-running the build creates empty Database\, Posters\ and
Log\ folders beside it, and copying the folder wholesale overwrites a real catalogue and OMDb
key with those empty ones, silently. The in-app updater does this correctly on its own.
MIT.