OSC Protocol for SPIN Framework

The SPIN Framework is designed so multiple processes can share state over a network via OpenSoundControl (OSC) messages. Below is the complete list of accepted OSC messages for the following nodes:

State Types:


UserNode:
/SPIN/{sceneID}/{nodeID} setTarget <(const char *) id>
<no description available>

/SPIN/{sceneID}/{nodeID} setConstraintMode <'BASIC','DROP','COLLIDE','BOUNCE'>
<no description available>

/SPIN/{sceneID}/{nodeID} setCubeSize <(float) xScale> <(float) yScale> <(float) zScale>
<no description available>

/SPIN/{sceneID}/{nodeID} setCubeOffset <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} applyConstrainedTranslation
<no description available>

/SPIN/{sceneID}/{nodeID} setDescription <(const char *) s>
<no description available>

/SPIN/{sceneID}/{nodeID} ping
<no description available>


GroupNode:
/SPIN/{sceneID}/{nodeID} setParent <(const char *) newvalue>
<no description available>

/SPIN/{sceneID}/{nodeID} setParam <(const char *) paramName> <(const char *) paramValue>
<no description available>

/SPIN/{sceneID}/{nodeID} setParam <(const char *) paramName> <(float) paramValue>
<no description available>

/SPIN/{sceneID}/{nodeID} mouseEvent <(int) event> <(int) keyMask> <(int) buttonMask> <(float) x> <(float) y>
<no description available>

/SPIN/{sceneID}/{nodeID} event <(int) event> <(const char *) userString> <(float) eData1> <(float) eData2> <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} setReportMode <'NONE','GLOBAL_6DOF','GLOBAL_ALL'>
<no description available>

/SPIN/{sceneID}/{nodeID} setInteractionMode <'STATIC','SELECT','DRAG','THROW','DRAW'>
<no description available>

/SPIN/{sceneID}/{nodeID} setClipping <(float) x> <(float) y> <(float) z>
<no description available>


ShapeNode:
/SPIN/{sceneID}/{nodeID} mouseEvent <(int) event> <(int) keyMask> <(int) buttonMask> <(float) x> <(float) y>
<no description available>

/SPIN/{sceneID}/{nodeID} event <(int) event> <(const char *) userString> <(float) eData1> <(float) eData2> <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} setReportMode <'NONE','GLOBAL_6DOF','GLOBAL_ALL'>
<no description available>

/SPIN/{sceneID}/{nodeID} setInteractionMode <'STATIC','SELECT','DRAG','THROW','DRAW'>
<no description available>

/SPIN/{sceneID}/{nodeID} setClipping <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} setShape <'NONE','SPHERE','BOX','CYLINDER','CAPSULE','CONE','PLANE'>
<no description available>

/SPIN/{sceneID}/{nodeID} setBillboard <'RELATIVE','POINT_EYE','STAY_UP'>
<no description available>

/SPIN/{sceneID}/{nodeID} setColor <(float) red> <(float) green> <(float) blue> <(float) alpha>
<no description available>

/SPIN/{sceneID}/{nodeID} setTextureFromFile <(const char *) filename>
<no description available>

/SPIN/{sceneID}/{nodeID} setRenderBin <(int) i>
<no description available>

/SPIN/{sceneID}/{nodeID} setLighting <(int) i>
<no description available>

/SPIN/{sceneID}/{nodeID} setStateSetFromFile <(const char *) filename>
<no description available>

/SPIN/{sceneID}/{nodeID} setStateSet <(const char *) s>
<no description available>

/SPIN/{sceneID}/{nodeID} updateStateSet
<no description available>

/SPIN/{sceneID}/{nodeID} addImageTexture <(std::string) texturePath>
<no description available>


ModelNode:
/SPIN/{sceneID}/{nodeID} mouseEvent <(int) event> <(int) keyMask> <(int) buttonMask> <(float) x> <(float) y>
<no description available>

/SPIN/{sceneID}/{nodeID} event <(int) event> <(const char *) userString> <(float) eData1> <(float) eData2> <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} setReportMode <'NONE','GLOBAL_6DOF','GLOBAL_ALL'>
<no description available>

/SPIN/{sceneID}/{nodeID} setInteractionMode <'STATIC','SELECT','DRAG','THROW','DRAW'>
<no description available>

/SPIN/{sceneID}/{nodeID} setClipping <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} setModelFromFile <(const char *) filename>
<no description available>

