µRadio - Free MacOS Radio Player

May 16, 2020

Its been a long while since I’ve done any MacOS based development and I wanted to checkout the new support for Swift and the new SwiftUI framework. I decided the best way to learn something, is to jump right in and try to make something useful. After spending a fair amount of time trying to find a nice FREE radio player for MacOS, I noticed that the entire market is saturated with super heavy, feature rich media players that seem to play radio and organize your life. I like simple things. Things that server one purpose and serve it well.

Two days later and about 20 coffees later, µRadio was born!


Technicals

  • Written entirely in Swift
  • Uses, almost completely, SwiftUI (AppKit is used a bit for MacOS specifics)
  • Can easily be ported to iPhone, iPad etc

Features

  • Ability to add favourites
  • Ability to delete favourites
  • Ability to change a favourite stations thumbnail (some of the api based ones are naaaasty)
  • Ability to search the radio-browser.info API
  • Ability to change the radio-browser.info API endpoints (for different regions)
  • Ability to filter search results by country
  • Nice play, pause and bufferring indictions
  • Small, simple and clean UI which works in dark and light Mac OS modes
  • Ability to change volume independently of system volume
  • Nice thumbnails

What I’ve Learnt

  • SwitUI is not ready for production. You will frequently have to use “hacks” for basic functionality.
  • There is a SwiftUI big on Big Sur where minified windows canno’t be restored. To get around this, I had to subscribe to the NSWindow.didMiniaturizeNotification event and actually close the window. When the user clicks the dock icon, the window will then be restored. This is reproducable even with empty SwiftUI MacOS projects.
  • SwiftUI ignores idealWidth when the window is re-used (minified/closed state to visible).

Upcoming Features

  • Integration with “Control Center”

Download It

You can download it for FREE. It does NOT contain ads and never will. The project may go open source soon too, once I’ve tidied up my nasty rushed code.

Download FREE Now

Please Note: I am super tight, the app is not "signed" as I refused to pay Apple £79 to release free apps. To install it, extra the .app from the .zip, in FINDER, control+click the app and then selecte "open". MacOS will allow this app to run and you can then run it normally from then onwards.