コード例 #1
0
        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);
            }
        }
コード例 #2
0
        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");
            }
        }