Hello everybody!
From time to time i run into some problems with my SynthDefs sizes, since i make a lot of use of multichannel expansion.
I did not find resources yet where the limitations are described and how to work with these.
Can someone guide me with some information with these problems?
The current SynthDef i have problems with is this one:
(
SynthDef(\playBuf, {|buf = 0, num = 32|
var maxNum = 32;
var start = 0;
var sig = {|i|
PlayBuf.ar(
numChannels: 2,
bufnum: buf,
rate: BufRateScale.ir(buf) * { Rand(-32.0, 0.0) }.midiratio,
trigger: 1,
startPos: 0) * (i < num)} ! maxNum;
Line.kr(0, 1, BufDur.ir(buf) * 8, doneAction: 2);
sig = Splay.ar(sig);
Out.ar(0, sig);
}).add;
)
and the error message is this:
ERROR: Primitive '_NetAddr_SendMsg' failed.
caught exception 'send_to: Message too long [system:40 at /Users/runner/work/supercollider/supercollider/external_libraries/boost/boost/asio/detail/reactive_socket_service.hpp:261:33 in function 'send_to']' in primitive in method NetAddr:sendMsg
RECEIVER:
Instance of NetAddr { (0x7f9c3014a448, gc=D0, fmt=00, flg=00, set=02)
instance variables [4]
addr : Integer 2130706433
port : Integer 57110
hostname : "127.0.0.1"
socket : nil
}
PATH: /Users/philippneumann/Documents/Kompositionen/SommerAmU/SommerAmU.scd
CALL STACK:
MethodError:reportError
arg this = <instance of PrimitiveFailedError>
Nil:handleError
arg this = nil
arg error = <instance of PrimitiveFailedError>
Thread:handleError
arg this = <instance of Thread>
arg error = <instance of PrimitiveFailedError>
Object:throw
arg this = <instance of PrimitiveFailedError>
Object:primitiveFailed
arg this = <instance of NetAddr>
Server:sendMsg
arg this = <instance of Server>
arg msg = [*3]
SynthDef:doSend
arg this = <instance of SynthDef>
arg server = <instance of Server>
arg completionMsg = nil
var bytes = <instance of Int8Array>
var path = nil
var resp = nil
var syncID = nil
< FunctionDef in Method Set:do >
arg item = <instance of Server>
ArrayedCollection:do
arg this = [*4]
arg function = <instance of Function>
var i = 3
Set:do
arg this = <instance of Set>
arg function = <instance of Function>
var i = 0
SynthDef:add
arg this = <instance of SynthDef>
arg libname = nil
arg completionMsg = nil
arg keepDef = true
var servers = <instance of Set>
var desc = <instance of SynthDesc>
Interpreter:interpretPrintCmdLine
arg this = <instance of Interpreter>
var res = nil
var func = <instance of Function>
var code = "(
SynthDef(\playBuf, {|buf =..."
var doc = nil
var ideClass = <instance of Meta_ScIDE>
Process:interpretPrintCmdLine
arg this = <instance of Main>
^^ The preceding error dump is for ERROR: Primitive '_NetAddr_SendMsg' failed.
caught exception 'send_to: Message too long [system:40 at /Users/runner/work/supercollider/supercollider/external_libraries/boost/boost/asio/detail/reactive_socket_service.hpp:261:33 in function 'send_to']' in primitive in method NetAddr:sendMsg
RECEIVER: a NetAddr(127.0.0.1, 57110)