@toxonic I changed the following lines....
// Sets the array as Control Value and repaints the panel inline function _updateInternal(p) { p.setValue(p.data.buttonValues); p.repaint(); p.changed(); }to...
// Sets the array as Control Value and repaints the panel inline function _updateInternal(p) { local pGet = p.getValue(); for (i=0;i<p.data.buttonValues.length;i++) pGet[i] = p.data.buttonValues[i]; p.setValue(pGet); p.repaint(); p.changed(); }I loaded the value of the panel into a local array, write the changes of the button data array to the local array and save the panel value again with p.setValue()
This works to me, when i set the maximum amount of steps (64) at compile time.
Nevertheless, thank you much for your effort! :-)