/SPIN/{sceneID}/{nodeID} setStateRegistration <(int) i>
<no description available>

/SPIN/{sceneID}/{nodeID} setRenderBin <(int) i>
<no description available>

/SPIN/{sceneID}/{nodeID} setKeyframe <(int) index> <(float) keyframe>
<no description available>

/SPIN/{sceneID}/{nodeID} setStateSet <(int) index> <(const char *) replacement>
<no description available>


GridNode:
/SPIN/{sceneID}/{nodeID} setParent <(const char *) newvalue>
<no description available>

/SPIN/{sceneID}/{nodeID} setParam <(const char *) paramName> <(const char *) paramValue>
<no description available>

/SPIN/{sceneID}/{nodeID} setParam <(const char *) paramName> <(float) paramValue>
<no description available>

/SPIN/{sceneID}/{nodeID} setSize <(int) _size>
<no description available>

/SPIN/{sceneID}/{nodeID} setColor <(float) red> <(float) green> <(float) blue> <(float) alpha>
<no description available>


LightSource:
/SPIN/{sceneID}/{nodeID} mouseEvent <(int) event> <(int) keyMask> <(int) buttonMask> <(float) x> <(float) y>
<no description available>

/SPIN/{sceneID}/{nodeID} event <(int) event> <(const char *) userString> <(float) eData1> <(float) eData2> <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} setReportMode <'NONE','GLOBAL_6DOF','GLOBAL_ALL'>
<no description available>

/SPIN/{sceneID}/{nodeID} setInteractionMode <'STATIC','SELECT','DRAG','THROW','DRAW'>
<no description available>

/SPIN/{sceneID}/{nodeID} setClipping <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} setVisible <(int) visibilityFlag>
<no description available>

/SPIN/{sceneID}/{nodeID} setCutoff <(float) cutoff>
<no description available>

/SPIN/{sceneID}/{nodeID} setExponent <(float) exponent>
<no description available>

/SPIN/{sceneID}/{nodeID} setAttenuation <(float) attenuation>
<no description available>

/SPIN/{sceneID}/{nodeID} setAmbient <(float) red> <(float) green> <(float) blue> <(float) alpha>
<no description available>

/SPIN/{sceneID}/{nodeID} setDiffuse <(float) red> <(float) green> <(float) blue> <(float) alpha>
<no description available>

/SPIN/{sceneID}/{nodeID} setSpecular <(float) red> <(float) green> <(float) blue> <(float) alpha>
<no description available>


RayNode:
/SPIN/{sceneID}/{nodeID} setParent <(const char *) newvalue>
<no description available>

/SPIN/{sceneID}/{nodeID} setParam <(const char *) paramName> <(const char *) paramValue>
<no description available>

/SPIN/{sceneID}/{nodeID} setParam <(const char *) paramName> <(float) paramValue>
<no description available>

/SPIN/{sceneID}/{nodeID} setVisible <(int) visibilityFlag>
<no description available>

/SPIN/{sceneID}/{nodeID} setLength <(float) length>
<no description available>

/SPIN/{sceneID}/{nodeID} setThickness <(float) thickness>
<no description available>

/SPIN/{sceneID}/{nodeID} setColor <(float) red> <(float) green> <(float) blue> <(float) alpha>
<no description available>


Contour:
/SPIN/{sceneID}/{nodeID} setParent <(const char *) newvalue>
<no description available>

/SPIN/{sceneID}/{nodeID} setParam <(const char *) paramName> <(const char *) paramValue>
<no description available>

/SPIN/{sceneID}/{nodeID} setParam <(const char *) paramName> <(float) paramValue>
<no description available>

/SPIN/{sceneID}/{nodeID} updateTransforms
<no description available>

/SPIN/{sceneID}/{nodeID} setCurrentIndex <(float) newValue>
<no description available>

/SPIN/{sceneID}/{nodeID} prev
<no description available>

/SPIN/{sceneID}/{nodeID} next
<no description available>

/SPIN/{sceneID}/{nodeID} reset
<no description available>

/SPIN/{sceneID}/{nodeID} add <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} setMaxVertices <(int) newValue>
<no description available>

/SPIN/{sceneID}/{nodeID} setTrackingMode <(int) newValue>
<no description available>

/SPIN/{sceneID}/{nodeID} setVisible <(int) newValue>
<no description available>

/SPIN/{sceneID}/{nodeID} setThickness <(float) newValue>
<no description available>

