Rory gave me a link to a description of i & k times https://flossmanual.csound.com/csound-language/initialization-and-performance-pass , and for the most part, I this I understand how to use them locally within an instrument, but when it comes to globals, I’ve found the need to use these things at both i & k times. So, exactly which rate to declare isn’t immediately obvious to me.
Plus, it isn’t always cut and dry when you can actually perform certain operations. For instance, a global array (giArray) that stores numbers can’t be written at k-rate, but if that same arrays holds function tables, the function table are writable at any time, but you can only assign a new function table to that global array at i-time.
Guess I’m just wondering if there is a basic rules for beginners to follow, and then expand from there.