private void expressiveStateCSVParser(string path) { if (path == null || path == "") { Console.WriteLine("no path is specified"); return; } try { var reader = new StreamReader(File.OpenRead(path)); int count = 0; // read two lines: one for the header one for the sep=";" line reader.ReadLine(); reader.ReadLine(); while (!reader.EndOfStream && !Console.KeyAvailable) { var line = reader.ReadLine(); string[] values = line.Split(';'); ExpressivOSC.ExpressivState stateToSend = new ExpressivOSC.ExpressivState(); //string header = "EmoState_Timestamp;" + //"LowerFaceAction;LowerFaceActionPower;UpperFaceAction;UpperFaceActionPower;" + //" ExpressivEyelidStateX;ExpressivEyelidStateY;ExpressivEyeLocationX;ExpressivEyeLocationY" + //"IsBlink;AreEyesOpen;IsLeftWink;IsRightWink;IsLookingLeft;IsLookingRight;IsLookingDown;IsLookingUp"; stateToSend.emotivTimeStamp = (float)Convert.ToDouble(values[0]); stateToSend.lowerFaceAction = values[1]; stateToSend.lowerFaceActionPower = (float)Convert.ToDouble(values[2]); stateToSend.upperFaceAction = values[3]; stateToSend.upperFaceActionPower = (float)Convert.ToDouble(values[4]); stateToSend.xEyelidState = (float)Convert.ToDouble(values[5]); stateToSend.yEyelidState = (float)Convert.ToDouble(values[6]); stateToSend.posXEyeLocation = (float)Convert.ToDouble(values[7]); stateToSend.posYEyeLocation = (float)Convert.ToDouble(values[8]); stateToSend.isBlink = Convert.ToBoolean(values[9]); stateToSend.areEyesOpen = Convert.ToBoolean(values[10]); stateToSend.isLeftWink = Convert.ToBoolean(values[11]); stateToSend.isRightWink = Convert.ToBoolean(values[12]); stateToSend.isLookingLeft = Convert.ToBoolean(values[13]); stateToSend.isLookingRight = Convert.ToBoolean(values[14]); stateToSend.isLookingDown = Convert.ToBoolean(values[15]); stateToSend.isLookingUp = Convert.ToBoolean(values[16]); Console.WriteLine("Sending Package from CSV ..." + count); Console.WriteLine(line); expressivOSC.sendExpressivOSC(stateToSend, true); count++; } } catch (FileNotFoundException e) { Console.WriteLine("Could not open file:" + e.FileName); } }
private void epressiveStateUdpate(object sender, EmoStateUpdatedEventArgs e) { if (e.userId == userID) { EmoState es = e.emoState; ExpressivOSC.ExpressivState exprState = new ExpressivOSC.ExpressivState(); exprState.emotivTimeStamp = es.GetTimeFromStart(); EdkDll.EE_ExpressivAlgo_t asd; int abc = (int)es.ExpressivGetLowerFaceAction(); string lower = "" + es.ExpressivGetLowerFaceAction(); exprState.lowerFaceAction = lower; exprState.lowerFaceActionPower = es.ExpressivGetLowerFaceActionPower(); string upper = "" + es.ExpressivGetUpperFaceAction(); exprState.upperFaceAction = upper; exprState.upperFaceActionPower = es.ExpressivGetUpperFaceActionPower(); // EYES float x, y; es.ExpressivGetEyelidState(out x, out y); exprState.xEyelidState = x; exprState.yEyelidState = y; float posX, posY; es.ExpressivGetEyeLocation(out posX, out posY); exprState.posXEyeLocation = posX; exprState.posYEyeLocation = posY; exprState.isBlink = es.ExpressivIsBlink(); exprState.areEyesOpen = es.ExpressivIsEyesOpen(); exprState.isLeftWink = es.ExpressivIsLeftWink(); exprState.isRightWink = es.ExpressivIsRightWink(); exprState.isLookingLeft = es.ExpressivIsLookingLeft(); exprState.isLookingRight = es.ExpressivIsLookingRight(); exprState.isLookingDown = es.ExpressivIsLookingDown(); exprState.isLookingUp = es.ExpressivIsLookingUp(); expressivOSC.sendExpressivOSC(exprState, false); Console.WriteLine("Received Expressive State Update"); } }