/SPIN/{sceneID}/{nodeID} setLineType <(int) newValue>
<no description available>

/SPIN/{sceneID}/{nodeID} setColor <(float) newR> <(float) newG> <(float) newB> <(float) newA>
<no description available>

/SPIN/{sceneID}/{nodeID} draw
<no description available>


ConstraintsNode:
/SPIN/{sceneID}/{nodeID} mouseEvent <(int) event> <(int) keyMask> <(int) buttonMask> <(float) x> <(float) y>
<no description available>

/SPIN/{sceneID}/{nodeID} event <(int) event> <(const char *) userString> <(float) eData1> <(float) eData2> <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} setReportMode <'NONE','GLOBAL_6DOF','GLOBAL_ALL'>
<no description available>

/SPIN/{sceneID}/{nodeID} setInteractionMode <'STATIC','SELECT','DRAG','THROW','DRAW'>
<no description available>

/SPIN/{sceneID}/{nodeID} setClipping <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} setTarget <(const char *) id>
<no description available>

/SPIN/{sceneID}/{nodeID} setConstraintMode <'BASIC','DROP','COLLIDE','BOUNCE'>
<no description available>

/SPIN/{sceneID}/{nodeID} setCubeSize <(float) xScale> <(float) yScale> <(float) zScale>
<no description available>

/SPIN/{sceneID}/{nodeID} setCubeOffset <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} applyConstrainedTranslation
<no description available>


PointerNode:
/SPIN/{sceneID}/{nodeID} setParent <(const char *) newvalue>
<no description available>

/SPIN/{sceneID}/{nodeID} setParam <(const char *) paramName> <(const char *) paramValue>
<no description available>

/SPIN/{sceneID}/{nodeID} setParam <(const char *) paramName> <(float) paramValue>
<no description available>

/SPIN/{sceneID}/{nodeID} enableDragger
<no description available>

/SPIN/{sceneID}/{nodeID} disableDragger
<no description available>

/SPIN/{sceneID}/{nodeID} setType <(char *) s>
<no description available>

/SPIN/{sceneID}/{nodeID} highlight <(int) b>
<no description available>

/SPIN/{sceneID}/{nodeID} manipulate <(int) b>
<no description available>

/SPIN/{sceneID}/{nodeID} grab <(int) b>
<no description available>

/SPIN/{sceneID}/{nodeID} pull <(float) f>
<no description available>


MeasurementNode:
/SPIN/{sceneID}/{nodeID} setParent <(const char *) newvalue>
<no description available>

/SPIN/{sceneID}/{nodeID} setParam <(const char *) paramName> <(const char *) paramValue>
<no description available>

/SPIN/{sceneID}/{nodeID} setParam <(const char *) paramName> <(float) paramValue>
<no description available>

/SPIN/{sceneID}/{nodeID} sendMeasurements
<no description available>

/SPIN/{sceneID}/{nodeID} setTarget <(const char *) targetID>
<no description available>

/SPIN/{sceneID}/{nodeID} setReportingLevel <'REPORT_NONE','REPORT_BASIC','REPORT_ANGLES','REPORT_ALL_ANGLES'>
<no description available>


AnimationNode:
/SPIN/{sceneID}/{nodeID} mouseEvent <(int) event> <(int) keyMask> <(int) buttonMask> <(float) x> <(float) y>
<no description available>

/SPIN/{sceneID}/{nodeID} event <(int) event> <(const char *) userString> <(float) eData1> <(float) eData2> <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} setReportMode <'NONE','GLOBAL_6DOF','GLOBAL_ALL'>
<no description available>

/SPIN/{sceneID}/{nodeID} setInteractionMode <'STATIC','SELECT','DRAG','THROW','DRAW'>
<no description available>

/SPIN/{sceneID}/{nodeID} setClipping <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} setIndex <(float) index>
<no description available>

/SPIN/{sceneID}/{nodeID} setUpdateRate <(float) hz>
Set the update rate (in Hz).

/SPIN/{sceneID}/{nodeID} setPlay <(int) p>
<no description available>

/SPIN/{sceneID}/{nodeID} setRecord <(int) r>
<no description available>

/SPIN/{sceneID}/{nodeID} setLoopMode <'SWING','LOOP','NO_LOOPING'>
<no description available>

/SPIN/{sceneID}/{nodeID} storeCurrentPosition
<no description available>

