ia: Benvenite! In mi blog io scribe in interlingua, italiano e anglese.

it: Benvenuti! Nel mio blog scrivo in interlingua, italiano e inglese.

en: Welcome! In my blog I write in Interlingua, Italian and English.

MiTubo comes to macOS

I just released MiTubo 1.2. New in this version:

  • As suggested by alphas12 in the comments, I added the author name in the YouTube search results.
  • In the same results list, there's now a clickable link to the channel, which makes it easier to subscribe to it.
  • Improve layout of some pages on narrow displays (though there's still much to be done!).
  • Skip invoking youtube-dl if the video information is already encoded in the page HEAD meta properties.
  • Remember the preferred playback resolution; this can be helpful on low bandwith connections.
  • First macOS release!

While bringing in the macOS version, I updated the QScreenSaver library to support inhibiting the screensaver on macOS too.

I also tested the AppImage on openSUSE, and it seems to work fine there too. So, fewer and fewer people have valid excuses not to try out MiTubo!

MiTubo 1.1: screensaver inhibitor

Looks like I'm posting a bit too often about MiTubo, but don't worry, I'll soon find something else to write about.

Version 1.1 is now released, bringing you:

  • A screensaver inhibitor, at last!
  • AppImage now works in Arch and Manjaro

More in detail, this means that your computer won't go to sleep or start the screen saver while you are watching a video. To achieve this, I wrote a portable (well, for the time being it only supports Linux and Windows, but macOS support will eventually arrive too) library for inhibiting the screensaver: QScreenSaver. It lives in its own repository, and it's written in a way that should be easy to integrate with your own project. You are welcome to try it out (and add support for cmake/qmake/meson/…).

The AppImage support has been improved after a user filed a bug about MiTubo not working in Arch; I myself could not verify the issue as I've grown too lazy to install a distribution like Arch, but I did it on Manjaro (which is also based on Arch), and indeed the MiTubo AppImage contained some unnecessary libraries (while missing some others) that rendered it non-functional in those distributions. Now it's all fixed, so there's a good chance that the AppImage will work on your distribution, too.

MiTubo 1.0: playlist support, new “website”

Some news from the MiTubo world:

  • Version 1.0 has been released!
  • It's also available for Windows (boo!)
  • Some basic support for remote playlists
  • New “Check for updates” dialog
  • Added support for translations
  • Added Italian translation, of course
  • Minor cosmetic changes (like using a different unicode symbol for the “Back” button)
  • New web page for MiTubo

Expanding a bit on the points above, the first thing worth saying is that the choice of releasing this version as “1.0” does not mean that it's more stable than the previous ones; it just means that I'm rather satisfied with the feature set, and that I believe that the program is ready for more widespread use.

This is also the reason why I decided to prepare a web page for it: mardy.it/mitubo. I didn't go for a completely separate website, unlike what I previously did for Mappero Geotagger, PhotoTeleport and Imaginario (which reminds me that I haven't been working on the latter for a long time! I should try to correct this soon!), both because this way it's simpler to publish news about it (I'll continue doing that here, instead of cross-posting in two sites), and because having it in the same domain might be mutually beneficial for the SEO ranking of the blog and of MiTubo.

As for the Windows version, I want to thank once again the MXE project for their fantastic cross-compiling suite. I find it very cumbersome working in Windows, and being able to build my programs from Linux makes my life a lot easier (if you want to have more information about how this works with QBS, have a look at the previous MXE post). I wish there was something similar for macOS; and that's why the macOs version is going to take more time to arrive — on the other hand, I haven't received any requests for it, so I'm not in a hurry to work on that.

Last but not least, translation support means that if you want to help with translations, now you can. I've myself tried QtLinguist for the first time to write the Italian translation, and I found it to be an extremely effective tool, once you learn the key bindings by heart.

Mitubo 0.9: multiple concurrent video downloads

It will never stop surprising me how easy it is to implement big new features in a QML application! The assumption here is that the C++ part of the application should be well-written: objects should not be overloaded with unrelated functionalities just because it seems faster to code them that way, but one should rather design classes so that each exposes one functionality, and then QML and javascript act as the glue which binds all the parts together.

In a way, QML stands to C++ classes like the POSIX shell stands to command-line tools: a simple language which allows concatenating small units of functionality together to build a powerful program.

Anyway, that was not what I wanted to talk you about today. ☺ Today's post is about MiTubo, whose version 0.9 has been released today:

The big feature in this release is download of audio/video files: I thought, since I'm using yt-dlp (or youtube-dl on Ubuntu Touch) anyway for extracting video streams, why not add an option to let users download the media content? This turned out to be easier than expected, so if you were looking for a graphical frontend to the YouTube downloader, well, now MiTubo is an option you could try.

Looking for Qt support? Get in touch!

Following The Qt Company's decision to withdraw support for the Russian market, KDAB's geolocation block of its website and Upwork stopping its operations in Russia, there's a likely need of Qt support in the country.

As a developer living in Russia and loving Qt (I spend a considerable amount of my free time on Qt-based projects), I would find it very unfortunate if some companies decided to switch to other technologies just for the lack of support.

That's why, with this post, I want to advertise my willingness to help companies deliver their Qt-based projects.

I need to be honest and admit that I do have a fantastic full-time job and that's unlikely that I will be able to dedicate more than 10-15 hours per week on this effort, but even this small amount of time has been so far enough to drive several projects (here's a few examples); and what's more important, I might be able to get more coding help.

I do have a history of contributions to the Qt project starting from 2012, developed for the biggest part in my spare time.

Get in touch!

Whether you are a company or a Qt expert with some free time to spare and you'd like to work with me, you are very welcome to drop me a line. We can try to find a solution for those companies who need Qt support, and create a network of professionals who can commit to do some Qt work.

(While I mentioned Russia above, this idea is not limited to Russian companies or developers in any way! Everybody is welcome, and I promise we'll stay politics-free.)