Your rating: None Average: 5 (2 votes)

Provides a simple user interface for get_iplayer, which allows you to download BBC TV and radio programmes made available through the iPlayer.

This version should work without the need to install any separate packages, but may not work outside the UK. Please share your experiences in the comments.

GetiPlay on GitHub:

Neither BBC iPlayer nor get_iplayer have any involvement with this. Programmes should only be downloaded in accordance with copyright etc.

Note: As of version 0.2-6 the executable has changed name to match the Jolla Harbour guidelines (from getiplay to harbour-getiplay). To use it you'll therefore need to uninstall any older version before installing the latest.


Wed May 16 2018 David Llewellyn-Jones <> 0.2-6
- Update to get-iplayer 3.14
- Store downloaded files in Music/Video directories as appropriate
- Output full get-iplayer command in log window
- Perl dependencies packaged with application
- Include AtomicParsley runtime dependency for get-iplayer
- Improve version number macros
- Ensure data storage follows Harbour guidelines
- Include additional program icon sizes



Feathers_McGraw's picture

Thanks for your continued efforts on this, it's going to be a very useful app when complete, and I like the interface! When I try to download a program, I get he following output:

Should I attempt to manually install that perl module, or are the metadata and PID errors two separate things?

I have a UK IP address BTW.

To get the screenshot above I had to search for the program again and click on it, would it be possible to only return to the main screen if get_iplayer returns 0, and leave the info on the screen if it returns an error code?

flypig's picture

Thanks for the feedback. I'm sorry the download still isn't working; I'm pretty sure it's just the missing perl module that's causing both errors.

Unfortunately XML::Simple isn't in the Sailfish repos, and I've not yet figured out how to install it locally alongside the GetiPlayer binary. You can certainly manually install it though. Something like this:

cpan App::cpanminus
cpan XML::Simple

should do the trick. However, once you've done this you may not then be able to uninstall XML::Simple easily. Given this, I'd only recommend doing this if you really know what you're doing (which I do not!). I'm really hoping to get a properly working version out soon.

Concerning your suggestion to only leave the screen on a successful download, that's a nice idea. I'll give it a go. In the meantime, it may help to know that the log output is shown on every info page (so you can skip the step where you search for the same programme; just click on any programme to see the log).

Feathers_McGraw's picture

So I've created an RPM for perl-XML-Simple and installed it, now I don't get that error any more. Feel free to add that to your repo, if you specify it as a dependency of your app it should then be auto-installed when people download GetiPlay.

Now I get a different error, which I also get on desktop when I download manually without specifiying a mode (default used to work, but doesn't any more).

I don't think it's a GetiPlay bug. Any chance of adding settings to specify a default mode?

Keen to work with you on this, I think it would be great to have a fully functioning iPlayer app on Sailfish!

flypig's picture

Thanks for the great help. I've been so busy at work I only just got back to looking at this. Thank you for the perl-XML-Simple RPM. I've transferred it to my repo and added it as a dependency. It seems to be working well when I install it locally, so I'm very grateful (I know nothing about Perl and it's been a thorn in my side for over a year now). Once it's filtered through the OpenRepos system I'll check it properly.

I also now set the mode explicitly. That seems to work, but I much prefer your idea to have a settings screen. I'd be keen to work with you too. I'm happy to take a pull request on the repo, or any other approach you prefer.

Feathers_McGraw's picture

I don't think I got a notification email for this or I would have replied sooner, sorry! I know the feeling, it's difficult to find the time to work on things like this. I'm interested in working on it with you, time permitting.

I packaged the perl module (and many others) using cpanspec, which has been really useful. It's not too difficult, but quite time consuming - you can download cpanspec using cpan, but before you build an rpm for a perl module you need to buid & install rpms for all of its build dependencies (they have to be installed using a package manager before the module will build properly, not just installed using cpan).

perl-XML-Simple was relatively straightforward, but while building a package for cpanspec itself I ran into a couple of packages that won't build properly (out of about 50 that built just fine! so annoying). I'll have another crack at it tonight, I'd like to get that done before I start on anything else.

I might write up a guide for packaging perl modules too, in which case I'll post it here.


flypig's picture

Sorry for the attrocious lack of instructions. You need to refresh the programme list first (from the pulley menu). If clicking on the refresh 'Go' button takes you straight back to the (empty) programme list, it's because get_iplayer failed for some reason in the background (in which case, this would be good to know).

Markkyboy's picture

Thanks for replying, I tried your suggestion, but am still returned to an empty programme list.

If I read you right, we need to refresh the list before typing something in or after typing something in (either way, I'm still returned to an empty prog list).

flypig's picture

I just updated the program so it shows a log file when refreshing. It also stores the latest log at /home/nemo/Music/GetiPlay/log.txt

If you could take a look at the output and let me know if it's complaining about anything that would be a big help.

Markkyboy's picture

Sorry for late reply, work getting in the way of having fun!

Output to /home/nemo/Music/GetiPlay/log.txt reads;

Finished with code 2
Finished with code 2

( I did try to search twice, probably why the last message is repeated).

Hope this help :)


flypig's picture

Thanks for this: very helpful. I'm not sure I've 100% got the reason, but I think it was some missing Perl dependencies. At least I hope so. It's awkward for me to test because removing Perl modules apparently isn't straightforward!

Anyway, I've added what I think was missing to the RPM, which hopefully will move things forwards. If you could give this new version a go, I'd appreciate it.

Markkyboy's picture

Hi, tried the 3rd RPM, the result is still the same I'm afraid. clicking refresh, then go, returns me almost immediately, back to an empty programme list.

flypig's picture

Sorry :( I've been trying to figure this out all afternoon but without success yet.

If you have access to a terminal on your phone (or can SSH in), it would be helpful if you could post the output from the following:

perl -e 'use LWP;print "installed\n"'
Markkyboy's picture

[nemo@Jolla ~]$ perl -e 'use LWP;print "installed\n"'
Can't locate in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5 /usr/share/perl5 .) at (eval 1) line 2.
Compilation failed in require at /usr/share/perl5/vendor_perl/HTTP/ line 3.
Compilation failed in require at /usr/share/perl5/vendor_perl/LWP/ line 10.
BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/LWP/ line 10.
Compilation failed in require at /usr/share/perl5/vendor_perl/ line 7.
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
[nemo@Jolla ~]$

flypig's picture

Yep, you've got it. You need to refresh first. The search field just filters the local list once there is one.

I'll update the programme now to include some logging to make it easier to figure out what's going wrong. It's almost certainly some mistake I've made that's preventing get_iplayer running correctly in the background.

Markkyboy's picture

hi flypig, app installed okay, but search doesn't appear to actually search at all. 'No items found' is always displayed. Any ideas?