-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multipoint Envelope #53
Comments
do we need membrane buttons as well? Is it (static) `FloatArray MultipointEnvelope::create(int points)' ? what is An ADSR Envelope is a particular case of a MultipointEnvelope, should it be refactored accordingly (inheriting from it)? Should the transition here be linear or exponential (see #48) ? |
no So across the library, the constructors should never allocate dynamic memory. The only methods that allocate and deallocate memory are the static 'create' and 'destroy' methods. And there should be at least one create (and destroy) for each non-trivial object. Yes I think rate should be seconds, I guess, same as ADSR. And yes we need setLevel. And/or Linear transitions, and no we don't need to refactor ADSR. |
Done cf78d8f. Done mostly with code borrowed from ADSR ( which means a refactoring of ADSR as child class of MultipointEnvelope is desirable). Current caveats:
Additional notes:
|
Multipoint envelope with rate and level per point, same as the DX7 5-point envelopes.
The constructor should ideally take an array to hold the state and the size e.g.
MultipointEnvelope(float* points, int size)
where points is 2 x size.Define a
static MultipointEnvelope::create(int points)
which allocates the array.Define functions that set the points with a point index, e.g.
setRate(int point, float value)
.The text was updated successfully, but these errors were encountered: