Alternative music players for Mac

Note: From time to time I add newly found players to this page. If you have a suggestion, please let me know.

Tiny Player for Mac

  • First and obvious choice
  • Free

Vox

  • Subscription based, from $4.99 / month
  • Cloud storage service

Swinsian

  • $19.95

Tomahawk

  • Hub for online sources

Audio Playr

  • $8.99

Cog

  • Open source

VLC

  • Primarily a video player, but has a playlist and handles audio as well

Bahamut

  • Open source

jmc

  • Open source, media manager

Plexamp

Webamp

Nighthawk

  • Electron based
  • Open source
  • Drag & drop breaks it

foobar2000 for Mac

Doppler

  • iPhone and Mac apps
  • Sync support
  • Artwork search
  • Organization helpers
  • One time purchase

Petrichor

  • wide variety of audio file formats
  • library view
  • lyrics, playlists
  • free

Radiccio

  • multiple sources, including local files, Apple Music, Plex, and Jellyfin
  • paid subscription called Radiccio Plus!
  • "librarian" feature for larger collections
  • pins, favorites, auto skip, journal
  • available on Mac App Store

Tiny Player for Mac 1.2.3

Tiny Player for Mac version 1.2.3 is out now. This update brings the following improvements:

  • Fix file associations
  • Add new playback mode: single track
  • Press ⌘L to cycle playback modes
  • Press ⇧⌘← and → to seek within current track by +/- 15 seconds
  • Basic accessibility labels
  • Ignore keyboard shortcuts when window is out of focus
 

Tiny Player 1.0.8

Tiny Player version 1.0.8 is out now. This update brings the following improvements:

  • Repeat mode menu
  • New repeat mode: Play single track

Tiny Player 1.0.7

Tiny Player version 1.0.7 is out now. This update brings the following improvements:

  • New web interface with a nice directory browser
  • Enable iTunes Document Sharing

Tiny Player 1.0.6

Tiny Player version 1.0.6 is out now. This update brings the following improvements:

• Support seeking from Command Center • Improved seeking precision • Enable remote playback controls • Add way to download music back to your computer • Upload widget now accepts AIFF files

Tiny Player for Mac 1.2.2

Tiny Player for Mac version 1.2.2 is out now. This update brings the following improvements:

  • New track info window with cover artwork - press ⌘I
  • Hide artist/album playlist columns when resized to minimum width
  • Improved support for AIFF files
  • Small bugfixes and improvements
 
Thanks for using Tiny Player.

Tiny Player for Mac 1.2

Tiny Player for Mac version 1.2 is out now. This update brings the following improvements:

  • Support for M3U playlists
  • File → Open dialog ⌘O
  • Window →  Always on Top
  • Resize to minimum  → snap into "Compact mode" with no playlist
  • Improved handling of file associations
  • Various small fixes & optimizations
Thanks for using Tiny Player.

Tiny Player for Mac 1.1

Tiny Player for Mac version 1.1 is out now. This update brings the following improvements:

  • Track metadata such as title/album/artist info is now cached so loading tracks the second time or after a restart should be much quicker.
  • Starting with this version, Tiny Player will internally keep history of all played tracks. The records are not used yet but a future version could upload them to Last.FM or show some interesting statistics.
  • Quite a few issues have been fixed.
Thanks for using Tiny Player.

Development tools 2017

It’s time to do another quick review of the tools I use for game development. Previously:  2006 2012 2014. Here’s the current setup:

Hardware

  • iMac retina 27inch 2015 model with 24GB RAM (upgraded from a 2011 model)
  • iPhone 5 (still alive!)
  • iPad Mini 4
In the hardware section the most important change is definitely the switch to the retina iMac. I got lucky and found a great bargain, had the harddrive replaced with a 1TB SSD and everything is running very smoothly.

My iPhone 5’s battery is dying but I intend to replace it and keep the phone for as long as possible. I only use it for phone calls, playing music & podcasts.

I’d like to replace the iPad Mini 4 with a new model to get a chance to play with ARKit, but there’s no hurry. I’ll probably wait for the next “standard” iPad model that comes out. The Pro models are cool but very expensive and I’m not working on an iOS game at the moment to justify purchasing one.

I borrowed an Apple TV to try porting Superforce but it turned out it would just be too much work because of the completely different aspect ratio. Not worth it. I might try again with Devastro 2 which might work well on the TV if I can get the controls right.

Software

  • Xcode
  • Adobe Photoshop
  • Blender (took some time to learn the basics)
  • Pixelmator
  • Glyph Designer
  • Git
Not much has changed on the software front. Xcode is still fine. I probably have very low expectations from a C++ IDE. It crashes from time to time but otherwise it's pretty reliable and "good enough". It's not what's holding me back anyway.

Blender is just great. I should practice more.

I pretty much stopped using Pixelmator because Photoshop is so much better and also because it seemed like Pixelmator development had pretty much stalled. Now there’s the Pro version but I don’t see a reason to switch back… two graphic file formats are one too many I guess. Same with keyboard shortcuts.

Still using git, although as a solo developer I’d probably be fine even with Subversion.  Recently I tried to set up a Gogs server to make git usage more friendly but it was too much hassle. Command line and Gitbox is fine, actually. I’d still prefer a self-hosted Gogs over GitHub or Bibucket if I absolutely had to have a web interface & basic task management. It’s a nice piece of software.

Libraries

When it comes to 3rd party libraries, the most important thing is that I started integrating Dear IMGUI into the game. It's a great library, very well thought out. Apart from a misplaced glFlush() call, the integration was very smooth. The screenshot below shows a IMGUI based property panel in the level editor.

std::chrono vs timer coalescing in macOS

Recently I needed to call a function in the background of a C++ program periodically. I decided to use the STL for the task.

During research, I found a nice article about periodic processing with C++11. The sample code has helped me to quickly put together a solution for my project. However, I noticed that the author was showing average wakeup errors of 20 microseconds on Windows and 96 microseconds on Linux. Running the sample code on macOS yielded errors of up to 2000 microseconds! That is a big margin. I was a little disappointed. My favorite OS is getting worse results… oh no.

But then I remembered that newer versions of macOS employ “timer coalescing”, which tries to save energy by reducing timer accuracy and “bundling” wakeups together to let the CPU sleep for longer periods of time.

Nice, but thankfuly we can turn it off for more accurate testing:

sudo sysctl -w kern.timer.coalescing_enabled=0
After that the errors went down to about 40 microseconds on average. I have yet to look up the proper way to tell the OS that my app needs this, regardless of the global setting, but my curiosity is satisfied for now.

Note: the source code from the article is only provided as a PDF from which it is hard to extract in a usable form, so I took the liberty to publish a plain-text copy here.