esluyter / super-bufrd

UGens for accessing long buffers with subsample accuracy
GNU General Public License v3.0
26 stars 3 forks source link

SuperPair:composeNAryOp #28

Open esluyter opened 2 years ago

esluyter commented 2 years ago
(
x = {
  var value = \value.skr(0);
  value.linlin(0, 10000, 0, 1).poll(label: "linlin");
  0;
}.play;
)
esluyter commented 2 years ago

From historical email from elgiano:

  • BinaryOpUGen: I rewrote all functions already, except DemandRate and Supernova ones. Unfortunately we can't easily subclass it... anyway, you can find my work on my fork: https://github.com/elgiano/super-bufrd/blob/master/SuperBinaryOpUGen.cpp
  • then we should do also unary and nAry functions... for example, the one I use in SuperPlayBufCF is LinLin... It basically comes down to substituting all UGens used in the UGen class on the language. They are not so many, and hopefully they're so fundamental that they're not likely to change much in the future... but it is still quite some work:

MulAdd (from MulAddUGens.cpp, this is also used by LinLin) Clip, Fold, Wrap, ModDif, InRange, LinExp (from LFUGens.cpp) Sanitize, CheckBadValues (from TestUGens.cpp) XFade2, LinXFade2 (from PanUGens.cpp) Lag, LagUD, Lag2UD, Lag3, Lag3UD, VarLag, Slew (from FilterUGens.cpp) ( + UnaryOpUgens.cpp)

17 UGens in 5 files...