コード例 #1
0
 private OscTree.Route CreateNamedRoute(OscTree.Route source)
 {
     source.CurrentStep = 0;
     OscTree.Route route = new OscTree.Route(root.GetNameOfRoute(source), OscTree.Route.RouteType.NAME);
     route.Replacements = source.Replacements;
     return(route);
 }
コード例 #2
0
        private void OkClicked(object sender, RoutedEventArgs e)
        {
            if (overrideGroupID)
            {
                TreeGui.SelectedRoute.Replacements[1] = selectedGroupID;
            }
            CurrentRoute = TreeGui.SelectedRoute;
            if (storeValueOverride)
            {
                CurrentRoute.ValueOverrideMethodName = valueOverrideMethod;

                if (serverSide)
                {
                    Project.Project.Current.ServerEndpointWriter.Save();
                    Project.Project.Current.RecompileServerScripts();
                }
                else
                {
                    Project.Project.Current.ClientEndpointWriter.Save();
                    Project.Project.Current.RecompileClientScripts();
                }
            }
            DialogResult = true;
            Close();
        }
コード例 #3
0
        private void OverrideButton_Click(object sender, RoutedEventArgs e)
        {
            if (TreeGui.SelectedRoute.Replacements == null)
            {
                TreeGui.SelectedRoute.Replacements = new System.Collections.Generic.Dictionary <int, string>();
            }

            if (RBAll.IsChecked == true)
            {
                TreeGui.SelectedRoute.Replacements[1] = "AllClients";
                overrideGroupID = false;
            }
            else if (RBLocal.IsChecked == true)
            {
                TreeGui.SelectedRoute.Replacements[1] = "LocalClient";
                overrideGroupID = true;
            }
            else if (RBGroup.IsChecked == true)
            {
                overrideGroupID = true;
                var group = ComboBoxGroups.SelectedItem as Group;
                if (group != null)
                {
                    selectedGroupID = group.ID;
                }
            }

            OscTree.Route namedRoute = CreateNamedRoute(TreeGui.SelectedRoute);
            CurrentRouteName.Content         = namedRoute.GetActualRoute();
            TreeGui.SelectedRoute.ScreenName = CurrentRouteName.Content as string;
        }
コード例 #4
0
        private void EvaluateRoute()
        {
            OkButton.IsEnabled = (TreeGui.SelectedRoute != null);
            if (TreeGui.SelectedRoute != null)
            {
                if (TreeGui.SelectedRoute.Steps.Count > 1 && TreeGui.SelectedRoute.Steps[1].Equals("Client"))
                {
                    SidePanelVisible(true, true);

                    OscTree.Route namedRoute = CreateNamedRoute(TreeGui.SelectedRoute);
                    CurrentRouteName.Content         = namedRoute.GetActualRoute();
                    TreeGui.SelectedRoute.ScreenName = CurrentRouteName.Content as string;
                }
                else
                {
                    SidePanelVisible(false, true);
                    CurrentRouteName.Content         = root.GetNameOfRoute(TreeGui.SelectedRoute);
                    TreeGui.SelectedRoute.ScreenName = CurrentRouteName.Content as string;
                }
            }
            else
            {
                CurrentRouteName.Content = "";
                SidePanelVisible(false, false);
            }
        }
コード例 #5
0
 public void SetRoute(OscTree.Route route)
 {
     CurrentRoute = route;
     TreeGui.SetRoute(route);
     OscTree.Route namedRoute = CreateNamedRoute(TreeGui.SelectedRoute);
     CurrentRouteName.Content = namedRoute.GetActualRoute();
 }
コード例 #6
0
ファイル: MainWindow.xaml.cs プロジェクト: yvanvds/OSCGui
        private void ShowTreeButton_Click(object sender, RoutedEventArgs e)
        {
            var dialog = new Tree();

            dialog.SetRoute(lastRoute);
            dialog.ShowDialog();
            lastRoute = dialog.CurrentAddress;
        }
コード例 #7
0
        public void TestRouteJsonSave()
        {
            OscTree.Route route = new OscTree.Route("/root/test/one", OscTree.Route.RouteType.NAME);
            JObject       obj   = route.ToJSON();

            Assert.That(obj, Is.Not.Null);

            route.Replacements    = new System.Collections.Generic.Dictionary <int, string>();
            route.Replacements[1] = "client";
            obj = route.ToJSON();
            Assert.That(obj, Is.Not.Null);

            OscTree.Route check = new OscTree.Route(obj);
            Assert.That(check.OriginalName, Is.EqualTo("/root/test/one"));
            Assert.That(check.Replacements, Is.Not.Null);
            Assert.That(check.Replacements.ContainsKey(1), Is.True);
            Assert.That(check.Replacements[1], Is.EqualTo("client"));
        }
コード例 #8
0
        public static void Init()
        {
            Root.Add(Server);
            Root.Add(Client);

            LocalClient.IgnoreInGui = true;
            LocalClient.ReRoute    += ((OscTree.Route route, object[] arguments) =>
            {
                // if this route is used on the server, it is for testing. Just route to the normal client tree.
                var newRoute = new OscTree.Route(route.OriginalName, route.Type);
                newRoute.CurrentStep = route.CurrentStep;
                Client.Deliver(newRoute, arguments);
            });
            Root.Add(LocalClient);


            AllClients.IgnoreInGui = true;
            AllClients.ReRoute    += ((OscTree.Route route, object[] arguments) =>
            {
                string newRoute = route.OriginalName.Remove(0, 1);
                string[] parts = newRoute.Split('/');
                parts[1] = "LocalClient";
                newRoute = string.Empty;
                foreach (var part in parts)
                {
                    newRoute += "/" + part;
                }

                foreach (var client in ClientList.Handle.List.Values)
                {
                    client.Send.ToClient(newRoute, arguments);
                }
            });
            Root.Add(AllClients);


            Server.Add(ServerPatchers);
            Server.Add(ServerSounds);
            Server.Add(ServerScripts);
            Server.Add(ServerRouters);

            Client.Add(ClientScripts);
        }
