Esempio n. 1
0
float Message::getArgAsFloat(int index, bool typeConvert) const{
	if (getArgType(index) != TYPE_FLOAT){
		if( typeConvert && (getArgType(index) == TYPE_INT32) )
			return (float)((ArgInt32*)args[index])->get();
		else
			throw OscExcInvalidArgumentType();
	}else
        return ((ArgFloat*)args[index])->get();
}
Esempio n. 2
0
void OscSender::appendMessage(OscMessage& message, ::osc::OutboundPacketStream& p){
	p << ::osc::BeginMessage(message.getAddress().c_str());
	for (int i = 0; i < message.getNumArgs(); ++i) {
		if (message.getArgType(i) == TYPE_INT32){
			p << message.getArgAsInt32(i);
		}else if (message.getArgType(i) == TYPE_FLOAT){
			p << message.getArgAsFloat(i);
		}else if (message.getArgType(i) == TYPE_STRING){
			p << message.getArgAsString(i).c_str();
		}else {
			throw OscExcInvalidArgumentType();
		}
	}
	p << ::osc::EndMessage;
}
Esempio n. 3
0
std::string Message::getArgAsString( int index, bool typeConvert ) const{
    if (getArgType(index) != TYPE_STRING ){
	    if (typeConvert && (getArgType(index) == TYPE_FLOAT) ){
            char buf[1024];
            sprintf(buf,"%f",((ArgFloat*)args[index])->get() );
            return std::string( buf );
        }
	    else if (typeConvert && (getArgType(index) == TYPE_INT32)){
            char buf[1024];
            sprintf(buf,"%i",((ArgInt32*)args[index])->get() );
            return std::string( buf );
        }
        else
            throw OscExcInvalidArgumentType();
	}
	else
        return ((ArgString*)args[index])->get();
}
Esempio n. 4
0
Message& Message::copy( const Message& other ){

	address = other.address;
	
	remote_host = other.remote_host;
	remote_port = other.remote_port;
	
	for ( int i=0; i<(int)other.args.size(); ++i ){
		ArgType argType = other.getArgType( i );
		if ( argType == TYPE_INT32 )
			args.push_back( new ArgInt32( other.getArgAsInt32( i ) ) );
		else if ( argType == TYPE_FLOAT )
			args.push_back( new ArgFloat( other.getArgAsFloat( i ) ) );
		else if ( argType == TYPE_STRING )
			args.push_back( new ArgString( other.getArgAsString( i ) ) );
		else
		{
			throw OscExcInvalidArgumentType();
		}
	}
	
	return *this;
}