Exemple #1
0
        public static EffectTreeModel GetPlugInsTree()
        {
            var plugInsTree = new EffectTreeModel();
            var plugInsSB   = new StringBuilder();

            GetPlugInNodeTree(VegasHandler.Vegas.PlugIns, plugInsTree, plugInsSB);
            plugInsTree = plugInsTree.Items?.FirstOrDefault();
            //System.IO.File.WriteAllText("Effects.txt", plugInsSB.ToString());
            //System.Diagnostics.Process.Start("Effects.txt");

            return(plugInsTree);
        }
Exemple #2
0
        public static void GetPlugInNodeTree(PlugInNode pin, EffectTreeModel plugInsTree, StringBuilder plugInsSB = null, int deep = 0)
        {
            if (plugInsSB == null)
            {
                plugInsSB = new StringBuilder();
            }

            IEnumerator <PlugInNode> pinEnum = pin.GetEnumerator();

            if (pin.IsContainer)
            {
                var current = new EffectTreeModel
                {
                    Name        = pin.Name,
                    IsContainer = false
                };
                plugInsSB.Append($"{new string('\t', deep)}{(pin.Any() ? "+" : "-")} PlugInNode:'{pin.Name}'{Environment.NewLine}");
                //GetPresets(pin, deep + 1, plugInsList, plugInsSB);
                while (pinEnum.MoveNext())
                {
                    GetPlugInNodeTree(pinEnum.Current, current, plugInsSB, deep + 1);
                }
                plugInsTree.Items.Add(current);
            }
            else
            {
                var current = new EffectTreeModel
                {
                    Name        = pin.Name,
                    IsContainer = true
                };
                plugInsSB.Append($"{new string('\t', deep)}PlugIn:'{pin.Name}'{Environment.NewLine}");
                GetPresets(pin, deep + 1, current, plugInsSB);
                plugInsTree.Items.Add(current);
            }
        }
Exemple #3
0
        public static List <string> GetPresets(PlugInNode pin, int deep, EffectTreeModel plugInsTree, StringBuilder plugInsSB)
        {
            plugInsSB.AppendLine(pin.Presets.Count > 0 ? String.Join(Environment.NewLine, pin.Presets.Select(p => $"{new string('\t', deep)}Preset:[{p.Index}] '{p.Name}'").ToArray()) : $"{new string('\t', deep)}none presets");

            return(pin.Presets.Select(p => $"{new string('\t', deep)}[{p.Index}] '{p.Name}'").ToList());
        }