Flexible load of layers

Well, yes if you want to do it with LayerMidiMute parameter.

layers = this.parent:findLayers()

function getLayerNames()
  layerNames = {}
  for i, layer in ipairs(layers) do
    layerNames[i] = layer.name
  end
end

getLayerNames()

function layerSelectChanged()
  for i = 1, #layers do
    local layer = layers[i]
    if i == LayerSelect then
      layer:setParameter("LayerMidiMute", false)
    else
      layer:setParameter("LayerMidiMute", true)
    end
  end
end

defineParameter("LayerSelect", nil, 1, layerNames, layerSelectChanged)

layerSelectChanged()