void ofxOscSender::appendParameter( ofxOscMessage & msg, const ofAbstractParameter & parameter, string address){ msg.setAddress(address+parameter.getEscapedName()); if(parameter.type()==typeid(ofParameter<int>).name()){ msg.addIntArg(parameter.cast<int>()); }else if(parameter.type()==typeid(ofParameter<float>).name()){ msg.addFloatArg(parameter.cast<float>()); }else if(parameter.type()==typeid(ofParameter<bool>).name()){ msg.addIntArg(parameter.cast<bool>()); }else{ msg.addStringArg(parameter.toString()); } }
void FlyingObjectPhysics::generateArgs(ofxOscMessage& message) { // 種類 message.addIntArg(kind); // 位置 message.addFloatArg(shape->getPosition().x); message.addFloatArg(shape->getPosition().y); // 回転 message.addFloatArg(shape->getRotation()); // スケール message.addFloatArg(1); // アルファ message.addFloatArg(getAlpha()); }
template<> inline void OscManager::addOscArgs<int>(ofxOscMessage &msg, int val) { msg.addIntArg(val); }
//---------- template<> inline void OscManager::addOscArgs<bool>(ofxOscMessage &msg, bool val) { msg.addIntArg(val); }
void addOscMessageArg(ofxOscMessage& message, const int& value) { message.addIntArg(value); }