public VariableFilterCtrl() { InitializeComponent(); this.engine = engine; this.cmbCatFilter.SelectedIndexChanged += new EventHandler(cmbCatFilter_SelectedIndexChanged); }
public TodoHdeEnumVariable(INode2 node, TodoEngine engine, string varname) { this.node = node; //this.var = var; this.valuepin = this.node.FindPin("Input Enum"); enumname = this.valuepin.SubType.Split(",".ToCharArray())[1].Trim(); int ecnt = EnumManager.GetEnumEntryCount(enumname); for (int i = 0; i < ecnt; i++) { string eval = EnumManager.GetEnumEntryString(enumname, i); string vn = varname + "-" + eval; TodoVariable var = engine.GetVariableByName(vn); if (var == null) { var = new TodoVariable(vn); var.Category = "Global"; engine.RegisterVariable(var, false); } var.ValueChanged += var_ValueChanged; vars.Add(var); } //this.valuepin. //this.valuepin.Type //var.ValueChanged += var_ValueChanged; //var.VariableUpdated += var_VariableUpdated; }
public static string Persist(TodoEngine engine, string[] variables) { StringBuilder sb = new StringBuilder(); sb.AppendLine("<TodoPreset>"); //Modules //Variables sb.AppendLine("<TodoVariables>"); foreach (TodoVariable var in engine.Variables) { if (variables.Contains(var.Name)) { PersistVariable(sb, var); } } sb.AppendLine("</TodoVariables>"); sb.AppendLine("</TodoPreset>"); return(sb.ToString()); }
public static void LoadXml(TodoEngine engine, string xml) { XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); XmlNode root = doc.DocumentElement; //node = node.ChildNodes[0]; foreach (XmlNode node in root.ChildNodes) { if (node.Name == "TodoVariables") { foreach (XmlNode child in node.ChildNodes) { LoadVariable(engine, child); } } if (node.Name == "TodoModules") { foreach (XmlNode child in node.ChildNodes) { LoadModules(engine, child); } } } }
private static void LoadVariable(TodoEngine engine, XmlNode node, List <TodoPreset> varnames) { TodoPreset preset = new TodoPreset(); foreach (XmlNode child in node.ChildNodes) { if (child.Name == "Name") { preset.Name = child.InnerText; } if (child.Name == "Category") { preset.Category = child.InnerText; } if (child.Name == "Value") { preset.Value = double.Parse(child.InnerText); } } TodoVariable var = engine.GetVariableByName(preset.Name); if (var != null) { var.SetValue(null, preset.Value); varnames.Add(preset); } }
private static void LoadOscModule(TodoEngine engine, XmlNode node) { //Stop module for reload engine.Osc.SetEnabled(false); engine.Osc.SetOutputEnabled(false); foreach (XmlNode child in node.ChildNodes) { if (child.Name == "Input") { engine.Osc.AutoStartInput = BoolExtension.ParseEnglish(child.Attributes["AutoStart"].Value); engine.Osc.LocalPort = int.Parse(child.Attributes["Port"].Value); } if (child.Name == "Output") { engine.Osc.AutoStartOutput = BoolExtension.ParseEnglish(child.Attributes["AutoStart"].Value); engine.Osc.RemotePort = int.Parse(child.Attributes["Port"].Value); } } if (engine.Osc.AutoStartInput) { engine.Osc.SetEnabled(true); } if (engine.Osc.AutoStartOutput) { engine.Osc.SetOutputEnabled(true); } }
public void Evaluate(int SpreadMax) { if (this.FInvalidateConnect) { if (this.FInEngine.PluginIO.IsConnected) { this.engine = this.FInEngine[0]; foreach (INode2 n in this.FHDEHost.ExposedNodeService.Nodes) { this.NodeAddedCB(n); } } else { this.Cleanup(); this.engine = null; } this.FInvalidateConnect = false; } foreach (TodoHdeVariable hdevar in this.nodes.Values) { hdevar.Update(); } foreach (TodoHdeEnumVariable hdeenum in this.enums.Values) { hdeenum.Update(); } }
public static string Persist(TodoEngine engine) { StringBuilder sb = new StringBuilder(); sb.AppendLine("<TodoMap>"); //Modules sb.AppendLine("<TodoModules>"); PersistOsc(sb, engine.Osc); PersistMidi(sb, engine.Midi); sb.AppendLine("</TodoModules>"); //Variables sb.AppendLine("<TodoVariables>"); foreach (TodoVariable var in engine.Variables) { PersistVariable(sb, var); } sb.AppendLine("</TodoVariables>"); sb.AppendLine("</TodoMap>"); return(sb.ToString()); }
private static void LoadModules(TodoEngine engine, XmlNode node) { if (node.Name == "Osc") { LoadOscModule(engine, node); } if (node.Name == "Midi") { LoadMidiModule(engine, node); } }
public TodoHdeEnumVariable(INode2 node, TodoEngine engine, IHDEHost hde) { this.node = node; this.hde = hde; //this.var = var; this.valuepin = this.node.FindPin("Input Enum"); string enumname = this.valuepin.SubType.Split("|".ToCharArray())[1]; //this.valuepin. //this.valuepin.Type //var.ValueChanged += var_ValueChanged; //var.VariableUpdated += var_VariableUpdated; }
public TodoHdeVariable(INode2 node, TodoEngine engine, string varname) { this.node = node; this.valuepin = this.node.FindPin("Y Input Value"); if (this.valuepin.SliceCount == 1) { TodoVariable var = engine.GetVariableByName(varname); if (var == null) { var = new TodoVariable(varname); var.Category = "Global"; engine.RegisterVariable(var, false); } var.ValueChanged += var_ValueChanged; var.VariableUpdated += var_VariableUpdated; this.vars.Add(var); } else if (this.valuepin.SliceCount > 1) { for (int i = 0; i < this.valuepin.SliceCount; i++) { string vn = varname + "-" + i.ToString(); TodoVariable var = engine.GetVariableByName(vn); if (var == null) { var = new TodoVariable(vn); var.Category = "Global"; engine.RegisterVariable(var, false); } var.ValueChanged += var_ValueChanged; var.VariableUpdated += var_VariableUpdated; this.vars.Add(var); } } this.minpin = this.node.FindPin("Minimum"); this.maxpin = this.node.FindPin("Maximum"); this.minpin.Changed += minpin_Changed; this.maxpin.Changed += maxpin_Changed; }
public TodoMidiDevice(TodoEngine engine) : base(engine) { this.usb = new UsbDetector(); this.usb.UsbRemoved += usb_UsbRemoved; this.usb.UsbAdded += usb_UsbAdded; this.usb.Start(); for (int i = 0; i < InputDevice.DeviceCount; i++) { this.inputstatus.Add(eTodoMidiStatus.Connected); this.inputdevname.Add(InputDevice.GetDeviceCapabilities(i).name); } for (int i = 0; i < OutputDevice.DeviceCount; i++) { this.outputstatus.Add(eTodoMidiStatus.Connected); this.outputdevname.Add(OutputDevice.GetDeviceCapabilities(i).name); } }
public void Initialize(TodoEngine engine, ImageList iml) { this.ImageList = iml; this.CheckBoxes = true; this.engine = engine; this.ItemDrag += new ItemDragEventHandler(TodoTreeView_ItemDrag); this.DragOver += new DragEventHandler(TodoTreeView_DragOver); this.DragEnter += new DragEventHandler(TodoTreeView_DragEnter); this.NodeMouseClick += new TreeNodeMouseClickEventHandler(TodoTreeView_NodeMouseClick); this.engine.VariableRegistered += new TodoVariableEventDelegate(engine_VariableRegistered); this.engine.VariableMappingChanged += new TodoInputChangedEventDelegate(engine_VariableMappingChanged); this.CreateBaseTree(); foreach (TodoVariable var in this.engine.Variables) { this.AddVariable(var); } }
private static void LoadMidiModule(TodoEngine engine, XmlNode node) { foreach (XmlNode child in node.ChildNodes) { if (child.Name == "Inputs") { foreach (XmlNode n in child.ChildNodes) { if (n.Name == "Input") { engine.Midi.SetInputAutoStart(n.Attributes["AutoStart"].Value, true); //engine.Osc.AutoStartInput = bool.Parse(child.Attributes["AutoStart"].Value); //engine.Osc.LocalPort = int.Parse(child.Attributes["Port"].Value); } } } if (child.Name == "Outputs") { foreach (XmlNode n in child.ChildNodes) { if (n.Name == "Output") { engine.Midi.SetOutputAutoStart(n.Attributes["AutoStart"].Value, true); //engine.Osc.AutoStartOutput = bool.Parse(child.Attributes["AutoStart"].Value); //engine.Osc.RemotePort = int.Parse(child.Attributes["Port"].Value); } } } } if (engine.Osc.AutoStartInput) { engine.Osc.SetEnabled(true); } if (engine.Osc.AutoStartOutput) { engine.Osc.SetOutputEnabled(true); } }
public static List <TodoPreset> LoadXml(TodoEngine engine, string xml) { List <TodoPreset> varnames = new List <TodoPreset>(); XmlDocument doc = new XmlDocument(); doc.LoadXml(xml); XmlNode root = doc.DocumentElement; //node = node.ChildNodes[0]; foreach (XmlNode node in root.ChildNodes) { if (node.Name == "TodoVariables") { foreach (XmlNode child in node.ChildNodes) { LoadVariable(engine, child, varnames); } } } return(varnames); }
public TodoOscDevice(TodoEngine engine) : base(engine) { }
public AbstractTodoDevice(TodoEngine engine) { this.engine = engine; }
private static void LoadInputs(TodoEngine engine, XmlNode node, TodoVariable var) { string type = node.Attributes["Type"].Value; if (type == "OSC") { TodoOscInput osc = new TodoOscInput(var); foreach (XmlNode child in node.ChildNodes) { if (child.Name == "Message") { osc.Message = child.InnerText; } if (child.Name == "TakeOverMode") { osc.TakeOverMode = (eTodoLocalTakeOverMode)Enum.Parse(typeof(eTodoLocalTakeOverMode), child.InnerText); } if (child.Name == "FeedbackMode") { osc.FeedBackMode = (eTodoLocalFeedBackMode)Enum.Parse(typeof(eTodoLocalFeedBackMode), child.InnerText); } } engine.Osc.RegisterInput(osc); } if (type == "Midi") { TodoMidiInput midi = new TodoMidiInput(var); midi.Device = "Any"; foreach (XmlNode child in node.ChildNodes) { if (child.Name == "ControlType") { midi.ControlType = (eTodoMidiType)Enum.Parse(typeof(eTodoMidiType), child.InnerText); } if (child.Name == "ControlValue") { midi.ControlValue = Convert.ToInt32(child.InnerText); } if (child.Name == "Channel") { midi.MidiChannel = Convert.ToInt32(child.InnerText); } if (child.Name == "Device") { midi.Device = child.InnerText; } if (child.Name == "TakeOverMode") { midi.TakeOverMode = (eTodoLocalTakeOverMode)Enum.Parse(typeof(eTodoLocalTakeOverMode), child.InnerText); } if (child.Name == "FeedbackMode") { midi.FeedBackMode = (eTodoLocalFeedBackMode)Enum.Parse(typeof(eTodoLocalFeedBackMode), child.InnerText); } } engine.Midi.RegisterInput(midi); } }
private static void LoadVariable(TodoEngine engine, XmlNode node) { TodoVariable var = new TodoVariable(); var.Inputs = new List <AbstractTodoInput>(); foreach (XmlNode child in node.ChildNodes) { if (child.Name == "Name") { var.Name = child.InnerText; } if (child.Name == "Category") { var.Category = child.InnerText; } if (child.Name == "AllowFeedBack") { var.AllowFeedBack = BoolExtension.ParseEnglish(child.InnerText); } if (child.Name == "Default") { var.Default = Convert.ToDouble(child.InnerText, CultureInfo.InvariantCulture); } if (child.Name == "MinValue") { var.Mapper.MinValue = Convert.ToDouble(child.InnerText, CultureInfo.InvariantCulture); } if (child.Name == "MaxValue") { var.Mapper.MaxValue = Convert.ToDouble(child.InnerText, CultureInfo.InvariantCulture); } if (child.Name == "TweenMode") { var.Mapper.TweenMode = (eTweenMode)Enum.Parse(typeof(eTweenMode), child.InnerText); } if (child.Name == "EaseMode") { var.Mapper.EaseMode = (eTweenEaseMode)Enum.Parse(typeof(eTweenEaseMode), child.InnerText); } if (child.Name == "TakeOverMode") { var.TakeOverMode = (eTodoGlobalTakeOverMode)Enum.Parse(typeof(eTodoGlobalTakeOverMode), child.InnerText); } if (child.Name == "TodoInputs") { foreach (XmlNode input in child.ChildNodes) { LoadInputs(engine, input, var); } } } if (var.Category == null) { var.Category = "Global"; } else { if (var.Category.Length == 0) { var.Category = "Global"; } } engine.RegisterVariable(var, false); var.SetDefault(); //foreach (AbstractTodoInput ti in var.Inputs) //{ // engine.RegisterInput(ti); //} }
public TodoOscTreeController(TodoEngine engine) { this.engine = engine; engine.Osc.OscDataReceived += new OscReceivedDelegate(Osc_OscDataReceived); }
public TodoCategoryFilter(TodoEngine engine) { this.engine = engine; }