Page 1 of 1

Personalities with fractional values only load in same version.

Posted: 19 May 2019, 11:32
by DC3
If a personality file contains a function definition with a decimal range and the fractional part of the decimal is a non-zero value, the show containing that personality will only load in the same version of Titan OS that it was created in. Attempting to load the show in a different version of Titan OS results in errors and the Event Log shows a critical error for the personality with the message "Can't patch, broken personality" in type fixtureManager.

Examples:

Code: Select all

<Function ID="3" Name="Strobe" Display="'Strobe %.1f Hz',0.2~25.0" Dmx="16~95" Intensity="0~0" />

Code: Select all

<Function ID="1" Name="Zoom" Display="'Zoom %.1f°',8.0~42.5" Dmx="0~255" />

Personality files with these types of definitions will result in a show load failure. For these examples, changing the lower end of the strobe to 1.0 and the upper end of the zoom to 42.0 and the show file will load on different versions without issue.

This is being seen with shows created in 10.1 being loaded into 11.1, created in 11.1 being loaded into 11.3 and created in 11.3 being loaded into 11.1, going from console to console, console to PC, PC to console and PC to PC all with the same result.

Re: Personalities with fractional values only load in same version.

Posted: 19 May 2019, 15:07
by niclights
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.

Re: Personalities with fractional values only load in same version.

Posted: 20 May 2019, 01:21
by DC3
Happy that it helps, and thank you for the reply and added insight.