Issue with javascript and [play~] object

Dec 26, 2013 at 3:06am

Issue with javascript and [play~] object

I have been working on a solution based on the [play~] object. However I have had challenges with “clipping” so I have designed a solution where the aim was to generate an envelope at the beginning and at the end of the playback of the segment. However I have not been able to get this to work using javascript and clipping is still occuring.

Here is the code:
// inlets and outlets
inlets = 1;
outlets = 1;

var tskOneFragment;

function playOneFragment(){

line1= this.patcher.getnamed(“sn_line1″);
play1 = this.patcher.getnamed(“sn_play1″);

tskOneFragment = new Task(fade, this);

//—-Set line object to 0
line1.message(0,0);

//—-start playback of fragment (play from 300ms to 800ms
//and use 500ms on the operation)
play1.message(“start”,300,800,500);
//increase envelope to 1 using 20ms on the operation
//playback should have started giving a nice fade up
line1.message(1,20);

//—-Fade before the fragment ends
tskOneFragment.interval = 450;
tskOneFragment.repeat(2);

}

function fade(){
var iter= arguments.callee.task.iterations;
//Need to use iter=2 because task first run is immediate
if(iter==2){
//Fade clip should end playback 10ms before fragment playback ends
line1.message(0,40);
}

}

<code>

– Pasted Max Patch, click to expand. –

</code>

#276690
Dec 26, 2013 at 3:12am

you wont be able to trigger objects at precise time im afraid . JS is not good at time related operations , i would nor rely on this . maybe this is issuing your clicks . can you recreate MAX equivalent circuit of that introduced in JS to prove the difference ? .
edit : but im not sure if it is causing your clicks , i cant check your max patch to be sure . im just guessing that JS in an issue as ive experienced it before already ,trying to do similar things .

#276692
Dec 26, 2013 at 4:54am

I believe the clicks are caused by the fact that the wave might be raw cut using a fragment play – hence I need the envelope. I guess one option would be to create the logic in pure JAVA – do you know if it is possible to use this style in pure JAVA or is it JS only?

e.g
line1= this.patcher.getnamed(“sn_line1″);

#276696
Dec 26, 2013 at 7:38am

im sorry , i dont know anything about JAVA in relation to MAX

#276704

You must be logged in to reply to this topic.