this is a somewhat unrelated issue. @sam that is a sensible optimization, but it changes behavior.
at issue here are two things-- @chapelierfou had the original request the a TR.TIME x y value of y=0 would mean that TR.PULSE for channel x would be basically be disabled-- this makes an incredible amount of sense to me. the other channels would be fine. it’s like having selective TR.PULSE output muting.
now, the code above deals with out-of-bounds channel references. for example, TR.PULSE 6 doesn’t make any sense-- since channels are 1-4 (A-D). so i decided to clamp. but perhaps it makes more sense to simply discard scripts that are calling on non-existent channels.
opinions?