Mercurial > hg > screen-ui
diff src/melodyTriangle.cpp @ 8:3d9e0db254dc
Added OSC receive
author | Henrik Ekeus <hekeus@eecs.qmul.ac.uk> |
---|---|
date | Thu, 26 Jan 2012 23:42:13 +0000 |
parents | 38f63c4300d7 |
children | a8f71b5bdb0e |
line wrap: on
line diff
--- a/src/melodyTriangle.cpp Wed Jan 25 16:32:57 2012 +0000 +++ b/src/melodyTriangle.cpp Thu Jan 26 23:42:13 2012 +0000 @@ -11,13 +11,15 @@ */ -melodyTriangle::melodyTriangle(const char *host, int port, int numVoices, bool enableKeys,int voiceIdOffset){ - printf("in constructor: %s %i %i %i\n",host,port,numVoices,enableKeys); +melodyTriangle::melodyTriangle(const char *host, int port, int numVoices, bool enableKeys,int voiceIdOffset,int receivePort){ + printf("in constructor: %s %i %i %i %i %i\n",host,port,numVoices,enableKeys,voiceIdOffset,receivePort); this->numVoices=numVoices; this->enableKeys=enableKeys; this->voiceIdOffset=voiceIdOffset; //voices=*Voice[numVoices]; sender.setup( host,port ); + receiver.setup( receivePort ); + } //-------------------------------------------------------------- @@ -57,6 +59,32 @@ //-------------------------------------------------------------- void melodyTriangle::update(){ + while( receiver.hasWaitingMessages() ) + { + // get the next message + ofxOscMessage m; + receiver.getNextMessage( &m ); + string msg_string; + msg_string = m.getAddress(); + msg_string += ": "; + for ( int i=0; i<m.getNumArgs(); i++ ) + { + // get the argument type + msg_string += m.getArgTypeName( i ); + msg_string += ":"; + // display the argument - make sure we get the right type + if( m.getArgType( i ) == OFXOSC_TYPE_INT32 ) + msg_string += ofToString( m.getArgAsInt32( i ) ); + else if( m.getArgType( i ) == OFXOSC_TYPE_FLOAT ) + msg_string += ofToString( m.getArgAsFloat( i ) ); + else if( m.getArgType( i ) == OFXOSC_TYPE_STRING ) + msg_string += m.getArgAsString( i ); + else + msg_string += "unknown"; + } + cout<< msg_string << "\n"; + + } } bool melodyTriangle::isInTriangle(int x, int y){