Ejemplo n.º 1
0
            public void RAR_EachFileInDir(RadProgressBar radProgress, string DirPath, bool NewThread = true, bool EpNumRARName = true, string Prefix = "")
            {
                _AHK ahk = new _AHK();

                if (NewThread)
                {
                    Thread imdbTVParseThread = new Thread(() => RAR_EachFileInDir(radProgress, DirPath, false, EpNumRARName, Prefix));
                    imdbTVParseThread.Start();
                }
                else
                {
                    _TelerikLib.RadProgress pro = new _TelerikLib.RadProgress();
                    _Lists lst = new _Lists();
                    _Parse prs = new _Parse();

                    string rar = @"C:\_Code\LucidProjects\ADBindex\ComPress\bin\Debug\Lib\rar.exe";

                    List <string> files = lst.FileList(DirPath);

                    pro.SetupProgressBar(radProgress, files.Count);

                    string RelativePath = "-ep";

                    string fileDir = ahk.FileDir(DirPath); int i = 0;
                    foreach (string file in files)
                    {
                        if (ahk.FileExt(file).ToUpper() == ".URL")
                        {
                            continue;
                        }


                        // extract season/ep number from file name
                        string epNum = prs.SeasonEpNums(file);

                        i++; pro.UpdateProgress(radProgress, ahk.FileName(file) + " " + i + "/" + files.Count);
                        string newRAR = fileDir + "\\" + Prefix + epNum + ".rar";

                        // use the file name as the zip file name
                        if (!EpNumRARName)
                        {
                            newRAR = fileDir + "\\" + ahk.FileNameNoExt(file) + ".rar";
                        }

                        if (File.Exists(newRAR))
                        {
                            continue;
                        }


                        string FIle = file.Replace(",", "`,");

                        string cmd = rar + " A -m0 " + RelativePath + " " + "\"" + newRAR + "\" \"" + FIle + "\"";
                        ahk.RunWait(cmd, "", "Hide");
                    }

                    ahk.MsgBox("Finished RARing " + files.Count + " Files");
                }
            }
Ejemplo n.º 2
0
        /// <summary>Returns File Name (with Extension)</summary>
        /// <param name="file">File Object to Parse</param>
        public static string FileName(this FileInfo file)
        {
            _AHK ahk = new _AHK();

            return(ahk.FileName(file.ToString(), false));
        }
Ejemplo n.º 3
0
        //####  File Path Info (replace SplitPath ahk function)  #####

        /// <summary>Separates a file path - returns file name (with extension)</summary>
        /// <param name="FilePath">File Location to Parse</param>
        /// <param name="CheckIfExists">Option to check to see if FilePath exists - FileName returns blank if file not found</param>
        public static string FileName(this string FilePath, bool CheckIfExists = false)
        {
            _AHK ahk = new _AHK();

            return(ahk.FileName(FilePath, CheckIfExists));
        }
Ejemplo n.º 4
0
            /// <summary>
            /// FFMpeg Create Preview Images From Video Dir
            /// </summary>
            /// <param name="VideoDir"></param>
            /// <param name="SaveDir"></param>
            public void VideoScreenCaps(string VideoDir, ProgressBar progressB, bool NewThread = true, string SaveDir = "", int TilesWide = 3, int TilesTall = 3, string Scale = "320:240", string SaveFormat = "jpg", bool OverWriteExisting = false, string CaptureOpt = "1000")
            {
                if (NewThread)
                {
                    Thread newThread = new Thread(() => VideoScreenCaps(VideoDir, progressB, false, SaveDir, TilesWide, TilesTall, Scale, SaveFormat, OverWriteExisting, CaptureOpt));
                    thr.Start(newThread, "VidThread");
                    //newThread.Start();
                }
                else
                {
                    // string videoFilePath, string saveDir = "", int TilesWide = 3, int TilesTall = 3, string Scale = "320:240", string SaveFormat = "jpg"

                    if (!pathDefined)
                    {
                        pathDefined = FFMpeg_DefinePaths(); if (!pathDefined)
                        {
                            return;
                        }
                    }


                    List <string> files = new List <string>();

                    if (ahk.isFile(VideoDir))
                    {
                        files.Add(VideoDir);
                    }
                    else
                    {
                        files = lst.FileList(VideoDir, "*.*", true, false, true);
                    }

                    if (progressB.InvokeRequired)
                    {
                        progressB.BeginInvoke((MethodInvoker) delegate() { progressB.Maximum = files.Count(); });
                    }
                    else
                    {
                        progressB.Maximum = files.Count();
                    }


                    SaveDir = VideoDir + "\\Previews";

                    Dir_Watch(SaveDir);  // monitor dir for new images and display as created

                    Stopwatch watch = new Stopwatch();

                    int i = 0;
                    foreach (string file in files)
                    {
                        watch.Start();
                        sb(file);

                        i++; sb(i + "/" + files.Count.ToString(), 2);
                        if (progressB.InvokeRequired)
                        {
                            progressB.BeginInvoke((MethodInvoker) delegate() { progressB.Value = i; });
                        }
                        else
                        {
                            progressB.Value = i;
                        }

                        ahk.DisplayText(ahk.FileName(file) + " | " + i + "/" + files.Count, txtCurrentProgress);

                        // calculate time left until folder completed

                        // number of files left in dir to vidCap    // reemaining jobs times last job time = time remaining
                        int      remaining = files.Count() - i; remaining = remaining * lastJobTime;
                        TimeSpan t         = TimeSpan.FromSeconds(remaining);
                        string   remains   = t.TotalMinutes.ToString();
                        if (txtRemainingMin.InvokeRequired)
                        {
                            txtRemainingMin.BeginInvoke((MethodInvoker) delegate() { txtRemainingMin.Text = remains + " Min Left"; });
                        }
                        else
                        {
                            txtRemainingMin.Text = remains + " Min Left";
                        }


                        // check to see if preview image already exists
                        string PreviewImage = SaveDir + "\\" + ahk.FileNameNoExt(file) + "." + SaveFormat;


                        if (!OverWriteExisting)
                        {
                            if (!File.Exists(PreviewImage))
                            {
                                sb("Generating Video Preview Image... " + ahk.FileName(PreviewImage));
                                string previewImg = VidCap_Tiles(file, "", TilesWide, TilesTall, Scale, SaveFormat, CaptureOpt);

                                //if (pictureBox != null) { pictureBox.Image = previewImg.ToImg(); }  // display preview image if viewer visible
                            }
                        }
                        else
                        {
                            ahk.FileDelete(PreviewImage);
                            sb("Generating Video Preview Image... " + ahk.FileName(PreviewImage));
                            string previewImg = VidCap_Tiles(file, "", TilesWide, TilesTall, Scale, SaveFormat, CaptureOpt);

                            //if (pictureBox != null) { pictureBox.Image = previewImg.ToImg(); }  // display preview image if viewer visible
                        }



                        string stopWatchTime = watch.Elapsed.Seconds.ToString(); lastJobTime = watch.Elapsed.Seconds;
                        ahk.DisplayText(stopWatchTime + " seconds", txtJobTimeDisp);
                        watch.Reset();
                    }

                    ahk.OpenDir(SaveDir);
                    ahk.MsgBox("Finished Creating VideoScreenCaps");
                }
            }