Announcements

Help Wizard

Step 1

NEXT STEP

Irregular behaviour with Spotify Connect, external speakers and 3rd party software

Irregular behaviour with Spotify Connect, external speakers and 3rd party software

I am on a one-person premium plan in Germany. The machine that my issue relates to is a 15-inch 2019 MacBook Pro running MacOS Catalina 10.15.1. I have the latest version of the Spotify app installed (1.1.20.510.g7d28aaaa as of this writing).

 

I use Spotify on my laptop to control playback on various external devices (a group of multiple Sonos speakers and one Amazon Echo Dot). I also sometimes listen directly on the laptop through headphones.

 

I also use the terrific menubar application "Denied", which through the use of granting it Accessibility and Automation access in MacOS is able to see which track is currently playing and to skip tracks based on certain criteria.

 

The issue that I am seeing is this: Whenever I do not play back directly on my laptop but instead select an external output device, Denied acts as if playback on my local machine has stopped entirely. Meaning, it no longer sees the current track and consequently also no longer skips tracks that would otherwise match it's criteria. To get Denied working again, I need to first switch the output device back to my laptop and then pause and resume the current track.

 

This happens reproducibly every time I try it. The only exception is when I select my iPhone as the output device, in which case Denied on my laptop continues being able to see the current track. My guess would be that this is somehow related to a "real" version of Spotify running on the playback device in question as opposed to 3rd party hardware using some sort of API to manage playback. The thing that puzzles me is that this makes a difference for two pieces of software (Spotify and Denied) running on the same machine and supposedly being in control of playback no matter what the output device.

 

I realise that this is probably an edge case from the perspective of Spotify but am hoping that perhaps this is indicative of some general bug in the way Spotify Connect works and might be worth addressing.

 

Any feedback or helpful advice is appreciated. The developer of Denied is aware of this thread and might be interested in possible solutions as well.

 

If you've made it this far: sorry for the wall of text and thanks!

Reply
1 Reply

Hi there, I'm Boy the developer of denied.app and I'm indeed very interested in a solution! The opening post is very detailed, so I'll just add some technical points of interest.

 

Denied uses AppleScript and a distributed notification (

com.spotify.client.PlaybackStateChanged through 

NSDistributedNotificationCenter) to become aware of which song is currently playing. Both these methods are exposed by the Spotify desktop app.

 

For local tracks and when playing through a native, mobile companion app, this seems to work fine. When a third-party speaker comes into play it appears the distributed notification is not posted by the Spotify desktop app.

Suggested posts