Example #1
0
 private void LoadGUID(ManagedTreeItem i)
 {
     if (i.hasValue <string>("GUID"))
     {
         this.GUID = i.getValue <string>("GUID");
     }
 }
Example #2
0
        public static DeviceRule Load(RuleSet r, ManagedTreeItem item)
        {
            DeviceRule result;

            if (!item.hasValue <Type>("Type"))
            {
                result = null;
            }
            else
            {
                Type       type = item.getValue <Type>("Type");
                DeviceRule o    = r.createRule(type);
                if (o == null)
                {
                    result = null;
                }
                else
                {
                    o.LoadGUID(item);
                    r.AddRule(o);
                    o.Init(item);
                    result = o;
                }
            }
            return(result);
        }
Example #3
0
        public static RuleSet Load(ManagedTreeItem mti)
        {
            RuleSet ret = new RuleSet(false);
            Pair <string, object> nameAt = mti.Attributes.FirstOrDefault((Pair <string, object> i) => i.Left == "Name");

            ret.Name = ((nameAt != null) ? ((string)nameAt.Right) : "");
            Pair <string, object> inp = mti.Attributes.FirstOrDefault((Pair <string, object> i) => i.Left == "InputDeviceID");

            ret.InputDeviceID = ((inp != null) ? ((string)inp.Right) : null);
            Pair <string, object> outp = mti.Attributes.FirstOrDefault((Pair <string, object> i) => i.Left == "OutputDeviceID");

            ret.OutputDeviceID = ((outp != null) ? ((string)outp.Right) : null);
            if (mti.hasValue <string>("GUID"))
            {
                ret.GUID = mti.getValue <string>("GUID");
            }
            else
            {
                ret.GUID = Guid.NewGuid().ToString();
            }
            ret.genInputLayer();
            foreach (ManagedTreeItem item in mti.GetChildren("Rule"))
            {
                if (DeviceRule.Load(ret, item) == null)
                {
                    RuleSet.log.Warn("Failed to load DeviceRule in RuleSet {0}, Invalid Cast and/or constructor missing!", ret.Name);
                }
            }
            foreach (DeviceRule item2 in ret.Rules)
            {
                item2.UpdateBacktrack();
            }
            return(ret);
        }
Example #4
0
        public virtual void Save(ManagedTreeItem i)
        {
            Type type = base.GetType();

            i.setValue <Type>("Type", type);
            i.setValue <string>("Name", this.Name);
            i.setValue <string>("GUID", this.GUID);
            i.setValue <bool>("UseBacktrack", this.UseBacktrack);
        }
Example #5
0
 public override void Save(ManagedTreeItem i)
 {
     MidiPlugin.log.Debug("Saving EncoderRule {0}, {1},  {2}", CWMessage.Data, CCWMessage.Data, Increment);
     base.Save(i);
     i.setValue <double>("Value", this.Value);
     i.setValue <double>("Increment", this.Increment);
     i.setValue <int>("CWMessage", this.CWMessage.Data);
     i.setValue <int>("MinimumBacktrack", this.MinimumBacktrack.Data);
     i.setValue <int>("CCWMessage", this.CCWMessage.Data);
     i.setValue <int>("MaximumBacktrack", this.MaximumBacktrack.Data);
 }
Example #6
0
 public virtual void Init(ManagedTreeItem i)
 {
     if (i.hasValue <string>("Name"))
     {
         this.Name = i.getValue <string>("Name");
     }
     if (i.hasValue <bool>("UseBacktrack"))
     {
         this.UseBacktrack = i.getValue <bool>("UseBacktrack");
     }
 }
Example #7
0
 public override void Save(ManagedTreeItem i)
 {
     MidiPlugin.log.Debug("Saving ButtonRule {0}, {1},  {2}", EnableMessage.Data, DisableMessage.Data, Treshold);
     base.Save(i);
     i.setValue <bool>("State", this.State);
     i.setValue <byte>("Treshold", this.Treshold);
     i.setValue <bool>("IsToggle", this.IsToggle);
     i.setValue <int>("EnableMessage", this.EnableMessage.Data);
     i.setValue <int>("EnabledBacktrack", this.EnabledBacktrack.Data);
     i.setValue <int>("DisableMessage", this.DisableMessage.Data);
     i.setValue <int>("DisabledBacktrack", this.DisabledBacktrack.Data);
 }
Example #8
0
 public void Save(ManagedTreeItem mti)
 {
     MidiPlugin.log.Debug("Saving RuleSet {0}", Name);
     mti.setValue <string>("Name", this.Name);
     mti.setValue <string>("InputDeviceID", this.InputDeviceID);
     mti.setValue <string>("OutputDeviceID", this.OutputDeviceID);
     mti.setValue <string>("GUID", this.GUID);
     foreach (DeviceRule rule in this.Rules)
     {
         ManagedTreeItem mtir = new ManagedTreeItem("Rule");
         rule.Save(mtir);
         mti.AddChild(mtir);
     }
 }
