SendReply: table of contents
Filter:
Classes | UGens > Triggers

SendReply : SendTrig : UGen : AbstractFunction : Object

Send an array of values from the server to all notified clients
Source: Trig.sc

Description

A message is sent to all notified clients. See Server.

Class Methods

SendReply.ar(trig: 0, cmdName: '/reply', values, replyID: -1)

SendReply.kr(trig: 0, cmdName: '/reply', values, replyID: -1)

Arguments:

trig

a non-positive to positive transition triggers a message.

cmdName

a string or symbol, as a message name.

values

array of ugens, or valid ugen inputs.

replyID

integer id (similar to SendTrig).

Inherited class methods

Instance Methods

Inherited instance methods

Examples

(
{
    SendReply.kr(Impulse.kr(3), '/the_answer', [40, 41, 42, 43] + MouseX.kr, 1905);
}.play(s);
)

o = OSCFunc({ |msg| msg.postln }, '/the_answer');


// multichannel expansion
(
{
    SendReply.kr(Impulse.kr(3),
        '/the_answer',
        values: [[40, 80], [41, 56], 42, [43, 100, 200]],
        replyID: [1905, 1906, 1907, 1908]
    );
}.play(s);
)

o.free;

// Sending audio parameters over a network via OSC
// Since SendReply can only respond to the host, this shows how
// to send data to a separate target through sclang.
(
SynthDef(\amplitudeAnalysis, {|in=0, rate=60| 
    var input = SoundIn.ar(in); 
    var amp = Amplitude.kr(input);
    var freq = Pitch.kr(input);
    var trig = Impulse.kr(rate); 
    SendReply.kr(trig, '/analysis', [amp, freq[0], freq[1]]); 
}).add;
)

// example target address - insert your target host & port here
~testNetAddr = NetAddr("127.0.0.1", 5000); 
~mySynth = Synth(\amplitudeAnalysis);

(
OSCdef(\listener, {|msg|
    var data = msg[3..];
    data.postln;
    ~testNetAddr.sendMsg("data", data);
}, '/analysis');
)

~mySynth.set(\rate, 10); // slow it down...