Example #1
0
        public static void BuildIn()
        {
            // Audio section
            var a = new Plugin();
            a.Info.Type = "audio";
            a.Info.Support = "mp4";
            a.Profile.Name = "No Audio";
            a.Profile.Dev = "Anime4000";
            a.Profile.Ver = Global.App.Version;
            a.Profile.Web = "https://x265.github.io/";
            a.Provider.Name = "IFME";
            a.Provider.Update = null;
            a.Provider.Download = null;
            a.App.Bin = null;
            a.App.Quality = new[] { "0" };
            a.App.Default = "0";
            a.Arg.Raw = null;
            a.Arg.Input = null;
            a.Arg.Output = null;
            a.Arg.Bitrate = null;
            a.Arg.Advance = null;

            List.Add(a);

            var b = new Plugin();
            b.Info.Type = "audio";
            b.Info.Support = "mp4";
            b.Profile.Name = "Passthrough (Extract all audio)";
            b.Profile.Dev = "Anime4000";
            b.Profile.Ver = Global.App.Version;
            b.Profile.Web = "https://x265.github.io/";
            b.Provider.Name = "IFME";
            b.Provider.Update = null;
            b.Provider.Download = null;
            b.App.Bin = null;
            b.App.Quality = new[] { "128", "192", "256", "384", "512", "768", "1024" };
            b.App.Default = "256";
            b.Arg.Raw = null;
            b.Arg.Input = null;
            b.Arg.Output = null;
            b.Arg.Bitrate = null;
            b.Arg.Advance = null;

            List.Add(b);
        }
Example #2
0
		public static void Load()
		{
			// Revoke
			List.Clear();

			// Ready build-in
			BuildIn();

			// Load plugins
			foreach (var item in Directory.GetFiles(Global.Folder.Plugins, "_*.ini", SearchOption.AllDirectories))
			{
				var parser = new FileIniDataParser();
				IniData data = parser.ReadFile(item);

				var p = new Plugin();

				p.IniFile = item;
				p.Info.Type = data["info"]["type"];
				p.Info.Support = data["info"]["support"];
				p.Profile.Arch = int.Parse(data["profile"]["arch"]);
				p.Profile.Name = data["profile"]["name"];
				p.Profile.Dev = data["profile"]["dev"];
				p.Profile.Ver = data["profile"]["ver"];
				p.Profile.Web = data["profile"]["web"];
				p.Provider.Name = data["provider"]["name"];
				p.Provider.Update = data["provider"]["update"];
				p.Provider.Download = data["provider"]["download"];

				if (string.Equals(p.Info.Type, "audio"))
				{
					p.App.Bin = Path.Combine(Path.GetDirectoryName(item), data["app"]["bin"]);
					p.App.Ext = data["app"]["ext"];
					p.App.Quality = data["app"]["quality"].Split(',');
					p.App.Default = data["app"]["default"];
					p.Arg.Raw = data["arg"]["raw"];
					p.Arg.Input = data["arg"]["input"];
					p.Arg.Output = data["arg"]["output"];
					p.Arg.Bitrate = data["arg"]["bitrate"];
					p.Arg.Advance = data["arg"]["advance"];
				}

				List.Add(new Guid(data["info"]["guid"]), p);
			}
		}