[Added] Selecting renderer config files at install
Posted: Fri May 10, 2013 11:16 pm
OK I find the 2.6.4 (and early 3.0 builds from git) implementation just fine here - excluding "Streamium" allows UMS to identify my "Naim" renderer profile - Thanks SubJunk!
I wonder if there is a way to extend this slightly?
For example - when a renderer is detected, UMS could match with all the available profile matches. If only one is found (or none for the default renderer) we behave as now.
If more than one is found, we need a way of identifying which is correct. There could be several strategies here:
- Always prefer one of the list of conflicting servers. This is pretty much like the current implementation, at least functionally. Without configuration, I guess this would just be the first on the list. A configuration option (and because the numbers are small, a radio-button would probably do at the UI) would then allow that preference to be changed to a specific renderer.
- Use the IP address. This would enable multiple conflicting devices to be used on the same network, as long as the user had control of DHCP (or assigned a fixed IP)
- Use the server name by resolving in DNS. My Naim, for example, uses DHCP, but registers a host name with DNS based on its MAC address - so it is always identifiable.
I guess it is also almost feasible to do this before a renderer is seen on the network - UMS could statically scan all the match strings to look for conflicts, but it can't know exactly what headers are returned so I think this might not be reliable.
This would require a small administration interface of course, and some additional configuration to add the "stage 2" identification term.
Anyway - just floating the idea
.
I wonder if there is a way to extend this slightly?
For example - when a renderer is detected, UMS could match with all the available profile matches. If only one is found (or none for the default renderer) we behave as now.
If more than one is found, we need a way of identifying which is correct. There could be several strategies here:
- Always prefer one of the list of conflicting servers. This is pretty much like the current implementation, at least functionally. Without configuration, I guess this would just be the first on the list. A configuration option (and because the numbers are small, a radio-button would probably do at the UI) would then allow that preference to be changed to a specific renderer.
- Use the IP address. This would enable multiple conflicting devices to be used on the same network, as long as the user had control of DHCP (or assigned a fixed IP)
- Use the server name by resolving in DNS. My Naim, for example, uses DHCP, but registers a host name with DNS based on its MAC address - so it is always identifiable.
I guess it is also almost feasible to do this before a renderer is seen on the network - UMS could statically scan all the match strings to look for conflicts, but it can't know exactly what headers are returned so I think this might not be reliable.
This would require a small administration interface of course, and some additional configuration to add the "stage 2" identification term.
Anyway - just floating the idea
