You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
665 B
Python
20 lines
665 B
Python
// adds an instance method to the Buffer class
|
|
+ Buffer {
|
|
fdNMF { arg dstBuf, rank = 1, iterations = 100, fftSize = 2048, windowSize = 2048, hopSize = 512, action;
|
|
var resp;
|
|
|
|
if(bufnum.isNil) { Error("Cannot call % on a % that has been freed".format(thisMethod.name, this.class.name)).throw };
|
|
|
|
// responder idea stolen from getToFloatArray
|
|
resp = OSCFunc({ arg msg;
|
|
if(msg[1]== '/b_gen' && msg[2]== dstBuf.bufnum, {
|
|
// ("received" + msg).postln;
|
|
resp.clear;
|
|
action.value(dstBuf.bufnum);
|
|
});
|
|
}, '/done', server.addr);
|
|
|
|
server.listSendMsg([\b_gen, dstBuf.bufnum, "BufNMF", bufnum, rank, iterations, fftSize, windowSize, hopSize])
|
|
}
|
|
}
|