diff --git a/GazeWebSocketServer.sln b/GazeWebSocketServer.sln
index 29f8d33..b754b70 100644
--- a/GazeWebSocketServer.sln
+++ b/GazeWebSocketServer.sln
@@ -13,8 +13,8 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {F8F11E64-7946-4054-8C27-F0FCAF967F1A}.Debug|Any CPU.ActiveCfg = Release|Any CPU
- {F8F11E64-7946-4054-8C27-F0FCAF967F1A}.Debug|Any CPU.Build.0 = Release|Any CPU
+ {F8F11E64-7946-4054-8C27-F0FCAF967F1A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {F8F11E64-7946-4054-8C27-F0FCAF967F1A}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F8F11E64-7946-4054-8C27-F0FCAF967F1A}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F8F11E64-7946-4054-8C27-F0FCAF967F1A}.Release|Any CPU.Build.0 = Release|Any CPU
{64D52257-ECA7-4F4D-A901-B14D544A1D0A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
diff --git a/GazeWebSocketServer/GazeWebSocketServer.csproj b/GazeWebSocketServer/GazeWebSocketServer.csproj
index ae28b1f..a283c99 100644
--- a/GazeWebSocketServer/GazeWebSocketServer.csproj
+++ b/GazeWebSocketServer/GazeWebSocketServer.csproj
@@ -50,6 +50,16 @@
4
false
+
+ true
+ bin\Tracker\
+ DEBUG;TRACE
+ full
+ x64
+ prompt
+ MinimumRecommendedRules.ruleset
+ true
+
diff --git a/TrackerBridge/FakeTracker.cs b/TrackerBridge/FakeTracker.cs
index 344b94e..6a0ba06 100644
--- a/TrackerBridge/FakeTracker.cs
+++ b/TrackerBridge/FakeTracker.cs
@@ -8,22 +8,18 @@ namespace TrackerBridge
{
public class FakeTracker : IBridgeTracker
{
- private event GazeDataHandler gazeDataAvailable;
+
public event GazeDataHandler GazeDataAvailable {
add {
- gazeDataAvailable += value;
- GazeDataProcessor.AddClient(value);
+ GazeDataProcessor.GazeDataProcessed += value;
}
remove {
- gazeDataAvailable -= value;
- GazeDataProcessor.RemoveClient(value);
+ GazeDataProcessor.GazeDataProcessed -= value;
}
}
public event EventHandler TrackingFrequencyChanged;
private Single trackerFrequency;
-
- public GazeDataHandler GazeDataAvailableMembers => gazeDataAvailable;
public String SerialNumber => throw new NotImplementedException();
public GazeDataProcessor GazeDataProcessor { get; }
diff --git a/TrackerBridge/GazeDataProcessor.cs b/TrackerBridge/GazeDataProcessor.cs
index 04d811d..943fb62 100644
--- a/TrackerBridge/GazeDataProcessor.cs
+++ b/TrackerBridge/GazeDataProcessor.cs
@@ -11,6 +11,15 @@ namespace TrackerBridge
{
public class GazeDataProcessor
{
+ public event GazeDataHandler GazeDataProcessed {
+ add {
+ gazeFilters[gazeFilters.Length - 1].OutputAvailable += value;
+ }
+ remove {
+ gazeFilters[gazeFilters.Length - 1].OutputAvailable -= value;
+ }
+ }
+
private readonly IGazeFilter[] gazeFilters;
private readonly Single screenHeight;
private readonly Single screenWidth;
@@ -33,28 +42,12 @@ namespace TrackerBridge
gazeFilters[0] = new GazeDecimator(60); //TODO: Refactor frequency passthrough
//Chain filters
- for(Int32 index= 0; index < gazeFilters.Length; index++)
+ for(Int32 index= 0; index < gazeFilters.Length-1; index++)
{
- if(index == gazeFilters.Length - 1)
- {
- gazeFilters[index].OutputAvailable += tracker.GazeDataAvailableMembers;
- }
- else
- {
- gazeFilters[index].OutputAvailable += gazeFilters[index + 1].Input;
- }
+ gazeFilters[index].OutputAvailable += gazeFilters[index + 1].Input;
}
}
- public void AddClient(GazeDataHandler gazeDataHandler)
- {
- gazeFilters[gazeFilters.Length - 1].OutputAvailable += gazeDataHandler;
- }
- public void RemoveClient(GazeDataHandler gazeDataHandler)
- {
- gazeFilters[gazeFilters.Length - 1].OutputAvailable -= gazeDataHandler;
- }
-
public void Initialize()
{
foreach (IGazeFilter filter in gazeFilters)
diff --git a/TrackerBridge/IBridgeTracker.cs b/TrackerBridge/IBridgeTracker.cs
index a2c2f14..328fe8e 100644
--- a/TrackerBridge/IBridgeTracker.cs
+++ b/TrackerBridge/IBridgeTracker.cs
@@ -13,8 +13,6 @@ namespace TrackerBridge
{
event GazeDataHandler GazeDataAvailable;
event EventHandler TrackingFrequencyChanged;
-
- GazeDataHandler GazeDataAvailableMembers { get; }
GazeDataProcessor GazeDataProcessor { get;}
String SerialNumber { get; }
diff --git a/TrackerBridge/TobiiEyeTracker.cs b/TrackerBridge/TobiiEyeTracker.cs
index 69d99d2..db6d4a2 100644
--- a/TrackerBridge/TobiiEyeTracker.cs
+++ b/TrackerBridge/TobiiEyeTracker.cs
@@ -9,20 +9,14 @@ namespace TrackerBridge
{
public class TobiiEyeTracker : IBridgeTracker
{
- //public delegate void ConnectionEventHandler(TobiiEyeTracker sender);
- //public delegate void GazeDataHandler(TobiiEyeTracker sender, GazeData data);
-
public event ConnectionEventHandler ConnectionEvent;
public event ConnectionEventHandler ConnectionTimeout;
- private event GazeDataHandler gazeDataAvailable;
public event GazeDataHandler GazeDataAvailable {
add {
- gazeDataAvailable += value;
- GazeDataProcessor.AddClient(value);
+ GazeDataProcessor.GazeDataProcessed += value;
}
remove {
- gazeDataAvailable -= value;
- GazeDataProcessor.RemoveClient(value);
+ GazeDataProcessor.GazeDataProcessed -= value;
}
}
public event EventHandler TrackingFrequencyChanged;
@@ -33,8 +27,6 @@ namespace TrackerBridge
public Boolean IsConnected { get; private set; } = false;
public String SerialNumber { get; private set; } = null;
- public GazeDataHandler GazeDataAvailableMembers => gazeDataAvailable;
-
public TobiiEyeTracker()
{
GazeDataProcessor = new GazeDataProcessor(this);