Comments (1)
Hmm, yes this is actually a pretty complicated issue. "- 1" basically stops the running code right where it is, without releasing references to any objects in scope (object destructors are called when all references to the object have been released). To fix this ChucK would need a way to disentangle itself from multiple nested scopes, e.g. for the code
SinOsc s;
1::second => now;
if(maybe)
{
SinOsc t;
1::second => now;
if(maybe)
{
SinOsc u;
1::second => now;
if(maybe)
{
SinOsc v;
1::second => now;
}
}
}
ChucK would need to know which objects are appropriate to ref-release at any point in this code. Given ChucK's VM model, I don't think this is something it knows at run-time, when the -1 would be issued; rather it is all handled at compile-time. We need to add some sort of "escape hatch" that properly releases active references at any scope, or else track which references belong to which scope at run-time.
from chuck.
Related Issues (20)
- <<< (SinOsc s => Pan2 p) >>>; causes miniAudicle to crash HOT 2
- `popFront()` doesn't work with objects HOT 1
- UGen reference counting revamp HOT 1
- FFT IFFT and xsynth.ck example
- casting `Object` to `string` yields unexpected values?
- the time is now: fix class static variables HOT 3
- Array constructors for ugens only affects first element of array HOT 2
- "RtApiDs::getDeviceInfo: device ID is invalid!" on certain sample rates on windows with directsound
- constructors CKDoc issue for user-defined classes HOT 1
- means for adding CKDoc documentation for user-defined classes
- add wildcard support for OSC addresses HOT 4
- setGlobalFloatArray can lead to a crash HOT 3
- seg fault on some global objects upon cleanup HOT 1
- Array ugen to stereo ugen does not properly map. HOT 1
- ChucKing of UGen Arrays; large to small doesn't modulo. HOT 1
- auto on multi-dimension array fails in for loop
- CKDoc add option to disable alphabetical sorting HOT 1
- Refcounting bug on nested scope HOT 1
- API->object->create(...) not calling default constructor HOT 1
- List default audio device as audio device 0 in chuck --probe
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from chuck.