Example #9
0
        private void Load()

        {
            if (ResourceManager.getInstance().existsResource(EResourceType.PROJECT, MidiPlugin.myMetaData))
            {
                LumosResource   r    = ResourceManager.getInstance().loadResource(EResourceAccess.READ_WRITE, EResourceType.PROJECT, MidiPlugin.myMetaData);
                ManagedTreeItem item = r.ManagedData;
                foreach (ManagedTreeItem mti in item.GetChildren("RuleSet"))
                {
                    RuleSet rs = RuleSet.Load(mti);
                    if (rs != null)
                    {
                        this.midi.RuleSets.Add(rs);
                    }
                }
                projectLoaded = true;
            }
        }
Example #10
0
 public override void Init(ManagedTreeItem i)
 {
     base.Init(i);
     if (i.hasValue <byte>("Treshold"))
     {
         this.Treshold = i.getValue <byte>("Treshold");
     }
     if (i.hasValue <bool>("IsToggle"))
     {
         this.IsToggle = i.getValue <bool>("IsToggle");
     }
     if (i.hasValue <int>("EnableMessage"))
     {
         this.EnableMessage = new MidiMessage
         {
             Data = i.getValue <int>("EnableMessage")
         };
     }
     if (i.hasValue <int>("EnabledBacktrack"))
     {
         this.EnabledBacktrack = new MidiMessage
         {
             Data = i.getValue <int>("EnabledBacktrack")
         };
     }
     if (i.hasValue <int>("DisableMessage"))
     {
         this.DisableMessage = new MidiMessage
         {
             Data = i.getValue <int>("DisableMessage")
         };
     }
     if (i.hasValue <int>("DisabledBacktrack"))
     {
         this.DisabledBacktrack = new MidiMessage
         {
             Data = i.getValue <int>("DisabledBacktrack")
         };
     }
     if (i.hasValue <bool>("State"))
     {
         this.State = i.getValue <bool>("State");
     }
 }
Example #11
0
        private void Save()
        {
            log.Debug("Save called!");
            ManagedTreeItem _midi = new ManagedTreeItem("MidiSettings");

            foreach (RuleSet item in this.midi.RuleSets)
            {
                ManagedTreeItem rs = new ManagedTreeItem("RuleSet");
                item.Save(rs);
                _midi.AddChild(rs);
            }
            log.Debug("Creating resource");
            LumosResource res = new LumosResource(MidiPlugin.myMetaData.Name, _midi);

            log.Debug("Resource created: {0}", res.ManagedData.Children.Count);
            ResourceManager.getInstance().saveResource(EResourceType.PROJECT, res);


            log.Debug("Resource saved");
        }
Example #12
0
 public override void Init(ManagedTreeItem i)
 {
     base.Init(i);
     if (i.hasValue <double>("Increment"))
     {
         this.Increment = i.getValue <double>("Increment");
     }
     if (i.hasValue <int>("CWMessage"))
     {
         this.CWMessage = new MidiMessage
         {
             Data = i.getValue <int>("CWMessage")
         };
     }
     if (i.hasValue <int>("MinimumBacktrack"))
     {
         this.MinimumBacktrack = new MidiMessage
         {
             Data = i.getValue <int>("MinimumBacktrack")
         };
     }
     if (i.hasValue <int>("CCWMessage"))
     {
         this.CCWMessage = new MidiMessage
         {
             Data = i.getValue <int>("CCWMessage")
         };
     }
     if (i.hasValue <int>("MaximumBacktrack"))
     {
         this.MaximumBacktrack = new MidiMessage
         {
             Data = i.getValue <int>("MaximumBacktrack")
         };
     }
     if (i.hasValue <double>("Value"))
     {
         this.Value = i.getValue <double>("Value");
     }
 }
        public override IDevice createSavedInstance(ManagedTreeItem item, LumosIOContext context, IDevice parent)
        {
            //If this is the right Factory
            if (!item.Name.Equals(NanoleafDevice.NANOLEAF_DEVICE_TYPE_NAME))
            {
                throw new NotSupportedException("Unable to create a Device for Type: " + item.Name);
            }

            string id = item.getValue <string>("ID");

            if (String.IsNullOrEmpty(id))
            {
                throw ItemLoadException.UnableToLoad("ID", "NanoleafDevice");
            }

            IDevice d = new NanoleafDevice(id);

            //Delegate the loading of the Values to the Device Class.
            d.loadFromManagedTree(item, context);

            return(d);
        }