MiTubo comes to macOS

mardy@ussr.win
#^ 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!
 AppImage  english  informatica  kdeplanet  Linux  MiTubo  programmation  Qt  Ubuntu  blog
MiTubo 1.1: screensaver inhibitor

mardy@ussr.win
#^ 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.
 AppImage  english  informatica  kdeplanet  Linux  MiTubo  programmation  Qt  Ubuntu  blog
MiTubo 1.0: playlist support, new “website”

mardy@ussr.win
#^ 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 andImaginario (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 againthe 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 triedQtLinguist 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.
 AppImage  english  informatica  kdeplanet  Linux  MiTubo  programmation  Qt  Ubuntu  blog
Mitubo 0.9: multiple concurrent video downloads

mardy@ussr.win
#^ 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 (oryoutube-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.
 AppImage  english  informatica  kdeplanet  Linux  MiTubo  programmation  Qt  Ubuntu  blog
MiTubo 0.8: search, channels, watch later queue

mardy@ussr.win
#^ MiTubo 0.8: search, channels, watch later queue

It has been a while since I last posted aboutMiTubo, despite releasing a few new versions in the last months. But now I think that there is enough new stuff that's worth a mention here.

Image/photo Search on YouTube

Initially MiTubo only came with a search feature that was using Yandex video as a backend; while that worked generally well, most of the returned results were not playable due to youtube-dl being unable to extract the video information from the returned web pages. So, now we have the option to search on YouTube, via the Invidious API; furthermore, it's also possible to search for channels, whose RSS feed can then be added as a subscription.

One other thing that has always bothered me is not being able to enqueue a new video while watching another one, without having to pause the current one, go back to the main page, add the new video to a playlist, go back to the current video, and finally, once that is over, open the playlist and start the new video.

Image/photo Drag and drop a new URL while watching a video

So now we have that. One can drag and drop an URL (or even a longer text containing several URLs) while watching another video, and a popup will appear with a few choices (see the screenshot above). I've also added a “Next” button next to the “Play” one, which is enabled if the “Watch later” playlist is not empty, and does the obvious thing when pressed. Once started, the new video is automatically removed from the “Watch later” playlist and moved into the “Continue watching” list, where it will remain until it's being watched till the end, which will cause it to part that list and be added to the watch history.

To be fair, I haven't being testing this extensively, and this last one is a feature I've developed just in a few hours during this weekend, so I wouldn't be surprised if there are serious bugs in it. But hey, that's part of the adrenaline which comes with hobby projects, I guess.

Image/photo Search on YouTube

Initially MiTubo only came with a search feature that was using Yandex video as a backend; while that worked generally well, most of the returned results were not playable due to youtube-dl being unable to extract the video information from the returned web pages. So, now we have the option to search on YouTube, via the Invidious API; furthermore, it's also possible to search for channels, whose RSS feed can then be added as a subscription.

One other thing that has always bothered me is not being able to enqueue a new video while watching another one, without having to pause the current one, go back to the main page, add the new video to a playlist, go back to the current video, and finally, once that is over, open the playlist and start the new video.

Image/photo Drag and drop a new URL while watching a video

So now we have that. One can drag and drop an URL (or even a longer text containing several URLs) while watching another video, and a popup will appear with a few choices (see the screenshot above). I've also added a “Next” button next to the “Play” one, which is enabled if the “Watch later” playlist is not empty, and does the obvious thing when pressed. Once started, the new video is automatically removed from the “Watch later” playlist and moved into the “Continue watching” list, where it will remain until it's being watched till the end, which will cause it to part that list and be added to the watch history.

To be fair, I haven't being testing this extensively, and this last one is a feature I've developed just in a few hours during this weekend, so I wouldn't be surprised if there are serious bugs in it. But hey, that's part of the adrenaline which comes with hobby projects, I guess.

Initially MiTubo only came with a search feature that was using Yandex video as a backend; while that worked generally well, most of the returned results were not playable due to youtube-dl being unable to extract the video information from the returned web pages. So, now we have the option to search on YouTube, via the Invidious API; furthermore, it's also possible to search for channels, whose RSS feed can then be added as a subscription.

One other thing that has always bothered me is not being able to enqueue a new video while watching another one, without having to pause the current one, go back to the main page, add the new video to a playlist, go back to the current video, and finally, once that is over, open the playlist and start the new video.

Image/photo Drag and drop a new URL while watching a video

So now we have that. One can drag and drop an URL (or even a longer text containing several URLs) while watching another video, and a popup will appear with a few choices (see the screenshot above). I've also added a “Next” button next to the “Play” one, which is enabled if the “Watch later” playlist is not empty, and does the obvious thing when pressed. Once started, the new video is automatically removed from the “Watch later” playlist and moved into the “Continue watching” list, where it will remain until it's being watched till the end, which will cause it to part that list and be added to the watch history.

To be fair, I haven't being testing this extensively, and this last one is a feature I've developed just in a few hours during this weekend, so I wouldn't be surprised if there are serious bugs in it. But hey, that's part of the adrenaline which comes with hobby projects, I guess.

One other thing that has always bothered me is not being able to enqueue a new video while watching another one, without having to pause the current one, go back to the main page, add the new video to a playlist, go back to the current video, and finally, once that is over, open the playlist and start the new video.

