a2r-osc
Version:
An OSC implementation for node.js and the browser
49 lines (42 loc) • 1.1 kB
text/coffeescript
stream = require "stream"
osc = require "./osc"
class UnpackStream extends stream.Stream
constructor: (dict)->
super()
= dict
= true
# Parse buffer with OSC data and emit "message"
# with parsed OSC message/bundle object.
#
# emits "error" with error object on parsing errors
write: (buffer, encoding)->
# start parsing if buffer is a Buffer
if Buffer.isBuffer(buffer)
try
msg = osc.fromBuffer(buffer, )
"message", msg
catch e
"error", e
# otherwise convert to a buffer
else
true
end: (buffer, encoding)->
if buffer
class PackStream extends stream.Stream
constructor: (dict)->
super()
= dict
= false
= true
send: (message)->
try
buffer = message.toBuffer()
catch e
return false
true
module.exports.UnpackStream = UnpackStream
module.exports.PackStream = PackStream