[chronojump] Experimental Impress change slide using force sensor



commit cbe51a2da020bf82b6a6c3ba0c854a341ab22093
Author: Xavier de Blas <xaviblas gmail com>
Date:   Sat Apr 15 08:36:17 2017 +0200

    Experimental Impress change slide using force sensor

 src/gui/forceSensor.cs      |   45 +++++++++++++++++++++++++++++++++++++++++++
 testing-stuff/slideNext.sh  |    7 ++++++
 testing-stuff/slidePrior.sh |    7 ++++++
 3 files changed, 59 insertions(+), 0 deletions(-)
---
diff --git a/src/gui/forceSensor.cs b/src/gui/forceSensor.cs
index 1e7f71e..510896c 100644
--- a/src/gui/forceSensor.cs
+++ b/src/gui/forceSensor.cs
@@ -25,6 +25,7 @@ using System.Threading;
 using Gtk;
 using Glade;
 using System.Text; //StringBuilder
+//using System.Collections.Generic; //List<T>
 
 public partial class ChronoJumpWindow 
 {
@@ -118,6 +119,7 @@ public partial class ChronoJumpWindow
        //non GTK on this method
        private void forceSensorCaptureDo()
        {
+               //lastChangedTime = 0;
                SerialPort port = new SerialPort(forceSensorPortName, 115200);
                port.Open();
                Thread.Sleep(2500); //sleep to let arduino start reading
@@ -151,6 +153,8 @@ public partial class ChronoJumpWindow
 
                        writer.WriteLine(time.ToString() + ";" + force.ToString());
                        forceSensorLast = force;
+
+                       //changeSlideIfNeeded(time, force);
                }
                port.WriteLine("Stop");
                writer.Flush();
@@ -237,5 +241,46 @@ public partial class ChronoJumpWindow
                else
                        new DialogMessage(Constants.MessageTypes.WARNING, Constants.DirectoryCannotOpen);
        }
+
+
+       /*
+       double lastChangedTime; //changeSlideCode
+       private void changeSlideIfNeeded(double time, double force)
+       {
+               if(force > 100) {
+                       //changeSlide if one second or more elapsed since last change
+                       if(time - lastChangedTime >= 1)
+                       {
+                               changeSlide(true);
+                               lastChangedTime = time;
+                       }
+               }
+               if(force < -100) {
+                       //changeSlide if one second or more elapsed since last change
+                       if(time - lastChangedTime >= 1)
+                       {
+                               changeSlide(false);
+                               lastChangedTime = time;
+                       }
+               }
+       }
+       private bool changeSlide(bool next)
+       {
+               string executable = "";
+               if(next)
+                       executable = "pathTo/testing-stuff/" + "slideNext.sh";
+               else
+                       executable = "pathTo/testing-stuff/" + "slidePrior.sh";
+               List<string> parameters = new List<string>();
+
+               LogB.Information("\nCalling slide ----->");
+
+               ExecuteProcess.Result execute_result = ExecuteProcess.run (executable, parameters);
+
+               LogB.Information("\n<------ Done calling slide");
+               return execute_result.success;
+       }
+       */
+
 }
 
diff --git a/testing-stuff/slideNext.sh b/testing-stuff/slideNext.sh
new file mode 100755
index 0000000..b4fba47
--- /dev/null
+++ b/testing-stuff/slideNext.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+export DISPLAY=:0.0
+WINDOW=`xdotool search --name "Impress"`
+#WINDOW=52428837
+xdotool windowactivate $WINDOW
+xdotool windowfocus $WINDOW
+xdotool key Next
diff --git a/testing-stuff/slidePrior.sh b/testing-stuff/slidePrior.sh
new file mode 100755
index 0000000..e1d590e
--- /dev/null
+++ b/testing-stuff/slidePrior.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+export DISPLAY=:0.0
+WINDOW=`xdotool search --name "Impress"`
+#WINDOW=52428837
+xdotool windowactivate $WINDOW
+xdotool windowfocus $WINDOW
+xdotool key Prior


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]