Vespen / signal-shifter

Signal Shifter for macOS
MIT License
5 stars 0 forks source link

SignalShifter shows a single Bluetooth device twice in the Bluetooth list #4

Open algal opened 1 week ago

algal commented 1 week ago

I enjoy SignalShifter but I had a question about a feature I don’t understand. I am not sure if this is a bug or working as intended.

When I look at the list of devices under the Bluetooth heading, in the menubar list, I see two entries for a particular device, the Poly V4320 Series Bluetooth headset.

But when I use system profiler to list known bluetooth devices, it only shows up once.

At first I thought it might be because the device is a headset, so although it may be a single physical bluetooth device, perhaps it appears twice because it represents two distinct audio devices -- an audio input and an audio output. But the same is true of my pair of AirPods Pro, and that device is shown only once in the Bluetooth favorites list, so that explanation seems not to hold. And even if this were the reason, I’d expect some indication in the list to distinguish the input versus the output mode of the device.

I see a similar behavior in another app, Ears, which leads me to suspect that SignalShifter must be using the API the same API in the same way. But still this seems hard to explain.

Vespen commented 1 week ago

Hi, thanks for your feedback. 

Signal Shifter uses Apple's native API to detect audio devices. It looks like it treats your device like two separate devices, which is possible because hardware can provide multiple identities for a single device. I have tested the app with a few headsets that I have. None of them have the described issue. Probably macOS developers knows more about such corner cases and adjusts the built-in list accordingly. I will try to mimic native behavior, but I need more data.

At this moment, the application does not gather any information or log anything. Probably, I will add optional logging to investigate issues like yours. I am planning to release an update this summer.