OSC - Open Sound Control protocol integration for CryEngine
This plugin relies on oscpkt a very lightweight OSC implementation.
Open Sound Control (OSC) is a content format for messaging among computers, sound synthesizers, and other multimedia devices that are optimized for modern networking technology. Bringing the benefits of modern networking technology to the world of electronic musical instruments, OSC's advantages include interoperability, accuracy, flexibility, and enhanced organization and documentation.
- Touch-OSC for iOS/Android (connect CryEngine with your phone)
- OSC-Datamonitor monitors the OSC datastream (find out the data types and message names)
- OSCeleton for OpenNI or for KinectSDK for Kinect skeleton data
- Duration is a timeline for creative coding. Create live performances, interactive installations, and music visualizations by synchronously composing servos, lighting, and projection.
- many more...
Use the installer or extract the files to your Cryengine SDK Folder so that the Code and BinXX/Plugins directory match up.
The plugin manager will automatically load up the plugin when the game/editor is restarted or if you directly load it.
Please note there can be only one connection node for each IP and port. Use the VariousStuff ValueChannel to reuse connections in different flowgraphs.
OSC_Plugin:ConnectionConnection data source or destination- In
InitConnects or starts listening (will fireInitAlloutput) - In
CloseDisconnect or close (resetsInitAlloutput) - In
sHosthost/ip to bind/connect - In
nPortport to listen/connect - In
nTypeServer (Receive) or Client (Send) - Out
InitAllconnect allReceive:MessageorSend:Packetthat should use this connection
- In
-
OSC_Plugin:Receive:MessageRegisters a message that can be received- In
InitRegisters the message with the connectedConnection - In
sMessageMessagetext/identifier/path - Out
InitNextconnect the firstReceive:Value:*of this message (the order is important)
- In
-
OSC_Plugin:Receive:Value:Float32Registers a message parameter that will be read- In
InitRegisters the value with the connectedReceive:Messageor viaReceive:Value:* - Out
InitNextconnect the nextReceive:Value:*of this message (the order is important) - Out
Valueoutputs the value if received
- In
-
OSC_Plugin:Receive:Value:AnyUse this to skip over parameters with unsupported or unkown type- In
InitRegisters the value with the connectedReceive:Messageor viaReceive:Value:* - Out
InitNextconnect the nextReceive:Value:*of this message (the order is important) - no Value
- In
-
OSC_Plugin:Receive:Value:Int32same as Float32 -
OSC_Plugin:Receive:Value:Int64same as Float32 -
OSC_Plugin:Receive:Value:Double64same as Float32 -
OSC_Plugin:Receive:Value:Stringsame as Float32 -
OSC_Plugin:Receive:Value:Boolsame as Float32
-
OSC_Plugin:Send:PacketRegister a packet that can be sent (define at least one Bundle if you have more then one message)- In
Initregisters the packet in the connectedConnection - In
Sendtriggers a manual send on this packets content - In
bAutoSendActivate automatic sending on value change inside this packet - Out
InitNextconnect the firstSend:BundleorSend:Messagethat is inside this packet
- In
-
OSC_Plugin:Send:BundleStartStart a Bundle inside a packet (Bundles can be nested)- In
InitStart a new Bundle inside the packet/bundle - Out
InitNextconnect the nextSend:Value:*,Send:MessageorSend:Bundle*of this packet (the order is important)
- In
-
OSC_Plugin:Send:BundleEndEnd the Bundle- In
InitEnd the current Bundle inside the packet/bundle - Out
InitNextconnect the nextSend:Value:*,Send:MessageorSend:Bundle*of this packet (the order is important)
- In
-
OSC_Plugin:Send:MessageRegister a message in a packet- In
Initregisters the message in the connectedSend:Packet,Send:Bundleor viaSend:Value:* - In
sMessageMessagetext/identifier/path - Out
InitNextconnect the firstSend:Valueof this message
- In
-
OSC_Plugin:Send:Value:Float32Registers a message parameter that will be sent- In
Initreceive the value fromSend:Message - In
Valueif triggered with a new value it will send the packet if auto send is active, if not then it will save the value and it will get sent whenSend:Packet->Sendis triggered. - Out
InitNextconnect the nextSend:Value:*,Send:MessageorSend:Bundle*of this packet (the order is important)
- In
-
OSC_Plugin:Send:Value:Int32same as Float32 -
OSC_Plugin:Send:Value:Int64same as Float32 -
OSC_Plugin:Send:Value:Double64same as Float32 -
OSC_Plugin:Send:Value:Stringsame as Float32 -
OSC_Plugin:Send:Value:Boolsame as Float32