The devices management in Rainbow evolved. This article describes the way the devices are displayed and chosen especially when connecting or removing a device.
The basic principle
Rainbow is now based on the Operating System device management. How a device is used or not used is mainly related to its status in the operating system, such as "Default" or "Default Communications" audio device for Windows.
In Rainbow, we will display first the devices as the operating system provides them with Default, Default Communications and then all other devices.
The operating system does not have default or communications settings for cameras, so Rainbow will display cameras as provided by Windows.
How does Rainbow choose the audio device
- On fresh/first “start” of the Rainbow application, the “default” device from the operating system is selected. If the system does not have a default device, it’s usually the first one in the list that will be used.
- When a new device is plugged :
- If the new device is chosen by the operating system as a “default” or “communications” device, then Rainbow will automatically choose it as the new device to be used. The device will then be memorized in case of application restart or later use if the device is available.
- If the system has no default device AND no default communication device, the device that was just connected will be selected.
- Device is unplugged :
- Rainbow will search for the “new” default or default communications device chosen by the operating system and then select it.
- If no default or communications device is available, then the first one in the list will be chosen.
Example of devices displayed in Rainbow with a Jabra Headset defined as Default Audio and Default for Communication Device
- If the headset is unplugged, Windows operating system will define for the microphone as default and default for communications either the Webcam or the integrated microphone Array and same for the loudspeaker which may be the Dell Display or the integrated Loudspeaker (Realtek Audio).
To ensure the good device is chosen it may be useful to disable the Webcam as microphone and the Dell Display as loudspeaker.
- On the opposite lets say the OS switched to integrated microphone and integrated loudspeaker. Now when the Jabra headset is plugged in, Rainbow will automatically switch to this device because it was previously set as default audio and default for communications device and Windows will reuse that setting.
Bluetooth audio devices
When the PC wakes up (when the PC was in sleep mode) or due to the built-in "battery saving" mechanisms of the BT devices, it will be seen as detected and connected, but you will have no audio output. Manual action on the device is required to wake it up (e.g. clicking the volume buttons, etc.).
Most of the time the microphone works, only the audio output is affected by this behavior.
We also observed that connecting 2 Bluetooth devices at the same time is not well supported by most OS. This often results in one of them disconnecting and reconnecting, which may cause the other to disconnect and so on. We recommend avoiding this type of usage as much as possible.
Headset with dual-channel microphones
Some headsets or even microphones can be dual-channel (i.e. Mono and Stereo channel). These devices are seen as 2 separate devices in the microphone list; most of the time the second entry will mention "Stereo".
These "stereo" devices may not work with Rainbow therefore we recommend:
- to define the non stereo as default and default communication device
- or if the stereo device is not used in any other application to disable them into the Windows settings.
Firefox does not support the choice of output device; It’s always the system default one.
Microphones can be chosen from a list, but Firefox does not have "Default" and "Default Communications". The way the device is chosen uses the mechanism explained above in 2-b and 3-b
Camera with microphone
When a new camera with microphone is plugged in Rainbow tries to ignore it for the microphone selection, i.e. Rainbow should not switch automatically on this device. But it is still possible to select it, the camera is available in the list of microphones.
The most common problems and recommendations for solving them:
- I’ve plugged an HDMI screen or an USB-C hub, and it’s chosen as an output device.
- Rainbow switches to this device because the operating system defined it as “default” or “default communications” device
- If theses devices should never be used as audio device for any application then we recommend to deactivate them in the OS settings.
- But you can also change the default and default communications device in the OS setting and then change the current device from the Rainbow Settings
- My headset/audio devices is not selected when plugged-in
- Rainbow doesn't switch to this device because the operating system didn't set it as “default” or “default communications” device
Device configuration with Windows operating system
The article How to define the default audio and default for communications device in Windows describes how manage the audio devices.