void NeuronPlugin::deactivate() { // unregister from userInputMapper if (_inputDevice->_deviceID != controller::Input::INVALID_DEVICE) { auto userInputMapper = DependencyManager::get<controller::UserInputMapper>(); userInputMapper->removeDevice(_inputDevice->_deviceID); } if (_socketRef) { BRUnregisterAutoSyncParmeter(_socketRef, Cmd_CombinationMode); BRCloseSocket(_socketRef); } InputPlugin::deactivate(); }
MStatus NeuronForMayaCmd::doIt( const MArgList& args ) { MStatus status; status = parseArgs( args ); if( status != MStatus::kSuccess) { MGlobal::displayError( "parameters are not correct." ); return status; } MSelectionList sl; sl.add( mDeviceName ); MObject deviceObj; status = sl.getDependNode(0, deviceObj ); if(status != MStatus::kSuccess ) { MGlobal::displayError("Please create your device first."); return status; } MFnDependencyNode fnDevice(deviceObj); MString ip = fnDevice.findPlug( "inputIp", &status ).asString(); int port = fnDevice.findPlug("inputPort", &status).asInt(); if( mStart ){ // to register the 3 callback to fetch data from Neuron BRRegisterFrameDataCallback(NULL, NeuronForMayaDevice::myFrameDataReceived ); //BRRegisterCommandDataCallback(NULL, NeuronForMayaDevice::myCommandDataReceived ); BRRegisterSocketStatusCallback (NULL, NeuronForMayaDevice::mySocketStatusChanged ); socketInfo = BRConnectTo(const_cast<char*> (ip.asChar()), port); if(socketInfo == NULL ) MGlobal::displayError("Failed to connect to device."); } else { // stop socket BRCloseSocket( socketInfo); } return MStatus::kSuccess; }
void ofxNeuron::disconnectSocket(SOCKET_REF sockRef){ if(sockRef!=NULL){ BRCloseSocket(sockRef); sockRef = NULL; } }