vivid-osc: Open Sound Control encode/decode
Small, simple, and well-tested implementation of the Open Sound Control message format.
Example usage:
>>>
:set -XOverloadedStrings
>>>
msg = OSC "/foo" [OSC_S "bar", OSC_I 9, OSC_F 0.1, OSC_B "this-is-binary"]
>>>
:t msg
> msg :: OSC>>>
:t encodeOSC msg
> encodeOSC msg :: ByteString>>>
decodeOSC (encodeOSC msg) == Right msg
> True
Sending it over UDP (e.g. to TidalCycles), using the network
package:
{-# LANGUAGE OverloadedStrings #-}
import Network.Socket import Network.Socket.ByteString as SB import Vivid.OSC main = do -- Boring Network.Socket setup: (a:_) <- getAddrInfo Nothing (Just "127.0.0.1") (Just "57120") s <- socket (addrFamily a) Datagram defaultProtocol connect s (addrAddress a) -- The interesting part: SB.send s $ encodeOSC $ OSC "/play2" [OSC_S "cps", OSC_F 1.2, OSC_S "s", OSC_S "bd"]
Downloads
- vivid-osc-0.5.0.0.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.3.0.0, 0.4.0.0, 0.5.0.0 |
---|---|
Dependencies | base (>3 && <5), bytestring, cereal, time (>=1.2) [details] |
License | LicenseRef-GPL |
Author | Tom Murphy |
Maintainer | Tom Murphy |
Category | Audio, Codec, Music, Sound |
Uploaded | by TomMurphy at 2018-11-10T20:41:10Z |
Distributions | LTSHaskell:0.5.0.0, NixOS:0.5.0.0, Stackage:0.5.0.0 |
Reverse Dependencies | 2 direct, 2 indirect [details] |
Downloads | 2763 total (26 in the last 30 days) |
Rating | 2.25 (votes: 2) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2018-11-10 [all 1 reports] |