Image/photo Drag and drop a new URL while watching a video

So now we have that. One can drag and drop an URL (or even a longer text containing several URLs) while watching another video, and a popup will appear with a few choices (see the screenshot above). I've also added a “Next” button next to the “Play” one, which is enabled if the “Watch later” playlist is not empty, and does the obvious thing when pressed. Once started, the new video is automatically removed from the “Watch later” playlist and moved into the “Continue watching” list, where it will remain until it's being watched till the end, which will cause it to part that list and be added to the watch history.

To be fair, I haven't being testing this extensively, and this last one is a feature I've developed just in a few hours during this weekend, so I wouldn't be surprised if there are serious bugs in it. But hey, that's part of the adrenaline which comes with hobby projects, I guess.

Image/photo Drag and drop a new URL while watching a video

So now we have that. One can drag and drop an URL (or even a longer text containing several URLs) while watching another video, and a popup will appear with a few choices (see the screenshot above). I've also added a “Next” button next to the “Play” one, which is enabled if the “Watch later” playlist is not empty, and does the obvious thing when pressed. Once started, the new video is automatically removed from the “Watch later” playlist and moved into the “Continue watching” list, where it will remain until it's being watched till the end, which will cause it to part that list and be added to the watch history.

To be fair, I haven't being testing this extensively, and this last one is a feature I've developed just in a few hours during this weekend, so I wouldn't be surprised if there are serious bugs in it. But hey, that's part of the adrenaline which comes with hobby projects, I guess.

So now we have that. One can drag and drop an URL (or even a longer text containing several URLs) while watching another video, and a popup will appear with a few choices (see the screenshot above). I've also added a “Next” button next to the “Play” one, which is enabled if the “Watch later” playlist is not empty, and does the obvious thing when pressed. Once started, the new video is automatically removed from the “Watch later” playlist and moved into the “Continue watching” list, where it will remain until it's being watched till the end, which will cause it to part that list and be added to the watch history.

To be fair, I haven't being testing this extensively, and this last one is a feature I've developed just in a few hours during this weekend, so I wouldn't be surprised if there are serious bugs in it. But hey, that's part of the adrenaline which comes with hobby projects, I guess.

To be fair, I haven't being testing this extensively, and this last one is a feature I've developed just in a few hours during this weekend, so I wouldn't be surprised if there are serious bugs in it. But hey, that's part of the adrenaline which comes with hobby projects, I guess.
 AppImage  english  informatica  kdeplanet  Linux  MiTubo  programmation  Qt  Ubuntu  blog
MiTubo 0.3 brings basic RSS support

mardy@ussr.win
#^ MiTubo 0.3 brings basic RSS support

I just pushed MiTubo 0.3 to the Ubuntu Touch app store, added a link to the AppImage package in the Releases page and later during the night the Launchpad builders should import it and build it forUbuntu 18.04 and 20.04.

This release adds basic support for RSS feeds. One just needs to type the address of an RSS (or Atom) feed in the search bar and the "Search" button will transform itself into a "Subscribe" one. Unfortunately no discovery mechanism is implemented yet, so one cannot just enter the address of a webpage and expect MiTubo to find the feed URL(s); I plan to bring that in a future release, but for the time being you'll have to enter the exact address of the RSS feed.

Also, there's no tracking of which videos are new and which ones have been already watched. Again, that's material for a next release.

But as a start, feed are remembered in the configuration, and the next time you open up MiTubo you'll see them in the main page, and the most recent videos will be shown.

As usual, you're welcome to report issues in gitlab.
 AppImage  english  informatica  kdeplanet  Linux  MiTubo  programmation  Qt  Ubuntu  blog
New desktop application: MiTubo

mardy@ussr.win
#^ New desktop application: MiTubo

I've recently started a new project, to enable me to playback videos from online sources in a desktop application: Mitubo.

Here's a terrible video I quickly made to show what MiTubo can currently do:

MiTubo is currently available for Ubuntu 18.04 and later from this PPA and for all other distributions from here as an AppImage package.

You are very welcome to try it out and report issues at its bug tracker. I know that there are many of them, but regardless of them the program is still useful to me, so I hope it can be useful for other people too.
 AppImage  english  informatica  kdeplanet  Linux  MiTubo  programmation  Qt  Ubuntu  blog
Using the latest QBS on older distributions

mardy@ussr.win
#^ Using the latest QBS on older distributions

A short announcement, probably meaningless to most people, but who knows: I've created an Ubuntu PPA with the latest QBS. The reason why this might make some sense is that this PPA targets the older Ubuntu distributions. It's currently built for 14.04 (Trusty, which is no longer supported by Canonical), and I'll eventually upload the QBS package for 16.04, too.

This package can be useful to people distributing applications in the AppImage format, where one usually builds the application in one older distribution in order to increase the chances of it being runnable in as many Linux distributions as possible. A simpler way to obtain QBS on Trusty is to install QtCreator, but that's not trivial to install in an automated way and might not come with the latest QBS. Especially when building on Ubuntu, a package from a PPA is much easier to install.

This QBS is built statically, and won't install any Qt libraries on your system; this is good, because it allows you to use whatever Qt version you like without any risk of conflicts.
 AppImage  english  informatica  kdeplanet  Linux  programmation  Qt  Ubports  Ubuntu  blog