Firstly, on behalf of software I would like to thank you for taking the time to investigate and report this. I thought that was very well described and understood in depth.
From what I can gather the software appears to be adding an extra .0 to the display range in the xml part of the showfile when saving or in the personality file if you try to save personalities with point display values from Personality Builder.
For example:
Code: Select all
<Function ID="3" Name="Strobe" Display="'Strobe %.1f Hz',0.2~25.2" Dmx="16~95" Intensity="0~0" />
becomes:
Code: Select all
<Function ID="3" Name="Strobe" Display="'Strobe %.1f Hz',0.2.0~25.2.0" Dmx="16~95" Intensity="0~0" />
If there are any personalities in the library with this type of error all fixtures with the same manufacturer as the faulty personality will fail to index when the sofware is started and will be unavailable to patch.
Attempting to load the xml show containing personalities with this error will result in an exception and the show failing to load correctly. The xml part of the show is normally only used when loading into higher software version numbers than the version number it was saved in which is why you see this when transitioning between versions. The binary part that is used when working within the same version is unaffected so the error does not occur in this case.
I already entered this on the system (#67920) but will add some additional detail now thanks to your feedback. It is my understanding that fixing this properly (in particular the Personality Builder side) requires some careful consideration in terms of maintaining backwards compatibility. But it would certainly be useful to have point display ranges (and locate/power on values) so hopefully it will be possible to solve this in a future version.