Сообщение об ошибке 'addr' не понято в Supercollider 3.9

Я давно использую Supercollider 3.8 и решил сменить версию на 3.9.3, но это принесло нам проблемы, в настоящее время script.scd возвращает следующую ошибку:

ERROR: Message 'addr' not understood.
RECEIVER:
Instance of Function {    (0000022C4663FF48, gc=8C, fmt=00, flg=00, set=02)
  instance variables [2]
    def : instance of FunctionDef - closed
    context : Frame (0000022C45014BD8) of Interpreter:functionCompileContext
}
ARGS:
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>
    Object:doesNotUnderstand
        arg this = <instance of Function>
        arg selector = 'addr'
        arg args = [*0]
    OSCFuncAddrMessageMatcher:value
        arg this = <instance of OSCFuncAddrMessageMatcher>
        arg msg = [*33]
        arg time = 161.0420767
        arg testAddr = <instance of NetAddr>
        arg recvPort = 57121
    OSCMessageDispatcher:value
        arg this = <instance of OSCMessageDispatcher>
        arg msg = [*33]
        arg time = 161.0420767
        arg addr = <instance of NetAddr>
        arg recvPort = 57121
    Main:recvOSCmessage
        arg this = <instance of Main>
        arg time = 161.0420767
        arg replyAddr = <instance of NetAddr>
        arg recvPort = 57121
        arg msg = [*33]
^^ The preceding error dump is for ERROR: Message 'addr' not understood.
RECEIVER: a Function

0 ответов

Невозможно диагностировать проблему без кода, который генерирует ошибку.

Для объяснения сообщения об ошибке:

Message 'addr' not understood: Это означает, что метод addr был вызван на что-то, например something.addr() у которого нет метода с таким именем.

RECEIVER: Instance of FunctionЭто означает, что "что-то" является функцией.

Таким образом, где-то вы можете передавать функцию в качестве аргумента, когда ожидается какой-либо другой тип объекта (что-то, что отвечает .addrтак что, вероятно, NetAddr или же Server).

Другие вопросы по тегам