view resources/osc/node_modules/osc-min/examples/osc-float-to-int.coffee @ 452:7b63e3295343 prerelease

update_board : no-frills option, no-documentation option
author Giulio Moro <giuliomoro@yahoo.it>
date Sun, 19 Jun 2016 21:27:37 +0100
parents fb9c28a4676b
children
line wrap: on
line source
# This listens for osc messages and rebroadcasts them
# with all the floats converted to ints.

osc = require 'osc-min'
udp = require "dgram"

if process.argv[2]?
    inport = parseInt process.argv[2]
else
    inport = 41234

if process.argv[3]?
    outport = parseInt process.argv[3]
else
    outport = 41235

float_to_int = (message) ->
    for arg in message.args
        if arg.type is "float"
            arg.type = "integer"
    message

sock = udp.createSocket "udp4", (msg, rinfo) ->
    try
        edited = osc.applyMessageTransform msg, (message) -> float_to_int message
        sock.send(
            edited,
            0,
            edited.length,
            outport,
            "localhost"
        )
    catch error
        console.log "error redirecting: " + error
sock.bind inport

console.log "OSC redirecter running at http://localhost:" + inport
console.log "translating messages to http://localhost:" + outport