Pi-faced!

A correspondent from the west coast of the USA recently got in touch to say that whilst he enjoyed using some of my music-related software, he regretted having to point out that the code didn’t run properly on his Raspberry Pi running the Raspbian Linux distro …but that he’d hacked a way to get it to work anyway.

A couple of thoughts came to mind when I read that. First, the grumpy-me thought that it was no wonder that the software didn’t work on Raspbian, because I go to the effort of listing the distros I’ve actually tested my stuff on… and Raspbian isn’t listed there!

Hence:

No Raspbian mentioned… so no reasonable expectations the stuff should work, right?! Right!

The less-grumpy me, however, thought: thank God I decided to write my stuff as simple Bash scripts, because as mere text files, if you’ve got a smidgen of logical thought about you, and a little bit of experience with scripting languages, it should be possible to hack any of them into doing what you need them to do. That was an explicit design goal, actually. So I was pleased my correspondent had exploited this fact to achieve something of use to himself.

Finally, the cheerful-me kicked in and got to thinking: Hang On! I just bought a Raspberry Pi 4 about 2 weeks ago!! Why don’t I use it to write properly-running and verified Raspbian software in the first place?

I’d bought one only recently because I had been impulsively thinking that maybe I could make one do service as my main desktop. Spoiler alert: you really can’t. It’s mouse movement on a 4K monitor is like walking through marshmallow for starters! And the state of graphics on it are such that anything involving 3D accelerated graphics (like Stellarium, for example) simply fails to run properly or at all. That’s not to say they’re bad little computers, though: not at all! I bought an older Raspberry Pi 3 several months back and have used it ever since as a ‘Pi-Hole‘: a server through which all Internet traffic is routed, all adverts are blocked, and dodgy domains (like Facebook and Twitter) are blocked, without effort or further thinking required on anyone’s part. So they pack a reasonable amount of server-style heft and I’d recommend them for media server, file server or Internet traffic policeman duties in a heart-beat.

But, desktop replacements they aren’t.

So: for the past couple of weeks, I’ve had a spare Raspberry Pi 4 sitting in a drawer, doing precisely nothing… Until my correspondent’s news made cheerful-me realise that I ought to add Raspbian to my list of distros my software is checked and verified to run on properly… and that I have the hardware available to do just that.

So: today, I’m formally adding Raspbian to the list of ‘supported distros’.

Secondly, I’m incrementing the release versions for AMP, CCDR and CCDT (the music player, CD ripper and music file tagger programs): the new versions add proper Raspbian detection and functionality, no home-brew hacks required 🙂 All my other scripts have been Raspbian-ised, too.

By way of proof, here’s CCDR and CCDT running on Raspbian this very morning:

I should also mention: that AMP has additionally been tweaked a little to fix what was really quite a serious bug. Since version 1.09, you’ve been allowed to specify ‘override switches’ to force AMP to play music by a particular composer, of a particular genre, performed by a particular performer or with a particular artist mentioned in the COMMENT tag. Trouble is, when I added those capabilities, I completely forgot about the existence of the composer “Vincent d’Indy” or the conductor “James O’Connell”. The single quotes in their names prevented anything involving them from being selected. But I’ve now fixed that, so a command like this:

amp --musicdir=/sourcedata/music/classical --composer="d'indy" --usedb --dbname=main

…produces output like this:

As you can see, d’Indy now plays fine (as does Mr. O’Donnell!): but you’ll have to wrap their names inside double-quotes to get them to work. If you don’t, the command to launch AMP in the first place will just not be interpreted correctly and will result in the program appearing to do nothing except prompt you with a ‘greater than’ symbol:

No double quotes, no joy. But from AMP Version 1.13 onwards, you can at least finally select apostrophised composers and performers without drama.

So, the short version is: if you’re running Raspbian, get your new releases of AMP, CCDR and CCDT right now! If you’re not running Raspbian, but are running AMP, then get your new bug-fixed release of AMP (version 1.13) now! And if you’re not running Raspbian and not running AMP, there’s nothing really new in CCDR or CCDT to warrant an immediate upgrade, but it won’t hurt if you do. Check out the software release page to get the new versions if you want them.