浏览代码

-added videoCOntrols to logger
-fixed bug (gameWindow exit -> inputprovider.stop())
-added width+height for console to fit timer output

Alexander Hendrich 10 年之前
父节点
当前提交
7c17ec6f81

+ 4 - 3
bbiwarg/Constants.cs

@@ -12,8 +12,9 @@ namespace bbiwarg
     class Constants
     {
         // Logger
-        public static readonly LogSubject LogLevel = LogSubject.Timer;
-            //LogSubject.Timer;
+        public static readonly LogSubject LogLevel = LogSubject.TouchEvents;
+        public static readonly int ConsoleWidth = 90;
+        public static readonly int ConsoleHeight = 30;
         
         // Output
         public static readonly bool OutputEnabled = true;
@@ -96,7 +97,7 @@ namespace bbiwarg
         public static readonly int TouchEventAreaSize = 30;
         public static readonly int TouchEventFloodfillLowDiff = 1;
         public static readonly int TouchEventFloodfillHighDiff = 3;
-        public static readonly int TouchEventTipInsideFactor = 1;
+        public static readonly int TouchEventTipInsideFactor = 2;
         public static readonly int TouchEventTipOutsideFactor = 7;
         public static readonly float TouchmXX = 0.0008f;
         public static readonly float TouchmXY = 0.0f;

+ 1 - 1
bbiwarg/Graphics/OutputWindow.cs

@@ -51,7 +51,7 @@ namespace bbiwarg.Graphics
             if (inputProvider is VideoInputProvider)
             {
                 Keyboard.KeyDown += HandleKeyDown;
-                Console.WriteLine("video controls enabled (space=pause, right=nextFrame, left=previousFrame)");
+                Logger.log("video controls enabled (space=pause, right=nextFrame, left=previousFrame)", LogSubject.VideoControls);
             }
         }
 

+ 13 - 14
bbiwarg/InputProviders/InputProvider.cs

@@ -21,23 +21,10 @@ namespace bbiwarg.InputProviders
         protected IDataHandle<Iisu.Data.IImageData> depthImage;
         protected IDataHandle<Iisu.Data.IImageData> confidenceImage;
 
-
-        ~InputProvider()
-        {
-            device.Stop(true);
-        }
-
         public void initialize()
         {
             createDevice();
-
-            registerHandles();
-
-            device.Start();
-            device.UpdateFrame(true);
-            ImageWidth = (int)depthImage.Value.ImageInfos.Width;
-            ImageHeight = (int)depthImage.Value.ImageInfos.Height;
-            device.ReleaseFrame();
+            registerHandles(); 
         }
 
         protected void createDevice()
@@ -58,6 +45,18 @@ namespace bbiwarg.InputProviders
             confidenceImage = device.RegisterDataHandle<Iisu.Data.IImageData>("SOURCE.CAMERA.CONFIDENCE.Image");
         }
 
+        public void start() {
+            device.Start();
+            device.UpdateFrame(true);
+            ImageWidth = (int)depthImage.Value.ImageInfos.Width;
+            ImageHeight = (int)depthImage.Value.ImageInfos.Height;
+            device.ReleaseFrame();
+        }
+
+        public void stop() {
+            device.Stop(true);
+        }
+
         public InputFrame getInputFrame()
         {
             device.UpdateFrame(true);

+ 5 - 4
bbiwarg/InputProviders/VideoInputProvider.cs

@@ -4,6 +4,7 @@ using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
 using Iisu;
+using bbiwarg.Utility;
 
 namespace bbiwarg.InputProviders
 {
@@ -40,13 +41,13 @@ namespace bbiwarg.InputProviders
         public void pause()
         {
             playStep.Value = 0;
-            Console.WriteLine("pause");
+            Logger.log("Video pause", LogSubject.VideoControls);
         }
 
         public void play()
         {
             playStep.Value = 1;
-            Console.WriteLine("play");
+            Logger.log("Video play", LogSubject.VideoControls);
         }
 
         public void nextFrame()
@@ -59,7 +60,7 @@ namespace bbiwarg.InputProviders
                 device.ReleaseFrame();
             }
             playStep.Value = 0;
-            Console.WriteLine("nextFrame");
+            Logger.log("Video nextFrame", LogSubject.VideoControls);
         }
 
         public void previousFrame()
@@ -72,7 +73,7 @@ namespace bbiwarg.InputProviders
                 device.ReleaseFrame();
             }
             playStep.Value = 0;
-            Console.WriteLine("previousFrame");
+            Logger.log("Video previousFrame", LogSubject.VideoControls);
         }
     }
 }

+ 7 - 2
bbiwarg/MainBBWIWARG.cs

@@ -12,9 +12,13 @@ namespace bbiwarg
     {
         static void Main(string[] args)
         {
-            //InputProvider inputProvider = new InputProvider();
-            InputProvider inputProvider = new VideoInputProvider("..\\..\\videos\\touch\\4.skv");
+            Console.SetWindowSize(Constants.ConsoleWidth, Constants.ConsoleHeight);
+
+            InputProvider inputProvider;
+            //inputProvider = new InputProvider(); // camera
+            inputProvider = new VideoInputProvider("..\\..\\videos\\touch\\4.skv"); // video
             inputProvider.initialize();
+            inputProvider.start();
 
 
             InputHandler inputHandler = new InputHandler(inputProvider);
@@ -27,6 +31,7 @@ namespace bbiwarg
             else
                 throw new NotImplementedException("non-video mode not supported yet");
 
+            inputProvider.stop();
         }
     }
 }

+ 2 - 1
bbiwarg/Utility/Logger.cs

@@ -17,7 +17,8 @@ namespace bbiwarg.Utility
         TouchTracker = 32,
         TUIOServer = 64,
         Timer = 128,
-        TouchEvents = 256
+        TouchEvents = 256,
+        VideoControls = 512
     }
     static class Logger
     {