osc

Description

OSC significa Open Sound Control, e é um protocolo amplamente usado para passar dados entre aplicações multimidia. Fluxus pode enviar e/ou receber mensagens.

Example

 Um exemplo de uso de osc para comunicar entre pd e fluxus.
 Um script fluxus para mover um cubo baseado em mensagens osc
 entrando.
 -- osc.scm

 (define value 0)

 (define (test)
     (push)
     (if (osc-msg "/zzz")
         (set! value (osc 0)))
     (translate (vector 1 0 value))
     (draw-cube)
     (pop))
 
 (osc-source "6543")
 (every-frame (test))
 
 --- EOF
 Um patch PD para enviar mensagens de controle ao fluxus:
 --- zzz.pd
 #N canvas 618 417 286 266 10;
 #X obj 58 161 sendOSC;
 #X msg 73 135 connect localhost 6543;
 #X msg 58 82 send /zzz \$1;
 #X floatatom 58 29 5 0 0 0 - - -;
 #X obj 58 54 / 100;
 #X obj 73 110 loadbang;
 #X connect 1 0 0 0;
 #X connect 2 0 0 0;
 #X connect 3 0 4 0;
 #X connect 4 0 2 0;
 #X connect 5 0 1 0;

(osc-source string-porta)

Returns void

Inicia o servidor osc, ou muda a porta. Bug conhecido: parece falhar se você usa de volta pra uma mesma porta já usada anteriormente.

Example

 (osc-source "4444")	 ; listen to port 4444 for osc messages

(osc-msg string-nome)

Returns void

Retorna verdadeiro se a mensagem foi recebida desde o último quadro, e ajusta ela como a mensagem atual para chamadas subsequente ao (osc) para ler argumentos.

Example

 (cond 
     ((osc-msg "/hello")              ; if a the /hello message is recieved
         (display (osc 1))(newline)))	; print out the first argument

(osc número-argumento)

Returns void

Retorna o argumento da mensagem osc atual.

Example

 (cond 
     ((osc-msg "/hello")              ; if a the /hello message is recieved
         (display (osc 1))(newline)))	; print out the first argument

(osc-destination string-porta)

Returns void

Específica o destino para mensagens osc que estejam saindo. O nome da porta precisa ser específicado com todo o url e deve ser algo do tipo "osc.udp://localhost:4444"

Example

 (osc-destination "osc.udp:localhost:4444")
 (osc-send "/hello" "s" (list "boo!"))  ; send a message to this destination

(osc-peek)

Returns msg-string

Esta útil função retorna o nome, formato da string e número/string dos argumentos da última mensagem enviada como uma string - para debugar sua rede osc.

Example

 (display (osc-peek))(newline) 

(osc-send string-nome string-formato lista-argumento)

Returns void

Envia uma mensagem osc com o argumento da lista como dado osc. Somente suporta floats, ints e strings como dados. O formato-string deve ser composto de "i", "f" e "s", e deve bater com os tipos dados na lista. Isto poderia ser removido provavelmente, usando os tipos diretamente, mas fazendo isto desta forma permite que você diga o tipo da mensagem osc explicitamente.

Example

 (osc-destination "osc.udp:localhost:4444")
 (osc-send "/hello" "sif" (list "boo!" 3 42.3))  ; send a message to this destination