Description

A implemention of Open Sound Control in D programming language.

Package Information

Version1.0.0 (2016-Oct-07)
Repository https://github.com/tanitta/osc-d
LicenseMIT
CopyrightCopyright © 2016, tanitta
Authorstanitta
Registered bytanitta
Dependencies none

Installation

To use this package, put the following dependency into your project's dependencies section:

dub.json
dub.sdl

Readme

osc-d

Dub version MIT License Build Status

##Description

A implemention of Open Sound Control in D programming language.

##Examples

###Server

static import osc;

void main() {
    auto server = new osc.Server(8000);
    while(true){
        import std.stdio;
        "popMessage".writeln;
        while(server.hasMessage){
            auto m = server.popMessage;
            foreach (int i, ref t; m.typeTags) {
                import std.conv;
                switch (t) {
                    case osc.TypeTag.Int:
                        m.args[i].to!int.writeln;
                        break;
                    case osc.TypeTag.Float:
                        m.args[i].to!float.writeln;
                        break;
                    case osc.TypeTag.String:
                        m.args[i].to!string.writeln;
                        break;
                    case osc.TypeTag.Blob:
                        m.args[i].to!(ubyte[]).writeln;
                        break;
                    default:
                        assert(0);
                }
            }
        }
        import std.datetime;
        import core.thread;
        Thread.sleep(1.dur!"seconds");
    }
}

###Client

static import osc;

void main() {
    auto client = new osc.Client(8000);
    auto message = osc.Message();
    
    message.addressPattern = "/foo";
    message.addValue(1000);
    message.addValue(-1);
    message.addValue("hello");
    message.addValue(1.234f);
    message.addValue(5.678f);
    
    client.push(message);
}

Available versions

1.0.0 ~master