/SPIN/{sceneID}/{nodeID} storeCurrentPosition <(double) timestamp>
<no description available>

/SPIN/{sceneID}/{nodeID} controlPoint <(double) timestamp> <(float) x> <(float) y> <(float) z> <(float) rotX> <(float) rotY> <(float) rotZ> <(float) rotW> <(float) scaleX> <(float) scaleY> <(float) scaleZ>
<no description available>

/SPIN/{sceneID}/{nodeID} clear
<no description available>


SwitchNode:
/SPIN/{sceneID}/{nodeID} setParent <(const char *) newvalue>
<no description available>

/SPIN/{sceneID}/{nodeID} setParam <(const char *) paramName> <(const char *) paramValue>
<no description available>

/SPIN/{sceneID}/{nodeID} setParam <(const char *) paramName> <(float) paramValue>
<no description available>

/SPIN/{sceneID}/{nodeID} setEnabled <(const char *) id> <(int) enabled>
<no description available>

/SPIN/{sceneID}/{nodeID} setAll <(int) enabled>
<no description available>


TextNode:
/SPIN/{sceneID}/{nodeID} mouseEvent <(int) event> <(int) keyMask> <(int) buttonMask> <(float) x> <(float) y>
<no description available>

/SPIN/{sceneID}/{nodeID} event <(int) event> <(const char *) userString> <(float) eData1> <(float) eData2> <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} setReportMode <'NONE','GLOBAL_6DOF','GLOBAL_ALL'>
<no description available>

/SPIN/{sceneID}/{nodeID} setInteractionMode <'STATIC','SELECT','DRAG','THROW','DRAW'>
<no description available>

/SPIN/{sceneID}/{nodeID} setClipping <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} setTextValue <(const char *) s>
<no description available>

/SPIN/{sceneID}/{nodeID} setFont <(const char *) s>
<no description available>

/SPIN/{sceneID}/{nodeID} setBillboard <'RELATIVE','POINT_EYE','STAY_UP'>
<no description available>

/SPIN/{sceneID}/{nodeID} setColor <(float) red> <(float) green> <(float) blue> <(float) alpha>
<no description available>


DSPNode:
/SPIN/{sceneID}/{nodeID} mouseEvent <(int) event> <(int) keyMask> <(int) buttonMask> <(float) x> <(float) y>
<no description available>

/SPIN/{sceneID}/{nodeID} event <(int) event> <(const char *) userString> <(float) eData1> <(float) eData2> <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} setReportMode <'NONE','GLOBAL_6DOF','GLOBAL_ALL'>
<no description available>

/SPIN/{sceneID}/{nodeID} setInteractionMode <'STATIC','SELECT','DRAG','THROW','DRAW'>
<no description available>

/SPIN/{sceneID}/{nodeID} setClipping <(float) x> <(float) y> <(float) z>
<no description available>

/SPIN/{sceneID}/{nodeID} connect <(DSPNode *) snk>
<no description available>

/SPIN/{sceneID}/{nodeID} connect <(const char *) snk>
<no description available>

/SPIN/{sceneID}/{nodeID} connectSource <(const char *) src>
<no description available>

/SPIN/{sceneID}/{nodeID} disconnect <(const char *) snk>
<no description available>

/SPIN/{sceneID}/{nodeID} setActive <(int) i>
<no description available>

/SPIN/{sceneID}/{nodeID} setPlugin <(const char *) filename>
<no description available>


SoundNode:
/SPIN/{sceneID}/{nodeID} connect <(DSPNode *) snk>
<no description available>

/SPIN/{sceneID}/{nodeID} connect <(const char *) snk>
<no description available>

/SPIN/{sceneID}/{nodeID} connectSource <(const char *) src>
<no description available>

/SPIN/{sceneID}/{nodeID} disconnect <(const char *) snk>
<no description available>

/SPIN/{sceneID}/{nodeID} setActive <(int) i>
<no description available>

/SPIN/{sceneID}/{nodeID} setPlugin <(const char *) filename>
<no description available>

/SPIN/{sceneID}/{nodeID} setRolloff <(const char *) newvalue>
<no description available>

/SPIN/{sceneID}/{nodeID} setSpread <(float) newvalue>
<no description available>

/SPIN/{sceneID}/{nodeID} setLength <(float) newvalue>
<no description available>

/SPIN/{sceneID}/{nodeID} setVUmeterFlag <(float) newFlag>
<no description available>

