GetIPlay
A totally unofficial UI for get_iplayer, the unofficial tool for accessing BBC iPlayer TV and radio programmes. GetiPlay is built using QT for Sailfish OS smartphones.
As of version 0.3-3 it should work without the need to install any separate packages, but may not work outside the UK. It's so far only been tested on an Xperia X. Please share your experiences in the comments.
Install direct to your phone via OpenRepos.
The source is available on GitHub.
Neither BBC iPlayer nor get_iplayer have any involvement with this. Programmes should only be downloaded in accordance with copyright etc. Be aware before downloading on a limited data plan that that some programes (especially videos) have quite large filesizes.
Scroll down for posts and downloads about GetiPlay, the unofficial Sailfish OS app for accessing all things BBC iPlayer.
Getiplay
10 most recent items
Version 0.8-1 of GetiPlay is now available, refreshed with the latest version 3.22 of the amazing get_iplayer and updated perl modules. After some recent glitches, this will now work again with the iPlayer catch-up service for downloading BBC TV and radio programmes to your Sailfish OS device (probably UK-only I'm afraid). Install the binary to your phone from OpenRepos, or get the source from GitHub.
Sun Mar 24 2019 David Llewellyn-Jones <david@flypig.co.uk> 0.7-1
- Correct iterator errors when deleting media files and items from queue.
- Correctly trim logfile and prevent UI performance degradation over time.
- Correct an incorrect RPM configuration.
- Remove cyclic dependences in QML.
- Fix various other QML errors.
- Add scroll animation when clicking on tab to jump to the top of the page.
- Allow control using the lockscreen media (MPRIS) controls.
- Improve the button layout on the queue item info screen.
In my spare time I've been developing a QT app called GetiPlay. It's a simple app that allows you to download audio and video from BBC iPlayer, for use on Sailfish OS phones. The traditional approach on Linux devices would be to use get_iplayer
in a console, but for all of the progress that's been made on mobile devices in the last decade, console use still sucks. Given I spend so much time listening to or watching BBC content, slapping a simple UI over the command line get_iplayer was an obvious thing to do.
The app has been developing nicely, using the QT Creator for C++ and the UI written in QML. Historically I've not been a fan of QML, but as I grow more familiar with it, it's been growing on me. For all of the things that I find weird about it, it really does give great performance and helps build a consistent UI, as well as promoting loose coupling between the UI and underlying functional logic.
A big downside to QML is that there's no preview, so the development process follows a consistent cycle: adjust code, build code, deploy code, test, repeat. The build and deploy steps are loooong. This impacts things in three serious ways: it makes development slow, it makes me sleepy, and it incentivises against making minor tweaks or experimentation.
Nevertheless, there's always a trade-off between configuring and learning new technologies, and just getting things done using those you're already using. The ever-relevant XKCD has more than one pertinent comics covering this topic.
The UI for GetiPlay is straightforward, so I was quite content to use this lengthy, but (crucially) working approach until yesterday. What prompted me to change was a feature request that needed some more subtle UI work, with animated transitions between elements that I knew would take a couple of hundred cycles round that development loop to get right. Doing the maths using Randall Munroe's automation matrix, I needed to find a more efficient approach.
So this morning I started out using QML Live. This is a pretty simple tool with an unnecessarily bulky UI that nevertheless does a great job of making the QML design approach more efficient. You build and run the app as usual, then any QML changes are directly copied over to the device (or emulator) and appear in the app immediately. Previously a build cycle took between 40 and 100 seconds. Now it's too quick to notice: less than a second.
QML-Live certainly isn't perfect, but it's simple, neat and has made me far more likely to try out interesting and experimental UI designs. Time configuring it is time well spent, even if that extra 18 hours is just about the same amount of time I wasted dithering over the last two days!
Download
- GetiPlay
Version 1.0-1 (3 Jul 2021) for SailfishOS.
GetiPlay is a simple user interface for the get_iplayer command line utility for Sailfish OS devices. It allows TV and radio programmes to be downloaded from the BBC iPlayer listings.
Download: binary, source, screenshot.
Comments
Uncover Disqus comments