Supercollider / TCP

Supercollider – when receiving messages in TCP – asks for a trailing int containing the length of the message [1]. This has been implemented like this:

QByteArray out = oscMessage( path, data );
qint32 len=out.length();
out.push_front(QOscBase::fromInt32(len));
socket()->write(out);

Sending such a message to puredata, results in an error:

unpackOSC: DataAfterAlignedString: Incorrectly padded string
unpackOSC: Bad message name string: Dropping entire message.

[1] http://supercollider.svn.sourceforge.net/viewvc/supercollider/trunk/common/build/Help/ServerArchitecture/Server-Architecture.html
Binary Format of Messages / a Message consists of:
using TCP :

int – the length in bytes of the following message.
one Bundle or one Command.

Leave a comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.