public override void Start()
{
loopSeq
.Loop
.WhenExecuted
.Execute(instance =>
{
// testDimmer.SetBrightness(Math.Abs(this.fingers[0].X));
int r = (int)Math.Truncate(255.0 * (2.0 + fingers[0].X) / 4.0).Limit(0, 255);
int g = (int)Math.Truncate(255.0 * (2.0 + fingers[0].Y) / 4.0).Limit(0, 255);
int b = (int)Math.Truncate(255.0 * (2.0 + fingers[0].Z) / 4.0).Limit(0, 255);
allPixels.Inject(Color.FromArgb(r, g, b), 1.0);
instance.WaitFor(S(0.05));
});
this.oscServer.RegisterAction<double>("/1/fader*", (msg, data) =>
{
int finger = int.Parse(msg.Address.Substring(8));
if (finger >= 1 && finger <= 10 && data.Any())
this.fingers[finger - 1].Y = data.First();
});
this.oscServer.RegisterAction<double>("/1/Xfader*", (msg, data) =>
{
int finger = int.Parse(msg.Address.Substring(9));
if (finger >= 1 && finger <= 10 && data.Any())
this.fingers[finger - 1].X = data.First();
});
this.oscServer.RegisterAction<double>("/1/Zfader*", (msg, data) =>
{
int finger = int.Parse(msg.Address.Substring(9));
if (finger >= 1 && finger <= 10 && data.Any())
this.fingers[finger - 1].Z = data.First();
});
}