/SPIN/{sceneID}/{nodeID} setDirectivityFlag <(float) newFlag>
<no description available>

/SPIN/{sceneID}/{nodeID} setLaserFlag <(float) newFlag>
<no description available>

/SPIN/{sceneID}/{nodeID} setIntensity <(float) newvalue>
<no description available>

/SPIN/{sceneID}/{nodeID} updateVUmeter
<no description available>

/SPIN/{sceneID}/{nodeID} updateLaser
<no description available>

/SPIN/{sceneID}/{nodeID} drawVUmeter
<no description available>

/SPIN/{sceneID}/{nodeID} drawDirectivity
<no description available>

/SPIN/{sceneID}/{nodeID} drawLaser
<no description available>


SoundSpace:
/SPIN/{sceneID}/{nodeID} connect <(DSPNode *) snk>
<no description available>

/SPIN/{sceneID}/{nodeID} connect <(const char *) snk>
<no description available>

/SPIN/{sceneID}/{nodeID} connectSource <(const char *) src>
<no description available>

/SPIN/{sceneID}/{nodeID} disconnect <(const char *) snk>
<no description available>

/SPIN/{sceneID}/{nodeID} setActive <(int) i>
<no description available>

/SPIN/{sceneID}/{nodeID} setPlugin <(const char *) filename>
<no description available>

/SPIN/{sceneID}/{nodeID} setAbsorption <(float) newval>
<no description available>

/SPIN/{sceneID}/{nodeID} setFilterCoef <(float) newval>
<no description available>

/SPIN/{sceneID}/{nodeID} setTransition <(float) newval>
<no description available>


Listener:
/SPIN/{sceneID}/{nodeID} setRolloff <(const char *) newvalue>
<no description available>

/SPIN/{sceneID}/{nodeID} setSpread <(float) newvalue>
<no description available>

/SPIN/{sceneID}/{nodeID} setLength <(float) newvalue>
<no description available>

/SPIN/{sceneID}/{nodeID} setVUmeterFlag <(float) newFlag>
<no description available>

/SPIN/{sceneID}/{nodeID} setDirectivityFlag <(float) newFlag>
<no description available>

/SPIN/{sceneID}/{nodeID} setLaserFlag <(float) newFlag>
<no description available>

/SPIN/{sceneID}/{nodeID} setIntensity <(float) newvalue>
<no description available>

/SPIN/{sceneID}/{nodeID} updateVUmeter
<no description available>

/SPIN/{sceneID}/{nodeID} updateLaser
<no description available>

/SPIN/{sceneID}/{nodeID} drawVUmeter
<no description available>

/SPIN/{sceneID}/{nodeID} drawDirectivity
<no description available>

/SPIN/{sceneID}/{nodeID} drawLaser
<no description available>

/SPIN/{sceneID}/{nodeID} setType <(const char *) t>
<no description available>


ImageTexture:
/SPIN/{sceneID}/{nodeID} removeFromScene
<no description available>

/SPIN/{sceneID}/{nodeID} replace
<no description available>

/SPIN/{sceneID}/{nodeID} setPath <(const char *) newPath>
<no description available>

/SPIN/{sceneID}/{nodeID} setLighting <(int) i>
<no description available>

/SPIN/{sceneID}/{nodeID} setRenderBin <(int) i>
<no description available>


VideoTexture:
/SPIN/{sceneID}/{nodeID} removeFromScene
<no description available>

/SPIN/{sceneID}/{nodeID} replace
<no description available>

/SPIN/{sceneID}/{nodeID} setPath <(const char *) newPath>
<no description available>

/SPIN/{sceneID}/{nodeID} setLoop <(int) i>
<no description available>

/SPIN/{sceneID}/{nodeID} setIndex <(float) f>
<no description available>

/SPIN/{sceneID}/{nodeID} setFrameRate <(float) f>
<no description available>

/SPIN/{sceneID}/{nodeID} setPlay <(int) i>
<no description available>

/SPIN/{sceneID}/{nodeID} rewind
<no description available>

/SPIN/{sceneID}/{nodeID} flipHorizontal
<no description available>

/SPIN/{sceneID}/{nodeID} flipVertical
<no description available>


SharedVideoTexture:
/SPIN/{sceneID}/{nodeID} removeFromScene
<no description available>

/SPIN/{sceneID}/{nodeID} replace
<no description available>

/SPIN/{sceneID}/{nodeID} setTextureID <(const char *) id>
<no description available>