Ejemplo n.º 1
0
        bool kakuninClose()
        {
            try{
                util.debugWriteLine(" comment x " + Location.X + " comment y " + Location.Y + " comment width " + Width.ToString() + " comment height " + Height.ToString() + " restore width " + RestoreBounds.Width.ToString() + " restore height " + RestoreBounds.Height.ToString());

                if (WindowState == FormWindowState.Normal)
                {
                    config.set("defaultCommentFormWidth", Width.ToString());
                    config.set("defaultCommentFormHeight", Height.ToString());
                    config.set("defaultCommentFormX", Location.X.ToString());
                    config.set("defaultCommentFormY", Location.Y.ToString());
                }
                else
                {
                    config.set("defaultCommentFormWidth", RestoreBounds.Width.ToString());
                    config.set("defaultCommentFormHeight", RestoreBounds.Height.ToString());
                    config.set("defaultCommentFormX", RestoreBounds.X.ToString());
                    config.set("defaultCommentFormY", RestoreBounds.Y.ToString());
                }
                config.set("Is184", is184ChkBox.Checked.ToString().ToLower());
            } catch (Exception e) {
                util.debugWriteLine(e.Message + " " + e.StackTrace);
            }
            return(true);
        }
Ejemplo n.º 2
0
 bool kakuninClose()
 {
     try{
         util.debugWriteLine("defaultControllerX  " + Location.X + " defaultControllerX " + Location.Y + " volume " + volumeBarArea.Width.ToString());
         if (this.WindowState == FormWindowState.Normal)
         {
             config.set("defaultControllerX", Location.X.ToString());
             config.set("defaultControllerY", Location.Y.ToString());
         }
         else
         {
             config.set("defaultControllerX", RestoreBounds.X.ToString());
             config.set("defaultControllerX", RestoreBounds.Y.ToString());
         }
         config.set("volume", volumeBarArea.Width.ToString());
     } catch (Exception e) {
         util.debugWriteLine(e.Message + " " + e.StackTrace);
     }
     return(true);
 }
        public MainForm(string[] args)
        {
            string lv = null;

            foreach (var arg in args)
            {
                lv = util.getRegGroup(arg, "(lv\\d+(,\\d+)*)");
                if (lv != null)
                {
                    break;
                }
            }
            util.setLog(config, lv);

            madeThread = Thread.CurrentThread;

            //read std
            if (Array.IndexOf(args, "-std-read") > -1)
            {
                startStdRead();
            }

            System.Diagnostics.Debug.Listeners.Clear();
            System.Diagnostics.Debug.Listeners.Add(new Logger.TraceListener());

            InitializeComponent();
            Text    = "ニコ生新配信録画ツール(仮 " + util.versionStr;
            defIcon = Icon;

            this.args = args;

            rec    = new rec.RecordingManager(this, config);
            player = new Player(this, config);

            if (Array.IndexOf(args, "-stdIO") > -1)
            {
                util.isStdIO = true;
            }

            util.debugWriteLine("arg len " + args.Length);
            util.debugWriteLine("arg join " + string.Join(" ", args));

            var fontSize = config.get("fontSize");

            if (fontSize != "9")
            {
                util.setFontSize(int.Parse(fontSize), this, true, 400);
            }

            try {
                Width  = int.Parse(config.get("Width"));
                Height = int.Parse(config.get("Height"));
            } catch (Exception e) {
                util.debugWriteLine(e.Message + " " + e.StackTrace + " " + e.Source + " " + e.TargetSite);
            }

            try {
                if (bool.Parse(config.get("IsRestoreLocation")))
                {
                    var x = config.get("X");
                    var y = config.get("Y");
                    if (x != "" && y != "" && int.Parse(x) >= 0 && int.Parse(y) >= 0)
                    {
                        StartPosition = FormStartPosition.Manual;
                        Location      = new Point(int.Parse(x), int.Parse(y));
                    }
                }
            } catch (Exception e) {
                util.debugWriteLine(e.Message + " " + e.StackTrace + " " + e.Source + " " + e.TargetSite);
                StartPosition = FormStartPosition.WindowsDefaultLocation;
            }

            if (bool.Parse(config.get("IsMiniStart")))
            {
                changeSize(true);
            }

            if (config.get("qualityRank").Split(',').Length == 5)
            {
                config.set("qualityRank", config.get("qualityRank") + ",5");
            }

            changeRecBtnClickEvent(bool.Parse(config.get("IsRecBtnOnlyMouse")));
        }
        bool kakuninClose()
        {
            if (rec.rfu != null && bool.Parse(config.get("IsConfirmCloseMsgBox")))
            {
                var          _m  = (rec.isPlayOnlyMode) ? "視聴" : "録画";
                DialogResult res = MessageBox.Show(_m + "中ですが終了しますか?", "確認", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                if (res == DialogResult.No)
                {
                    return(false);
                }
            }
            try{
                util.debugWriteLine("width " + Width.ToString() + " height " + Height.ToString() + " restore width " + RestoreBounds.Width.ToString() + " restore height " + RestoreBounds.Height.ToString());
                if (originalSize != Size.Empty)
                {
                    config.set("Width", originalSize.Width.ToString());
                    config.set("Height", originalSize.Height.ToString());
                    config.set("X", Location.X.ToString());
                    config.set("Y", Location.Y.ToString());
                }
                else
                {
                    if (this.WindowState == FormWindowState.Normal)
                    {
                        config.set("Width", Width.ToString());
                        config.set("Height", Height.ToString());
                        config.set("X", Location.X.ToString());
                        config.set("Y", Location.Y.ToString());
                    }
                    else
                    {
                        config.set("Width", RestoreBounds.Width.ToString());
                        config.set("Height", RestoreBounds.Height.ToString());
                        config.set("X", RestoreBounds.X.ToString());
                        config.set("Y", RestoreBounds.Y.ToString());
                    }
                }
                //MessageBox.Show("o " + originalSize + " " + this.WindowState + " l " + Location + " " + Width + " " + Height + " r " + RestoreBounds.X + " " + RestoreBounds.Y + " " + RestoreBounds.Width + " " + RestoreBounds.Height + " c " + config.get("X") + " " + config.get("Y"));
            } catch (Exception e) {
                util.debugWriteLine(e.Message + " " + e.StackTrace);
            }
            player.stopPlaying(true, true);
            try  {
                if (rec != null && rec.rfu != null && rec.rfu.h5r != null && rec.rfu.h5r.wsr != null)
                {
                    var _r = rec.rfu.h5r.wsr;
                    rec.stopRecording();
                    for (var i = 0; i < 100; i++)
                    {
//						util.debugWriteLine("close rec commentSW " + i);
                        if (_r.commentSW == null)
                        {
                            break;
                        }
                        Thread.Sleep(100);
                    }
                    util.debugWriteLine("end close sw");

                    /*
                     * _r.isRetry = false;
                     * _r.rec.isRetry = false;
                     * _r.rec.isEndProgram = true;
                     * _r.isEndProgram = true;
                     *
                     * Task.Run(() => {
                     *      _r.stopRecording();
                     *      if (_r.rec != null) _r.rec.waitForEnd();
                     *      for (var i = 0; i < 1000 && rec.rfu != null; i++) {
                     *              util.debugWriteLine("wait rec close " + i);
                     *              Thread.Sleep(100);
                     *      }
                     *      util.debugWriteLine("wait rec close end");
                     * }).Wait();
                     */
                }
            } catch (Exception e) {
                util.debugWriteLine(e.Message + e.Source + e.StackTrace + e.TargetSite);
            }
            return(true);
        }
Ejemplo n.º 5
0
        void okBtn_Click(object sender, EventArgs e)
        {
            var startType = (isStartTimeRadioBtn.Checked) ? 0 : 1;
            var _h        = (startType == 0) ? hText.Text : lastFileTime[0];
            var _m        = (startType == 0) ? mText.Text : lastFileTime[1];
            var _s        = (startType == 0) ? sText.Text : lastFileTime[2];
            int h;
            int m;
            int s;

            if (!int.TryParse(_h, out h) ||
                !int.TryParse(_m, out m) ||
                !int.TryParse(_s, out s))
            {
                MessageBox.Show("開始時間に数字以外が指定されています");
                return;
            }

            var _endH = endHText.Text;
            var _endM = endMText.Text;
            var _endS = endSText.Text;
            int endH;
            int endM;
            int endS;

            if (!int.TryParse(_endH, out endH) ||
                !int.TryParse(_endM, out endM) ||
                !int.TryParse(_endS, out endS))
            {
                MessageBox.Show("終了時間に数字以外が指定されています");
                return;
            }

            var timeSeconds    = h * 3600 + m * 60 + s;
            var endTimeSeconds = endH * 3600 + endM * 60 + endS;

            if ((endH != 0 || endM != 0 || endS != 0) &&
                endTimeSeconds < timeSeconds)
            {
                MessageBox.Show("終了時間が開始時間より前に設定されています");
                return;
            }

            double updateSecond;

            if (!double.TryParse(updateListSecondText.Text, out updateSecond))
            {
                MessageBox.Show("M3U8の更新間隔に数字以外が指定されています");
                return;
            }
            if (updateSecond <= 0.5)
            {
                MessageBox.Show("M3U8の更新間隔に0.5以下を指定することはできません");
                return;
            }

            /*
             * var isUrlList = isUrlListChkBox.Checked;
             * var openListCommand = openListCommandText.Text;
             * var isM3u8List = isM3u8RadioBtn.Checked;
             * var m3u8UpdateSeconds = updateSecond;
             * var isOpenUrlList = isOpenListCommandChkBox.Checked;
             */
            var isUrlList         = false;
            var openListCommand   = "";
            var isM3u8List        = false;
            var m3u8UpdateSeconds = 5.1;
            var isOpenUrlList     = false;

            ret = new TimeShiftConfig(startType,
                                      h, m, s, endH, endM, endS, isRenketuLastFile.Checked, isUrlList,
                                      openListCommand, isM3u8List, m3u8UpdateSeconds, isOpenUrlList,
                                      isSetVposStartTime.Checked);

            var l = new List <KeyValuePair <string, string> >();

            l.Add(new KeyValuePair <string, string>("IsUrlList", isUrlList.ToString().ToLower()));
            l.Add(new KeyValuePair <string, string>("IsM3u8List", isM3u8List.ToString().ToLower()));
            l.Add(new KeyValuePair <string, string>("M3u8UpdateSeconds", m3u8UpdateSeconds.ToString()));
            l.Add(new KeyValuePair <string, string>("IsOpenUrlList", isOpenUrlList.ToString().ToLower()));
            l.Add(new KeyValuePair <string, string>("openUrlListCommand", openListCommand));
            l.Add(new KeyValuePair <string, string>("IsVposStartTime", isSetVposStartTime.Checked.ToString().ToLower()));
            config.set(l);

            /*
             * config.set("IsUrlList", isUrlList.ToString().ToLower());
             * config.set("IsM3u8List", isM3u8List.ToString().ToLower());
             * config.set("M3u8UpdateSeconds", m3u8UpdateSeconds.ToString());
             * config.set("IsOpenUrlList", isOpenUrlList.ToString().ToLower());
             * config.set("openUrlListCommand", openListCommand);
             * config.set("IsVposStartTime", isSetVposStartTime.Checked.ToString().ToLower());
             */
            Close();
        }
Ejemplo n.º 6
0
        public MainForm(string[] args)
        {
            madeThread = Thread.CurrentThread;

                        #if !DEBUG
            FormBorderStyle = FormBorderStyle.FixedSingle;
//				if (config.get("IsLogFile") == "true")
//					config.set("IsLogFile", "false");
                        #endif

            System.Diagnostics.Debug.Listeners.Clear();
            System.Diagnostics.Debug.Listeners.Add(new Logger.TraceListener());

            InitializeComponent();
            Text = "視聴プラグイン(仮 " + util.versionStr;

            this.args = args;

            rec    = new rec.RecordingManager(this, config);
            player = new Player(this, config);

            if (Array.IndexOf(args, "-stdIO") > -1)
            {
                util.isStdIO = true;
            }

            var lv = (args.Length == 0) ? null : util.getRegGroup(args[0], "(lv\\d+(,\\d+)*)");
            util.setLog(config, lv);



            util.debugWriteLine("arg len " + args.Length);
            util.debugWriteLine("arg join " + string.Join(" ", args));


            //nicoSessionComboBox1.Selector.PropertyChanged += Selector_PropertyChanged;
//            checkBoxShowAll.Checked = bool.Parse(config.get("isAllBrowserMode"));
            //if (isInitRun) initRec();
            try {
                //Width = int.Parse(config.get("Width"));
                //Height = int.Parse(config.get("Height"));
                Width  = 492;
                Height = 201;
            } catch (Exception e) {
                util.debugWriteLine(e.Message + " " + e.StackTrace + " " + e.Source + " " + e.TargetSite);
            }
            try {
                var x = config.get("X");
                var y = config.get("Y");
                if (x != "" && y != "")
                {
                    StartPosition = FormStartPosition.Manual;
                    Location      = new Point(int.Parse(x), int.Parse(y));
                }
            } catch (Exception e) {
                util.debugWriteLine(e.Message + " " + e.StackTrace + " " + e.Source + " " + e.TargetSite);
                StartPosition = FormStartPosition.WindowsDefaultLocation;
            }

            setBackColor(Color.FromArgb(int.Parse(config.get("recBackColor"))));
            setForeColor(Color.FromArgb(int.Parse(config.get("recForeColor"))));

            if (bool.Parse(config.get("Isminimized")))
            {
                WindowState = FormWindowState.Minimized;
                if (bool.Parse(config.get("IsMinimizeNotify")))
                {
                    Visible       = false;
                    ShowInTaskbar = false;
                }
            }

            var qr  = config.get("qualityRank").Split(',').ToList();
            var qrD = config.defaultConfig["qualityRank"].Split(',');
            if (qr.Count != qrD.Length)
            {
                foreach (var q in qrD)
                {
                    if (qr.IndexOf(q) == -1)
                    {
                        qr.Add(q);
                    }
                }
            }
            config.set("qualityRank", string.Join(",", qr.ToArray()));
        }
        void okBtn_Click(object sender, EventArgs e)
        {
            var startType     = (isStartTimeRadioBtn.Checked || isMostStartTimeRadioBtn.Checked) ? 0 : 1;
            var startTimeMode = (isMostStartTimeRadioBtn.Checked ? 0 :((isStartTimeRadioBtn.Checked) ? 1 : 2));
            var endTimeMode   = isEndTimeRadioBtn.Checked ? 0 : 1;

            var _h = (startType == 0) ? hText.Text : lastFileTime[0];
            var _m = (startType == 0) ? mText.Text : lastFileTime[1];
            var _s = (startType == 0) ? sText.Text : lastFileTime[2];

            if (startTimeMode == 0)
            {
                _h = _m = _s = "0";
            }
            int h, formH;
            int m, formM;
            int s, formS;

            if (!int.TryParse(hText.Text, out formH) ||
                !int.TryParse(mText.Text, out formM) ||
                !int.TryParse(sText.Text, out formS) ||
                !int.TryParse(_h, out h) ||
                !int.TryParse(_m, out m) ||
                !int.TryParse(_s, out s))
            {
                MessageBox.Show("開始時間に数字以外が指定されています");
                return;
            }

            var _endH = endHText.Text;
            var _endM = endMText.Text;
            var _endS = endSText.Text;

            if (endTimeMode == 0)
            {
                _endH = _endM = _endS = "0";
            }
            int endH, formEndH;
            int endM, formEndM;
            int endS, formEndS;

            if (!int.TryParse(endHText.Text, out formEndH) ||
                !int.TryParse(endMText.Text, out formEndM) ||
                !int.TryParse(endSText.Text, out formEndS) ||
                !int.TryParse(_endH, out endH) ||
                !int.TryParse(_endM, out endM) ||
                !int.TryParse(_endS, out endS))
            {
                MessageBox.Show("終了時間に数字以外が指定されています");
                return;
            }

            var timeSeconds    = (startTimeMode == 1) ? (h * 3600 + m * 60 + s) : 0;
            var endTimeSeconds = endH * 3600 + endM * 60 + endS;

            if (endTimeMode == 0)
            {
                endTimeSeconds = 0;
            }
            if (isOpenTimeBaseStartChkBox.Checked)
            {
                timeSeconds += prepTime;
                s           += prepTime;
            }
            if (isOpenTimeBaseEndChkBox.Checked)
            {
                endTimeSeconds += prepTime;
                endS           += prepTime;
            }
            if (endTimeMode == 1 && (endH != 0 || endM != 0 || endS != 0) &&
                endTimeSeconds < timeSeconds)
            {
                MessageBox.Show("終了時間が開始時間より前に設定されています");
                return;
            }

            double updateSecond;

            if (!double.TryParse(updateListSecondText.Text, out updateSecond))
            {
                MessageBox.Show("M3U8の更新間隔に数字以外が指定されています");
                return;
            }
            if (updateSecond <= 0.5)
            {
                MessageBox.Show("M3U8の更新間隔に0.5以下を指定することはできません");
                return;
            }

            /*
             * var isUrlList = isUrlListChkBox.Checked;
             * var openListCommand = openListCommandText.Text;
             * var isM3u8List = isM3u8RadioBtn.Checked;
             * var m3u8UpdateSeconds = updateSecond;
             * var isOpenUrlList = isOpenListCommandChkBox.Checked;
             */
            var isUrlList         = false;
            var openListCommand   = "";
            var isM3u8List        = false;
            var m3u8UpdateSeconds = 5.1;
            var isOpenUrlList     = false;

            ret = new TimeShiftConfig(startType,
                                      h, m, s, endH, endM, endS, isRenketuLastFile.Checked, isUrlList,
                                      openListCommand, isM3u8List, m3u8UpdateSeconds, isOpenUrlList,
                                      isSetVposStartTime.Checked, startTimeMode, endTimeMode,
                                      isAfterStartTimeCommentChkBox.Checked, isBeforeEndTimeCommentChkBox.Checked);

            var l = new List <KeyValuePair <string, string> >();

            l.Add(new KeyValuePair <string, string>("IsUrlList", isUrlList.ToString().ToLower()));
            l.Add(new KeyValuePair <string, string>("IsM3u8List", isM3u8List.ToString().ToLower()));
            l.Add(new KeyValuePair <string, string>("M3u8UpdateSeconds", m3u8UpdateSeconds.ToString()));
            l.Add(new KeyValuePair <string, string>("IsOpenUrlList", isOpenUrlList.ToString().ToLower()));
            l.Add(new KeyValuePair <string, string>("openUrlListCommand", openListCommand));

            l.Add(new KeyValuePair <string, string>("tsStartTimeMode", startTimeMode.ToString()));
            l.Add(new KeyValuePair <string, string>("tsEndTimeMode", endTimeMode.ToString()));
            l.Add(new KeyValuePair <string, string>("tsStartSecond", (formH * 3600 + formM * 60 + formS).ToString()));
            l.Add(new KeyValuePair <string, string>("tsEndSecond", (formEndH * 3600 + formEndM * 60 + formEndS).ToString()));
            l.Add(new KeyValuePair <string, string>("tsIsRenketu", isRenketuLastFile.Checked.ToString().ToLower()));
            l.Add(new KeyValuePair <string, string>("IsVposStartTime", isSetVposStartTime.Checked.ToString().ToLower()));
            if (prepTime > 0)
            {
                l.Add(new KeyValuePair <string, string>("tsBaseOpenTimeStart", isOpenTimeBaseStartChkBox.Checked.ToString().ToLower()));
                l.Add(new KeyValuePair <string, string>("tsBaseOpenTimeEnd", isOpenTimeBaseEndChkBox.Checked.ToString().ToLower()));
            }
            l.Add(new KeyValuePair <string, string>("IsAfterStartTimeComment", isAfterStartTimeCommentChkBox.Checked.ToString().ToLower()));
            l.Add(new KeyValuePair <string, string>("IsBeforeEndTimeComment", isBeforeEndTimeCommentChkBox.Checked.ToString().ToLower()));
            config.set(l);

            /*
             * config.set("IsUrlList", isUrlList.ToString().ToLower());
             * config.set("IsM3u8List", isM3u8List.ToString().ToLower());
             * config.set("M3u8UpdateSeconds", m3u8UpdateSeconds.ToString());
             * config.set("IsOpenUrlList", isOpenUrlList.ToString().ToLower());
             * config.set("openUrlListCommand", openListCommand);
             * config.set("IsVposStartTime", isSetVposStartTime.Checked.ToString().ToLower());
             */
            Close();
        }