ccrma / chuck

ChucK Music Programming Language
http://chuck.stanford.edu/
GNU General Public License v2.0
799 stars 127 forks source link

UGen reference counting revamp #421

Open gewang opened 8 months ago

gewang commented 8 months ago

possible updates to how UGens are reference counted:

1) connections like => and =< are no longer ref-counted 2) when a UGen variable goes out of scope, it disconnects itself 3) this also means that shreds don't have to keep a special list of UGens created on it; however, need to handle cases when Shreds are removed explicitly (e.g., from otf/vm remove commands; stacks need unwinding, etc.) 4) need to verify with multichan UGens, chugens, chugraphs 5) it's still possible for make more than one connection between UGens, need to verify that disconnect removes all connections from POV of both endpoints 6) this might be an opportunity to streamline Chuck_UGen function names, semantics, and documentation

gewang commented 8 months ago

tagging this for post-1.5.2.0, possibly 1.5.2.1