Old 02-20-2021, 07:31 AM   #1
Hypex
Human being with feelings
 
Join Date: Mar 2015
Location: Australia
Posts: 452
Default Be useful if scripts inherited the JSFX GUI builder

Hi guys.


What I mean by that is the simple UI language JSFX can use to describe an interface with sliders. It may be simple and limited in some ways but it would be useful to have.


Because they are related it would be good if EEL scripts and others could also define sliders and such. I know it's for basic input but GetUserInputs() is just too limiting and the only one I'm aware of. The menu functions look interesting but not practical without a button it could be attached too. Given both JSFX sliders and getting user input is setting a variable to a number or string, it would be good if a slider could be specified in a similar way. So the user could use a slider or select an option instead of needing to manually.


I know there are ways around it, like creating your own GUI or using another, but that's more work than just being able to specify it with a list of simple sliders. With an action button on the bottom. Where you could go bang, bang, bang and it's ready to go. If JSFX can't be hooked into then inheriting the GUI builder would be the next best thing.
Hypex is offline   Reply With Quote
Old 02-20-2021, 02:59 PM   #2
IXix
Human being with feelings
 
Join Date: Jan 2007
Location: mcr:uk
Posts: 3,891
Default

Yeah, that would be nice.
IXix is offline   Reply With Quote
Old 02-20-2021, 04:25 PM   #3
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,770
Default

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....

-Michael
mschnell is offline   Reply With Quote
Old 02-21-2021, 06:41 AM   #4
Hypex
Human being with feelings
 
Join Date: Mar 2015
Location: Australia
Posts: 452
Default

Quote:
Originally Posted by mschnell View Post
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
Hypex is offline   Reply With Quote
Old 02-21-2021, 09:21 AM   #5
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,770
Default


But it's very unlikely, that Cockos themselves will do somethoing in this direction. They do have by far enough "musical" task that are requested all the time.
-Michael

Last edited by mschnell; 02-22-2021 at 07:04 AM.
mschnell is offline   Reply With Quote
Old 02-22-2021, 12:55 AM   #6
Hypex
Human being with feelings
 
Join Date: Mar 2015
Location: Australia
Posts: 452
Default

Unlikely yes. It may not be as trivial as it looks. But I suggested as a good idea because it build upon what is already there and would benefit scriptwriters as well as users. A win win situation. :-)
Hypex is offline   Reply With Quote
Old 02-22-2021, 07:06 AM   #7
mschnell
Human being with feelings
 
mschnell's Avatar
 
Join Date: Jun 2013
Location: Krefeld, Germany
Posts: 14,770
Default

I already did some similar stuff (not in Reaper) and it was not trivial at all

-Michael
mschnell is offline   Reply With Quote
Old 02-22-2021, 01:40 PM   #8
Hypex
Human being with feelings
 
Join Date: Mar 2015
Location: Australia
Posts: 452
Default

LOL. I suppose it depends on the internal GUI builder used. On how complicated it is to add a slider widget against a numeric input widget. I just expect builders to be simple enough these days and do most of the work. Reaper does do vertical stacking when comparing sliders against user inputs so the layout method can be the same. :-)
Hypex is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -7. The time now is 10:09 PM.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.