public static void Transmitted(OSCEditorTransmitter transmitter, IOSCPacket packet)
        {
            var message = new OSCConsolePacket();

            message.Info       = $"<color=green>Editor Transmitter</color>: {transmitter.RemoteHost}:{transmitter.RemotePort}";
            message.PacketType = OSCConsolePacketType.Transmitted;
            message.Packet     = packet;

            Log(message);
        }
Exemple #2
0
        public static void RemoveEditorTransmitter(OSCEditorTransmitter transmitter)
        {
            if (!_transmitters.Contains(transmitter))
            {
                return;
            }

            transmitter.Close();
            transmitter.Dispose();

            _transmitters.Remove(transmitter);
        }
Exemple #3
0
        public static OSCEditorTransmitter CreateEditorTransmitter()
        {
            var transmitter = new OSCEditorTransmitter();

            transmitter.RemotePort    = 7100 + _transmitters.Count;
            transmitter.LocalHostMode = OSCLocalHostMode.Any;
            transmitter.LocalHost     = OSCUtilities.GetLocalHost();
            transmitter.LocalPortMode = OSCLocalPortMode.FromRemotePort;
            transmitter.LocalPort     = transmitter.RemotePort;

            _transmitters.Add(transmitter);

            return(transmitter);
        }
Exemple #4
0
        public static void LoadSettings()
        {
            if (!File.Exists(_configsPath))
            {
                return;
            }

            var configs = JsonUtility.FromJson <OSCEditorConfigs>(File.ReadAllText(_configsPath));

            _receivers.ForEach(receiver =>
            {
                receiver.Close();
                receiver.Dispose();
            });
            _receivers.Clear();

            _transmitters.ForEach(transmitter =>
            {
                transmitter.Close();
                transmitter.Dispose();
            });
            _transmitters.Clear();

            foreach (var receiverConfig in configs.Receivers)
            {
                var receiver = new OSCEditorReceiver();
                receiver.LocalHostMode = receiverConfig.LocalHostMode;
                receiver.LocalHost     = receiverConfig.LocalHost;
                receiver.LocalPort     = receiverConfig.LocalPort;

                if (receiverConfig.AutoConnect)
                {
                    receiver.Connect();
                }

                _receivers.Add(receiver);
            }

            foreach (var transmitterConfig in configs.Transmitters)
            {
                var transmitter = new OSCEditorTransmitter();
                transmitter.RemoteHost    = transmitterConfig.RemoteHost;
                transmitter.RemotePort    = transmitterConfig.RemotePort;
                transmitter.UseBundle     = transmitterConfig.UseBundle;
                transmitter.LocalHostMode = transmitterConfig.LocalHostMode;
                transmitter.LocalHost     = transmitterConfig.LocalHost;
                transmitter.LocalPortMode = transmitterConfig.LocalPortMode;
                transmitter.LocalPort     = transmitterConfig.LocalPort;

                if (transmitterConfig.AutoConnect)
                {
                    transmitter.Connect();
                }

                _transmitters.Add(transmitter);
            }

            foreach (var componentConfig in configs.Components)
            {
                var componentType = OSCEditorUtils.GetTypeByGUID(componentConfig.Guid);
                if (componentType == null || !componentType.IsSubclassOf(typeof(OSCEditorComponent)))
                {
                    componentType = typeof(OSCEditorManager).Assembly.GetType(componentConfig.Type);
                    if (componentType == null)
                    {
                        continue;
                    }
                }

                var component = GetComponent(componentType);
                if (component == null)
                {
                    continue;
                }

                if (component is OSCEditorReceiverComponent receiverComponent)
                {
                    receiverComponent.Receiver = GetEditorReceiver(componentConfig.Index);
                }
                else
                {
                    if (component is OSCEditorTransmitterComponent transmitterComponent)
                    {
                        transmitterComponent.Transmitter = GetEditorTransmitter(componentConfig.Index);
                    }
                }

                component.Active = componentConfig.Active;
            }
        }