598 | | |
---|
599 | | OSC::OscResponse |
---|
600 | | ConfigRom::processOscMessage(OSC::OscMessage *m) { |
---|
601 | | OSC::OscResponse r=OSC::OscResponse(OSC::OscResponse::eUnhandled); |
---|
602 | | |
---|
603 | | unsigned int nbArgs=m->nbArguments(); |
---|
604 | | if (nbArgs>=1) { |
---|
605 | | OSC::OscArgument arg0=m->getArgument(0); |
---|
606 | | if(arg0.isString()) { // commands |
---|
607 | | string cmd=arg0.getString(); |
---|
608 | | |
---|
609 | | debugOutput( DEBUG_LEVEL_VERBOSE, "(%p) CMD? %s\n", this, cmd.c_str()); |
---|
610 | | if(cmd == "params") { |
---|
611 | | debugOutput( DEBUG_LEVEL_VERBOSE, "Listing node params...\n"); |
---|
612 | | OSC::OscMessage& rm=r.getMessage(); |
---|
613 | | rm.addArgument("GUID"); |
---|
614 | | rm.addArgument("VendorName"); |
---|
615 | | rm.addArgument("ModelName"); |
---|
616 | | r.setType(OSC::OscResponse::eMessage); |
---|
617 | | } |
---|
618 | | if(cmd == "get") { |
---|
619 | | if(nbArgs != 2) { |
---|
620 | | debugError("Erronous get command received, wrong nb of arguments\n"); |
---|
621 | | m->print(); |
---|
622 | | } else { |
---|
623 | | OSC::OscArgument arg1=m->getArgument(1); |
---|
624 | | if(arg1.isString()) { // commands |
---|
625 | | string target=arg1.getString(); |
---|
626 | | OSC::OscMessage& rm=r.getMessage(); |
---|
627 | | if(target == "GUID") { |
---|
628 | | // FIXME: this will only return the lower 32 bits |
---|
629 | | rm.addArgument((int64_t)getGuid()); |
---|
630 | | } else if(target == "VendorName") { |
---|
631 | | rm.addArgument(getVendorName()); |
---|
632 | | } else if(target == "ModelName") { |
---|
633 | | rm.addArgument(getModelName()); |
---|
634 | | } else { |
---|
635 | | debugError("Erronous get command received, non-existant target\n"); |
---|
636 | | m->print(); |
---|
637 | | } |
---|
638 | | r.setType(OSC::OscResponse::eMessage); |
---|
639 | | } else { |
---|
640 | | debugError("Erronous get command received, wrong argument type\n"); |
---|
641 | | m->print(); |
---|
642 | | } |
---|
643 | | } |
---|
644 | | } |
---|
645 | | } |
---|
646 | | } |
---|
647 | | |
---|
648 | | return r; |
---|
649 | | |
---|
650 | | } |
---|