Well, let's once again try to explain my problem.
My problem is not with the routing of OSC messages, that is all clear.
But at the end of the message chain of my patch I have a [sendOSC] that transmits OSC messages to other computers.
Therefore this sendOSC has to be able to transmit any OSC message that might be produced by my patch.
To send a message, the [sendOSC] expects a message to its inlet that has the form 'send OSCmessage', for example:
[send /synth/voices/*/stop( or [send /synth/preset 11( or [send /synth/VCF/689 1.5(
So the message that is sent to [sendOSC] consists of three parts:
What the patch (i.e. the OSCroute modules) produces are the latter two parts or basically a list with the OSC namespace as its first member and the arguments as the remaining members.
So in the end it all comes to this question:
??????????????????????? How can I produce a [message( from a list of arbitrary length and mixed member types? ???????????????????????
Or could anybody post a working patch with a [sendOSC] that is not so simple as the help patches?
Many thanks Urs
Martin Peach schrieb:
Urs Liska wrote:
Hi all again.
Unfortunately I just noticed that I am still not where I want to be :-( Martin's solution works only for OSC messages with *1* argument: [/OSC/namespace/etc 12.5( but not for messages with arbitrary number of arguments like [/OSC/connect 192.168.0.1 9999(
I guess you could just put a tree of [OSCroute]s under the first [OSCroute], one for each situation: [OSCroute /case1 /case2 /case3] | | | | [OSCroute /type1 /type2] | | | ...etc
Does anybody have an idea how to process the output of an [OSCroute] so that I can get a send message to [sendOSC]?
I can't be the only one who doesn't know in advance what messages to send...
Do you mean that you want a generic router that can handle every possible OSC message?
Martin
Thanks Urs
Urs Liska schrieb:
Hi Martin,
thanks, this did the trick!
Martin Peach schrieb:
Urs Liska wrote:
Hi,
I am trying to get an OSC connection working but have problems with the input [sendOSC] is expecting. OSC is running, I have connected [sendOSC] and [dumpOSC] in two patches successfully and also have sent messages that I write into message boxes.
But in the actual patch I cant use message boxes like [send /OSC/namespace/etc $1( or similar but get messages from [OSCroute] modules or Frank Barknecht's [OSCprepend] abstraction that look like [/OSC/namespace/etc 12.5(
If I put a [send $1( before the [sendOSC], only the 12.5 is sent.
If I connect it directly I get the error "no method for '/OSC...'".
So how can I process the output of a [OSCroute] to be sent by [sendOSC]?
Try: [OSCRoute ...] | [unpack s 0] | | [pack s 0] | [send $1 $2( | [sendOSC]
Martin