A few more comments...
As I started exploring scripter for real last night, I was amazed that I couldn't just do
for example to get what I wanted. Where is the formal API documentation for this with its organized lists of objects and methods? Aside from the LP Effects Manual, scripter section and the tutorial examples, I can't find anything significant.
The actual data is not normally stored in the PluginParameters array. Scripter stores it internally in some way. The PluginParameters array is normally only used to configure the GUI itself...not the data.
The workaround I linked above, basically is a design pattern to stash the data into the PluginParameters array AS A COPY of the true data that Scripter is keeping internally. This is only as a convenience to use in code in a faster way. Ultimately, Scripter will save with the DAW project the value that is it keeping internally and we have no other way to access that data then by calling GetParameter.
GetParameter() with its string argument that has to match something in the PluginParameters array feels so hackish.
And for that matter, creating plugin parameters and specifying their type with a string ("lin", "target" etc.) is so contrary to just instantiating objects: new LinSlider(), new Target(). It's like I want to abstract this whole thing and write an interface on top of Scripter that works more like what we are used to. Just sayin.
5,1 MacPro 3.46ghz x 12 128gb ram, OSX 10.14, Logic Pro 10.4.8, Mainstage3, Cubase10, StudioOne, Reaper, DP9, VEP, VSL, too many plugins to list