コード例 #9
0
ファイル: ArduinoConfig.cs プロジェクト: yvanvds/interact
        public ArduinoConfig(JObject obj)
        {
            if (obj.ContainsKey("Name"))
            {
                name = (string)obj["Name"];
            }

            if (obj.ContainsKey("ID"))
            {
                id = (string)obj["ID"];
            }

            if (obj.ContainsKey("Pin"))
            {
                pin = (byte)obj["Pin"];
            }

            if (obj.ContainsKey("Mode"))
            {
                mode = (string)obj["Mode"];
            }

            if (obj.ContainsKey("StepSize"))
            {
                stepSize = (int)obj["StepSize"];
            }

            if (obj.ContainsKey("LowValue"))
            {
                lowValue = (int)obj["LowValue"];
            }

            if (obj.ContainsKey("HighValue"))
            {
                highValue = (int)obj["HighValue"];
            }

            if (obj.ContainsKey("Route"))
            {
                route = new OscTree.Route(obj["Route"] as JObject);
            }
        }
コード例 #10
0
ファイル: Route.cs プロジェクト: yvanvds/OscTree
 public void UpdateScreenNames(Tree root)
 {
     foreach (var elm in this)
     {
         if (elm.Replacements == null)
         {
             elm.CurrentStep = 0;
             elm.ScreenName  = root.GetNameOfRoute(elm);
         }
         else
         {
             elm.CurrentStep = 0;
             OscTree.Route route = new OscTree.Route(root.GetNameOfRoute(elm), OscTree.Route.RouteType.NAME);
             route.Replacements = new System.Collections.Generic.Dictionary <int, string>();
             foreach (var replacement in elm.Replacements)
             {
                 route.Replacements[replacement.Key] = replacement.Value;
             }
             elm.ScreenName = route.GetActualRoute();
         }
     }
 }
コード例 #11
0
 private void OkClicked(object sender, RoutedEventArgs e)
 {
     CurrentRoute = TreeGui.SelectedRoute;
     Close();
 }
コード例 #12
0
ファイル: Sender.cs プロジェクト: yvanvds/interact
        public static void ToServer(OscTree.Route route, object[] parms)
        {
            string target = route.GetActualRoute();

            sender.Send(new Osc.OscMessage("/route" + target, parms));
        }
コード例 #13
0
ファイル: Tree.xaml.cs プロジェクト: yvanvds/OSCGui
 private void OkClicked(object sender, RoutedEventArgs e)
 {
     CurrentAddress = OscTree.SelectedRoute;
     Close();
 }
コード例 #14
0
ファイル: Tree.xaml.cs プロジェクト: yvanvds/OSCGui
 public void SetRoute(OscTree.Route address)
 {
     CurrentAddress = address;
     OscTree.SetRoute(address);
 }
コード例 #15
0
ファイル: SensorConfig.cs プロジェクト: yvanvds/interact
        public SensorConfig(JObject obj)
        {
            if (obj.ContainsKey("name"))
            {
                name = (string)obj["name"];
            }

            if (obj.ContainsKey("active"))
            {
                active = (bool)obj["active"];
            }

            if (obj.ContainsKey("route"))
            {
                route = new OscTree.Route(obj["route"] as JObject);
            }

            switch (name)
            {
            case "Accelerometer": Type = SensorType.AcceleroMeter; break;

            case "AmbientTemperature": Type = SensorType.AmbientTemperature; break;

            case "Compass": Type = SensorType.Compass; break;

            case "GameRotation": Type = SensorType.GameRotation; break;

            case "Gyroscope": Type = SensorType.Gyroscope; break;

            case "HeartBeat": Type = SensorType.HeartBeat; break;

            case "HeartRate": Type = SensorType.HeartRate; break;

            case "Humidity": Type = SensorType.Humidity; break;

            case "Light": Type = SensorType.Light; break;

            case "LinearAcceleration": Type = SensorType.LinearAcceleration; break;

            case "Magnetometer": Type = SensorType.MagnetoMeter; break;

            case "Motion": Type = SensorType.Motion; break;

            case "Pose": Type = SensorType.Pose; break;

            case "Pressure": Type = SensorType.Pressure; break;

            case "Proximity": Type = SensorType.Proximity; break;

            case "Rotation": Type = SensorType.Rotation; break;

            case "SignificantMotion": Type = SensorType.SignificantMotion; break;

            case "Stationary": Type = SensorType.Stationary; break;

            case "StepCounter": Type = SensorType.StepCounter; break;

            case "StepDetector": Type = SensorType.StepDetector; break;

            case "Tilt": Type = SensorType.Tilt; break;

            default:
            {
                Network.Sender.WriteLog("Unknown sensor type in client configuration: " + name);
                break;
            }
            }
        }
コード例 #16
0
 private void ClearButton_Click(object sender, RoutedEventArgs e)
 {
     CurrentRoute = null;
     DialogResult = true;
     Close();
 }
コード例 #17
0
 public void TestRouteName()
 {
     OscTree.Route route = new OscTree.Route("/root/test/one", OscTree.Route.RouteType.NAME);
     Assert.That(route.OriginalName, Is.EqualTo("/root/test/one"));
 }
コード例 #18
0
 public void SetRoute(OscTree.Route route)
 {
     CurrentRoute = route;
     TreeGui.SetRoute(route);
 }