Quote:
Originally Posted by mschnell
Could be done as a 3rd party tool. A GUI builder (maybe working as a graphical IDE) that writes code for the @gfx section, similar as several tools available for Python (AFAIK). Maybe steal some ideas over there...l
|
It could and a GUI builder is nice, but would be extra work. There's a bit of support for Lua and Python. Though that restricts it to that language and it won't be available to all languages.
I think JSFX would be good to expose or extend to other scripts as it's internal to Reaper and it could provide a standard way of building a simple but powerful interface. Even sliders, checks and buttons would be enough. I'm just finding the limitations of GetUserInputs() which were obvious already. And yearning for a kind of GetSliderInputs() or GetExtUserInputs(), even a function sequel which I see a lot. I'm working around it by having a script for a different function, but this soon gets messy, if I want to add more options. Or even provide different modes of operation. Well then 10 scripts could go to 20, then to 30, just so each has an obvious name. Otherwise the user has to plug in a number to pick what he wants which isn't user friendly against a simple slider with a label. Even though programmatically it makes no difference to the main code if each is a number sitting in a variable anyway.
For EEL this could be the hardest to do. And since JSFX and EEL are closely linked it would be good if EEL could also have shared in this functionality. I know JSFX isn't a dedicated IBL (interface builder language) but its design makes it good for an IBS (interface builder script) for running the FX. At least I think so. For another project I've been writing up prototype IBL myself. If those acronyms aren't in common use, then that's because, I made them up. :-D
EEL is especially hard because it lacks memory allocation and being unable to dynamically build lists or arrays. At least what I know of. So limits code where it would rely on a client script to provide memory functions for it, and even then, link listing with nodes might still be desired or needed. If done by hand, a GUI builder really needs to keep a list of objects. I think a simple stackable GUI like in JSFX would be sufficient. I once wrote a simple GUI layout engine, with basic support for cycle gadgets, checks and buttons on the bottom. It was vertically stacked, but each gadget had to have it's own width calculated, so they all fit neatly in the window with some action buttons centred on the bottom. But that could be out of scope for EEL could provide, thus my idea, in the subject line.
Sorry, didn't mean for this to be so long. :-P