I’ve made a work around by constructing the overlay withing lua.
In the example the first 191 values are straightforward.
So I create a string with the desired definition by concatenating it. As it starts with “return” it will behave as a function once loaded, creating the overlay table.
local overlayString = " return {"
for i = 0,190 do
overlayString = overlayString..string.format('{value= %d, label= "%.1f"},', i, 1+i/10)
end
overlayString = overlayString..'{ value = 191, label = "1/32 note" },{ value = 192, label = "1/16 note" },{ value = 193, label = "1/12 note" },{ value = 194, label = "3/32 note" },{ value = 195, label = "1/8 note" },{ value = 196, label = "1/6 note" },{ value = 197, label = "3/16 note" },{ value = 198, label = "1/4 note" },{ value = 199, label = "3/8 note" },{ value = 200, label = "2/4 notes" },{ value = 201, label = "3/4 notes" },{ value = 202, label = "4/4 notes" },{ value = 203, label = "5/4 notes" },{ value = 204, label = "6/4 notes" },{ value = 205, label = "7/4 notes" },{ value = 206, label = "8/4 notes" },{ value = 207, label = "9/4 notes" },{ value = 208, label = "10/4 notes" },{ value = 209, label = "11/4 notes" },{ value = 210, label = "12/4 notes" },{ value = 211, label = "13/4 notes" },{ value = 212, label = "14/4 notes" },{ value = 213, label = "15/4 notes" },{ value = 214, label = "16/4 notes" },{ value = 215, label = "17/4 notes" },{ value = 216, label = "18/4 notes" },{ value = 217, label = "19/4 notes" },{ value = 218, label = "20/4 notes" }}'
local tableFunction = load(overlayString)
overlayTable = tableFunction()
overlays.create(303, overlayTable)
Next challenge are 2 overlays of 2014 and 4022 values. Fingers crossed!
EDIT : I just finished making them the very same way. It takes a bit to load, but they work, and it is easier than typing it all in.