esluyter / super-bufrd

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

SuperBufRd help page example throws exception #30

Open avdrd opened 2 years ago

avdrd commented 2 years ago

I've tried this example provided on the SuperBufRd help page

b = Buffer.read(s, Platform.resourceDir +/+ "sounds/a11wlk01.wav");

(
{
  var phaseInt, phaseDec;
  # phaseInt, phaseDec = SuperPhasor.ar(0, BufRateScale.kr(b), 0, 0, Float.from32Bits(b.numFrames), 0);
  SuperBufRd.ar(1, b, phaseInt, phaseDec);
}.play;
)

But it throws an exception.

ERROR: Message 'at' not understood.
Perhaps you misspelled 'as', or meant to call 'at' on another receiver?
RECEIVER:
Instance of SuperPair {    (000002770D380378, gc=60, fmt=00, flg=00, set=02)
  instance variables [2]
    msd : instance of OutputProxy (000002770E09D828, size=11, set=4)
    lsd : instance of OutputProxy (000002770E09D408, size=11, set=4)
}
ARGS:
   Integer 0

PROTECTED CALL STACK:
    Meta_MethodError:new    0000027710921800
        arg this = DoesNotUnderstandError
        arg what = nil
        arg receiver = SuperPair(an OutputProxy, an OutputProxy)
    Meta_DoesNotUnderstandError:new 0000027710923B40
        arg this = DoesNotUnderstandError
        arg receiver = SuperPair(an OutputProxy, an OutputProxy)
        arg selector = at
        arg args = [ 0 ]
    Object:doesNotUnderstand    000002770DCF3640
        arg this = SuperPair(an OutputProxy, an OutputProxy)
        arg selector = at
        arg args = nil
    a FunctionDef   000002770E0DBE18
        sourceCode = "{
  var phaseInt, phaseDec;
  # phaseInt, phaseDec = SuperPhasor.ar(0, BufRateScale.kr(b), 0, 0, Float.from32Bits(b.numFrames), 0);
  SuperBufRd.ar(1, b, phaseInt, phaseDec);
}"
        var phaseInt = nil
        var phaseDec = nil
    SynthDef:buildUgenGraph 000002771036A380
        arg this = a SynthDef
        arg func = a Function
        arg rates = nil
        arg prependArgs = [  ]
        var result = nil
        var saveControlNames = [ ControlName  P 0 i_out scalar 0 ]
    a FunctionDef   000002770AC1F980
        sourceCode = "<an open Function>"
        arg i_out = an OutputProxy
        var result = nil
        var rate = nil
        var env = nil
    SynthDef:buildUgenGraph 000002771036A380
        arg this = a SynthDef
        arg func = a Function
        arg rates = nil
        arg prependArgs = [  ]
        var result = nil
        var saveControlNames = nil
    a FunctionDef   00000277103689C0
        sourceCode = "<an open Function>"
    Function:prTry  000002770FB37A40
        arg this = a Function
        var result = nil
        var thread = a Thread
        var next = nil
        var wasInProtectedFunc = false

CALL STACK:
    DoesNotUnderstandError:reportError
        arg this = <instance of DoesNotUnderstandError>
    Nil:handleError
        arg this = nil
        arg error = <instance of DoesNotUnderstandError>
    Thread:handleError
        arg this = <instance of Thread>
        arg error = <instance of DoesNotUnderstandError>
    Object:throw
        arg this = <instance of DoesNotUnderstandError>
    Function:protect
        arg this = <instance of Function>
        arg handler = <instance of Function>
        var result = <instance of DoesNotUnderstandError>
    SynthDef:build
        arg this = <instance of SynthDef>
        arg ugenGraphFunc = <instance of Function>
        arg rates = nil
        arg prependArgs = nil
    Function:play
        arg this = <instance of Function>
        arg target = <instance of Group>
        arg outbus = 0
        arg fadeTime = 0.02
        arg addAction = 'addToHead'
        arg args = nil
        var def = nil
        var synth = nil
        var server = <instance of Server>
        var bytes = nil
        var synthMsg = nil
    Interpreter:interpretPrintCmdLine
        arg this = <instance of Interpreter>
        var res = nil
        var func = <instance of Function>
        var code = "(
{
  var phaseInt, phaseDec..."
        var doc = nil
        var ideClass = <instance of Meta_ScIDE>
    Process:interpretPrintCmdLine
        arg this = <instance of Main>
^^ ERROR: Message 'at' not understood.
Perhaps you misspelled 'as', or meant to call 'at' on another receiver?
RECEIVER: SuperPair(an OutputProxy, an OutputProxy)

I'm guessing it has something to do with new parameters that were added more recently added to the implementation to which #29 is related.

mousaique commented 2 years ago

still seems to be the case. any perspective on updating the ugens? thanks!