Automatic Renderer Switching

Feature description:

This feature will automatically detect if the previously selected renderer is offline and switch to the next available one. (If multiple ones exist, may need some menu for priority sorting.)

Problem solved:

I often listen to music on Chromecast and then leave my home network. When I open Symfonium outside of the Chromecast’s reach and try to play a track I get the “current renderer is offline” message and manually have to switch to my regular phone renderer.

Even when staying on the home network, sometimes Chromecast just times out and closes the connection, which is fine. But Symfonium continues to be attached to the dead session showing the “current renderer is offline” message. And then I manually need to set a new renderer, i.e. either select the Chromecast renderer again to renew the session or switch to my native phone renderer.

Brought benefits:

This will help anyone who regularly streams music from their device to Chromecast (or similar endpoints). I noticed that especially for non-technical users it can be confusing why they need to manually switch the renderer. If Symfonium could take care of that “under the hood”, it would make usage of the app much more convenient, for both casual and power users.

Other application solutions:

Spotify for example seems to handle it like this. If the connection to the Chromecast endpoint is dead, it sometimes renews the connection itself (if available) or just switches to regular phone output.

Additional description and context:

In principal this should be a relatively simple logic to implement:
If current renderer offline > switch to next available renderer.
OR
If current renderer offline > try to disconnect and reconnect > if fails > switch to next available renderer

The selection of “next available renderer” is where more complexity could be introduced, either by having a priority checkmark for each render, for example in the little slide-up panel where we can set things like volume-steps for each renderer, a sorting handle, or just by a general switch in the menu:“auto-disconnect from dead renderer”.

Screenshots / Mockup:

EDIT: grammar and graphical glitches
EDIT2: typo in screenshot description