OSC significa Open Sound Control, e é um protocolo amplamente usado para passar dados entre aplicações multimidia. Fluxus pode enviar e/ou receber mensagens.
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;
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
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
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
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
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)
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