🔥 Lifetime deal! Get Control Surface Studio for Just £67 👉 Click Here To Get It
Time left... mailtimers.com
⚠️ Lifetime licenses are ending soon, get yours before they're gone ⚠️
Your shopping cart is empty.

generate configurable element error

Submitted by nucleusg on Fri, 10/07/2022 - 13:56
Pro User
Control Surface Studio User

Hi I cannot install my new script as the above error message appears saying that at least one midi message value is not set. I checked each value but cannot find what is missing. Help will be greatly appreciated

Topic Category: 

7 Responses


Louis Mussier
Control Surface Studio User

I've got the same problem here? Please help us understand?

Control Surface Studio User

Also encountered this issue attempting to install my first CSS script ever into Ableton remote scripts folder. I tried to make a "minimum example template and script" from scratch that reproduces the problem, but stopped after my first few tries installed successfully. I think I could tell by reviewing the successfully installed script files, that the "generate configurable element" error is related to CSS connecting script elements and template elements. So then I tried again using the first template with the same new from scratch script (contains one mode and one mode selector only with default settings) and installing that. Bang. Same "generate configurable element" error . The only difference between script installation success and failure was the template referenced by the script.

How can a template element's midi message value not be set? Those are all GUI drop-down items.

I tried reviewing the template JSON data, but that's dense hard to read data. The only thing I noticed was sometimes the JSON element key named "MIDI_value" has an associated value that is quoted and sometimes not quoted. But I think the difference between quoting numeric values and not quoting them in JSON only matters if you are validating the structure of the JSON messages against a strict JSON schema. Otherwise a "MIDI_value" value seems to be present for every "MIDI_value" key in the data.

Also, I can export then re-import the template data in "Controller Templates" area, so the JSON must be well-formed enough for displaying and editing the template.

I uploaded the template file yesterday in another thread, Mackie C4 Template. As far as I can tell right now, it's not possible to successfully install a script based on that template because of this error.

Any guidance?

Control Surface Studio User

Attached is a simple as I can make it example that illustrates the issue.

The v0.0.2 script contains only a (default) mode with LED feedback, and the v0.0.5 Template contains only an LED Feedback object. Yet the script won't import to Live. (won't successfully stitch the template and the script together creating runnable python code?)

Each time I simplified the Template today (v3, 4, 5), I started a new template and used my eyeballs to copy/paste position info. I also used Midi Learn.

I also started the V2 script today from New.

Forum Admin

1. check all mappings in your script have inputs assigned to them. If they do and you still get the error:
2. Try creating a brand new controller template, move all of the inputs (using drag and drop) to the new template, or copy each input and move the duplicates to the new controller (don't simply duplicate the template as that won't work).
The problem could be that you've deleted inputs from the template but they possibly still exist in the underlying json, even though you can no longer see them in the UI.

Control Surface Studio User

Yes, I suspected something like that happened. As a noob with the Template tool, and not really knowing exactly what I was trying to do, several mistakes were made both times I started new Templates chasing this rabbit; progress was generally made two steps forward, one step back.

Could you make CSS include a little more information in that error message (or log it?) like maybe the "id" and "parent id" of the JSON object being processed when the "compiler" exploded?

As more of a "lazy" programmer by temperament, after hearing your advice, it seems to me I should be able to write some kind of JSON parser/matcher that can identify Template-Script mismatch issues like this for me, and automatically "head shot" such "Template zombies". What do you think? Are my dogs even barking is the right forest? I'm pretty sure if this was an easy, straightforward task, CSS would be doing it already. So, stay tuned I guess.

Control Surface Studio User

I was able to simplify the problem a little further I think.

Steps to reproduce:

  1. Create Template "F" that contains only an LED Feedback object.
  2. Create Template "G" that contains any non-LED feedback object like a Button or Knob
  3. Create Script "Test" associated with Template "G" and "Import to Live". You get "add_mode_list error: the script contains no modes, or all modes have no contents."
  4. Update Script "Test" to be associated with Template "F" and "Import to Live". You get "generate_configurable_element error: at least one midi message value is not set"

I figure "the script contains no modes" error message is actually the culprit in both cases, but why the different error messages?
Then also this part of the first error message doesn't make complete sense to me, "or all modes have no contents". My testing began with several mappings defined in the mode and that "generate_configurable_element error" kept returning with every simplification, all the way down to not even a mode mapped with no change in the error message, the only difference is the LED object in the Template versus an Button or whatever.

Control Surface Studio User


If it may prove useful: I'm a new user of CSS and recently had this.

Ultimately, I guess I'm just confirming the above discussion in layman terms - in my case it proved that the LED screen module is to blame because it had no inputs configured.
Simply removing it from the controller template got the scripts installing w/o any errors.