Radio-Qt5

Posted on Sat, Jan 9, 2021

Github repo here: https://github.com/aptrinh/Radio-Qt5/

This is an Internet Radio player built on PyQt5/tkinter and Python. Huge credits to Pruimpit and https://dbpro.xyz/ for the inspiration

Cozy

I've always wanted to make something like this because I'm a big fan of listening to - you guessed it - Internet radios.

The requirements are simple. It has to be:

  1. Lightweight - a few MB would be nice
  2. Able to support local playlists of different formats (.xspf, .m3u, .m3u8, etc...)
  3. Somewhat eye-catching

Since I was eager to de-rust my Python knowledge, it was actually a good idea to create the GUI out of PyQt5. The only caveat was that PyQt5 wasn't exactly lightweight - tkinter was king there. Nevertheless, I went in anyway since I wanted to have some GUI design experience. We can worry about size later on.

Workflow

... is pretty simple. Click on the station name to get to this menu:

TODO: More stations, more API calls
Back: Goes back to the main menu
Favorites: Your favorite stations, added/removed with the heart icons
Pinguin, TuneIn, SomaFM: Included Internet Radio stations. The list will increase
Local File: Opens a file browser and choose a local playlist

Last Local: The last local file (locally saved as .json)

The whole thing is very click-heavy since like Pruimput, I wanted to use an IR remote to select from stations in the selection menu. In any case, the program has served what I wanted in a basic Radio Player. I'll definitely add more functions and/or make the whole thing more pretty.