From the archives
2021-12-23
Note: This was posted to my old blog. I’m only posting this here so I can finally delete that old abandoned git repo.
Why does every piece of software have to be a subscription service nowadays?
Because I’ve been using the MediaInfo software for quite some time now and recently bought a Mac, I figured I could also just simply download it from their website. Turns out, on macOS there are two options for the user to choose from:
Okay, fine, I’ll go use the macOS version. Note the “small fee” notice. From the looks of it, this seems to be a one time purchase of 99ct. But not so fast…
Okay, so it’s not just a small fee, got it.
Now the big question on everyone’s mind is: Do the added features justify the price? Here’s what the subscription gets you:
But hold on! Before you click the “Lifetime subscription” button…
There’s still the other free version! Arguably the most important feature offered through the subscription model is the “Advanced mode”, I wonder what that is about…
Of course, because I’m a “try it before you buy it” sort of person, and also because I had already spent money on the application itself, I decided to write a small patch (for a total of four methods lol).
Okay, so we get a bunch more information, but nothing groundbreaking, especially not if you open up the exact same file in the free version. Have a look yourself:
The free app allows me to look at every single MP4 box byte by byte! The paid version won’t even let me pick an option with this much text!
To be fair to the App Store version, it does support proper HiDPI scaling (or so it seems), while the old one suffers from very small text. But is that really worth three dollars per year?
And it’s not like you’re missing out on any of the output formats with the free version either: the only change from the free to the paid version is that you now have a settings page that lets you pick the default format whereas with the free one you always started out in the “Easy” view.
I genuinely do not understand why this is a subscription model. It offers barely any functionality, certainly not enough to warrant its price, considering the free version still offers so much more information to the end user. Matter of fact, I don’t think it would take much to fix the main issue I have with the free app, which is the font size in text mode.
So I went ahead and did just that.
# download (and install) MacPorts from their website: https://guide.macports.org/#installing
# and install dependencies for MediaInfo
port install autoconf automake libtool pkgconfig zlib wxWidgets-3.0
brew install libtiff
# download the wxWidgets source code from http://wxwidgets.org/downloads/ and extract it
cd ~/Desktop
cd wxWidgets-3.1.5/
mkdir build_macos && cd build_macos
../configure CXXFLAGS="-I/opt/homebrew/include"
sudo make install
cd ~/Desktop
mkdir mediainfo_build && cd mediainfo_build
git clone https://github.com/MediaArea/ZenLib.git
git clone https://github.com/MediaArea/MediaInfoLib.git
cd ~/Desktop/mediainfo_build/ZenLib/Project/GNU/Library
./autogen.sh
./configure --enable-static
make
# build MediaInfoLib
cd ~/Desktop/mediainfo_build/
cd MediaInfoLib/Project/GNU/Library
./autogen.sh
./configure --enable-static
make
# build MediaInfo CLI
cd ~/Desktop/mediainfo_build/
git clone https://github.com/MediaArea/MediaInfo.git
cd MediaInfo/Project/GNU/CLI
./autogen.sh
./configure --enable-staticlibs
make
# build MediaInfo GUI
cd ~/Desktop/mediainfo_build/
cd MediaInfo/Project/GNU/GUI
./autogen.sh
export PATH=$PATH:/opt/local/Library/Frameworks/wxWidgets.framework/Versions/wxWidgets/3/0/bin
./configure --enable-staticlibs
make
# run MediaInfo GUI
./mediainfo-gui
And here’s the culprit:
::GUI_Main_Text(Core * Core_, wxWindow * parent): wxTextCtrl(
GUI_Main_Text, -1, __T(""),
parent(0, 0),
wxPoint(parent -> GetClientSize().GetWidth() - 0,
wxSize-> GetClientSize().GetHeight() - 0),
parent | wxTE_MULTILINE | wxTE_RICH | wxTE_RICH2
wxTE_READONLY ),
(Core_) {
GUI_Main_Common_Core;
wxFont Font.SetFamily(wxFONTFAMILY_MODERN);
Font;
wxTextAttr Attr.SetFont(Font);
Attr#if wxCHECK_VERSION(2, 9, 0)
.SetFontSize(8);
Attr#endif
(Attr);
SetDefaultStyle
//Drag and Drop
#if wxUSE_DRAG_AND_DROP && defined(__WXMAC__)
(new FileDrop(C));
SetDropTarget#endif //wxUSE_DRAG_AND_DROP
//Update
();
GUI_Refresh}
Whose idea was it to set the font size to 8? How about we try 14!
Much much better! Might as well stick with the free version now.