Hi, today I ran into an issue again which I fear I might run into again: I used an argument name in a SynthDef that was already reserved by SC for usage with Pattern. The first time was when I used scale, today it was with lag.
These argument names worked fine when I just used a SynthDef, but the moment I control the SynthDef via a Pattern, strange things happen.
Please, is there is a list of keywords which should not be used as argument names? Or is there a best naming practice how to not run into such situations in the first place?
Risking to belabour a potentially moot point, but as two members reacted with answers about pattern/event keywords, am I correct in reasoning that there simply are no keywords in SC areas outside of pattern/event that could give odd results when used as arguments in a SynthDef?
To be formally correct: Whichever framework you’re using defines “reserved” keywords.
If you’re using patterns + events, then you’re subject to defaults defined in the default event prototype (unless you’re using a different event prototype – I don’t think anyone has defined an alternate event prototype, so you can fairly safely assume that the default event prototype applies – but it is in principle possible to declare a totally different event system, and when using it, the “reserved keywords” would be different).
If you’re using a framework other than patterns/events, then that framework decides what is reserved (e.g. JITLib reserves ‘out’ and ‘gate’ for itself).
Oh I’m sort of dumb, so I had ‘a’ set to the default event a = ().play. You need to play an event because that is the method which sets the parent, and those lines iterate through it’s keys and prints the key value pairs.