Source

gosc /

Filename Size Date modified Message
10 B
1.0 KB
1.5 KB
10.0 KB
3.5 KB
4.5 KB
2.4 KB
2.0 KB
1.7 KB

gosc

Pure Go http://golang.org support for OSC http://opensoundcontrol.org

Docs are available at http://godoc.org/bitbucket.org/liamstask/gosc

Build Status

Install

go get bitbucket.org/liamstask/gosc

Client Example

import (
    "bitbucket.org/liamstask/gosc"
    "net"
)

m := &osc.Message{Address: "/my/message"}
m.Args = append(m.Args, int32(12345))
m.Args = append(m.Args, "important")

// error checking omitted for brevity...
addr, _ := net.ResolveUDPAddr("udp", "127.0.0.1:12000")
conn, _ := net.DialUDP("udp", nil, addr)

numbytes, err := m.WriteTo(conn)
if err != nil {
    // handle error
}

Server Example

import (
    "bitbucket.org/liamstask/gosc"
    "fmt"
)

osc.HandleFunc("/msg/address", func(msg *osc.Message) {
    fmt.Printf("Receieved message: " + msg.Address + "[")

    for _, arg := range msg.Args {
        switch v := arg.(type) {
        default:
            fmt.Printf("unknown argument type")
        case float32, float64:
            fmt.Printf("%f\n", v)
        }
    }

    fmt.Printf("]\n")
})

err := osc.ListenAndServeUDP(":8000", nil)

if err != nil {
    // handle error.
}

See the tests for more detailed usage.

Contributors

Thank you!

  • Kelly Dunn (kellydunn)
  • Clinton Freeman (clinton_freeman)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.