Scripting dynamics = value inconsistency
-
@Christoph-Hart yeah;
MAGIC NUMBER == BAD!
- do we have a list somewhere of all the Global Constants, I ask because I recently needed to do something to the sample properties and I couldn't find anything so had to use a magic number....??
-
@Christoph-Hart said in Scripting dynamics = value inconsistency:
Yes why do you had that if in the first place?
In my defense, it was 4am
Also, MAGIC NUMBER ALERT!!!
I've been taking them from the module browser. Should I be calling them differently? -
@dustbro there really really should be a set of constants you use, its just finding where these are documented thats sometimes the problem...
so
Dynamics1.setAttribute(Dynamics1.Threshold,value)
-
@Lindon Most are documented in the module browser. Just right click the module name. You can also use the auto-complete in your script to bring up a list of constants.
-
I have the Module Browser permanently displayed, so it's quick to find what I need, but this might not be the best coding style. Will work on that... I promise...
-
Yes, module browser is useful for this, but the new documentation will contain a searchable reference for all modules including parameter IDs etc.
Meanwhile, I actually prefer the autocomplete window to give me the Parameter IDs.
-
@d-healey well on this very subject...
first I have no idea how to open this module browser - where is it?
and second can anyone tell me the correct association between the values returned by the autocomplete for
Degrade1.setAttribute(Degrade1.???????)
and the names on the Degrade knobs?
which say
Harmonics
Bit Crush
Gain
Sample rate
Post Filterwhilst autocomplete says:
Headroom
Quant
Rate
PostFilt
NonLin
DryWet -
@d-healey said in Scripting dynamics = value inconsistency:
You can also use the auto-complete in your script to bring up a list of constants
The autocomplete doesn't work when you're iterating thru an array, that's why I started using the Magic Numbers. Much easier to type
-
@Lindon You need to add it to the interface. I have plans for a video on the subject but no-one was interested :(
@dustbro
Whatchu talkin bout?
-
@d-healey well this now gets sillier and sillier...
add a degrade fx to you project and it shows you a set of buttons with these names:
Harmonics
Bit Crush
Gain
Sample rate
Post FilterCreate a variable for the fx and press <esc> to get autocomplete and it shows you these attributes:
Headroom
Quant
Rate
PostFilt
NonLin
DryWetOpen a module browser and right lick on Degrade and it shows you this set of parameters;
- Threshold
- Output
- Attack
- Release
- Knee
Unless I'm doing something completely daft(not outside the bounds of possibility) I think this is broken.
-
No, what he meant was that it will not be able to parse the iterator variable as array expression and detect it as object.
This is true, but it works for standard array syntax (actually pressing escape kind of "runs" a little script that is able to evaluate some basic expressions to receive the object, but it fails with every scoped variable like iterators or local variables).
-
I really need to remove these old modules, I haven't used them for years and they are completely broken.
There are bit crush and sample reduction nodes available in scriptnode, which should work better and more consistently.
-
@Lindon I just worked out the documentation is OFF by one press degrade to get the params for the limiter, press Chorus to get the params for the degrade FX...
now can anyone (@Christoph-Hart ) tell me how those are mapped to the knobs in the FX?
-
@Christoph-Hart but I'm under a tight deadline and I dont have the time to learn scriptnode now, so I'd like these to work,
-
@Christoph-Hart @d-healey When I used the method in Christoph's video (with [i] ) the popup doesn't work.
so if I type something like myList[i]. = no popup -
@Lindon said in Scripting dynamics = value inconsistency:
now can anyone (@Christoph-Hart ) tell me how those are mapped to the knobs in the FX?
You can add a knob with its callback, then you test the attributes from 0 to 5 while you look at what is moving in the module...
-
@dustbro I can confirm it does not work for me either on arrays with [i]