Hi list, I'm afraid there is a bug on the getters side of the ADSR UGen. One can set adsr::attackTime( 10::ms ) and gets adsr::attackTime() as 0.010::samp, instead of (0.010*SR)::samp. So, to be able to use adsr::attackTime() => now correctly, one should do: adsr::attackTime()*sr => now Which I don't think is the way one would expect. Could anyone confirm the same behaviour, so I can add it to the wiki-bug-list? eduard SinOsc s => ADSR env => Gain g => dac; env.attackTime( 10::ms ); env.decayTime( 5::ms ); env.releaseTime( 1000::ms ); <<<"env_region", "\tstate()", "\tcur time[ms]", "\ttime[samp]", "\ttime[ms]">>>; <<<"-------------------------------------------------------------------- -------","\n">>>; while( true ) { env.keyOn(); <<< "start of att", "\t", env.state(), "\t", now/ms , "\t", env.attackTime()/samp, "\t", env.attackTime()/ms>>>; env.attackTime() => now; <<< "end of att", "\t", env.state(), "\t", now/ms >>>; <<< "start of dcy", "\t", env.state(), "\t", now/ms, "\t", env.decayTime()/samp, "\t", env.decayTime()/ms >>>; env.decayTime() => now; <<< "end of dcy", "\t", env.state(), "\t", now/ms >>>; env.keyOff(); <<< "start release", "\t", env.state(), "\t", now/ms, "\t", env.releaseTime()/samp, "\t", env.releaseTime()/ms >>>; env.releaseTime() => now; <<<"end release", "\t", env.state(), "\t", now/ms >>>; 1::second => now; <<< "\n","******************\n">>>;
Hi Eduard! Thanks for the bug report. This has been fixed for attack/decay/releaseTime() for ADSR. The code is in CVS and will be part of 1.2.1.2. Best, Ge! On Mon, 4 Feb 2008, eduard wrote:
Hi list,
I'm afraid there is a bug on the getters side of the ADSR UGen. One can set adsr::attackTime( 10::ms ) and gets adsr::attackTime() as 0.010::samp, instead of (0.010*SR)::samp. So, to be able to use
adsr::attackTime() => now
correctly, one should do:
adsr::attackTime()*sr => now
Which I don't think is the way one would expect. Could anyone confirm the same behaviour, so I can add it to the wiki-bug-list?
eduard
SinOsc s => ADSR env => Gain g => dac; env.attackTime( 10::ms ); env.decayTime( 5::ms ); env.releaseTime( 1000::ms ); <<<"env_region", "\tstate()", "\tcur time[ms]", "\ttime[samp]", "\ttime[ms]">>>; <<<"-------------------------------------------------------------------- -------","\n">>>; while( true ) {
env.keyOn(); <<< "start of att", "\t", env.state(), "\t", now/ms , "\t", env.attackTime()/samp, "\t", env.attackTime()/ms>>>; env.attackTime() => now; <<< "end of att", "\t", env.state(), "\t", now/ms >>>; <<< "start of dcy", "\t", env.state(), "\t", now/ms, "\t", env.decayTime()/samp, "\t", env.decayTime()/ms >>>; env.decayTime() => now; <<< "end of dcy", "\t", env.state(), "\t", now/ms >>>; env.keyOff(); <<< "start release", "\t", env.state(), "\t", now/ms, "\t", env.releaseTime()/samp, "\t", env.releaseTime()/ms >>>; env.releaseTime() => now; <<<"end release", "\t", env.state(), "\t", now/ms >>>; 1::second => now; <<< "\n","******************\n">>>; _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
Greetings! This is now fixed, I think. The updated code is in CVS and will be released in 1.2.1.2. Thanks Eduard for the report! Best, Ge! On Mon, 4 Feb 2008, eduard wrote:
Hi list,
I'm afraid there is a bug on the getters side of the ADSR UGen. One can set adsr::attackTime( 10::ms ) and gets adsr::attackTime() as 0.010::samp, instead of (0.010*SR)::samp. So, to be able to use
adsr::attackTime() => now
correctly, one should do:
adsr::attackTime()*sr => now
Which I don't think is the way one would expect. Could anyone confirm the same behaviour, so I can add it to the wiki-bug-list?
eduard
SinOsc s => ADSR env => Gain g => dac; env.attackTime( 10::ms ); env.decayTime( 5::ms ); env.releaseTime( 1000::ms ); <<<"env_region", "\tstate()", "\tcur time[ms]", "\ttime[samp]", "\ttime[ms]">>>; <<<"-------------------------------------------------------------------- -------","\n">>>; while( true ) {
env.keyOn(); <<< "start of att", "\t", env.state(), "\t", now/ms , "\t", env.attackTime()/samp, "\t", env.attackTime()/ms>>>; env.attackTime() => now; <<< "end of att", "\t", env.state(), "\t", now/ms >>>; <<< "start of dcy", "\t", env.state(), "\t", now/ms, "\t", env.decayTime()/samp, "\t", env.decayTime()/ms >>>; env.decayTime() => now; <<< "end of dcy", "\t", env.state(), "\t", now/ms >>>; env.keyOff(); <<< "start release", "\t", env.state(), "\t", now/ms, "\t", env.releaseTime()/samp, "\t", env.releaseTime()/ms >>>; env.releaseTime() => now; <<<"end release", "\t", env.state(), "\t", now/ms >>>; 1::second => now; <<< "\n","******************\n">>>; _______________________________________________ chuck-users mailing list chuck-users@lists.cs.princeton.edu https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
Ge Wang wrote:
The updated code is in CVS and will be released in 1.2.1.2.
I know where to get 1.2.1.2, but where is the CVS? -- peace, love & harmony Atte http://atte.dk | http://myspace.com/attejensen http://anagrammer.dk | http://modlys.dk
participants (4)
-
Atte André Jensen
-
eduard
-
Ge Wang
-
Kassen