private void perform() { FFmpeg.init(); using (PlayListWin f = new PlayListWin()) { f.ShowDialog(); } }
private void main2() { // set Gnd.i.mediaDir { string dir = Environment.GetEnvironmentVariable("TMP"); if (dir == null || dir == "" || Directory.Exists(dir) == false) { throw new Exception("Wrong TMP env"); } Gnd.i.mediaDir = Path.Combine(dir, Consts.MEDIA_DIR_ID); } FileTools.deletePath(Gnd.i.mediaDir); Directory.CreateDirectory(Gnd.i.mediaDir); Gnd.i.ffmpge = new FFmpeg(); Gnd.i.wavMaster = new WavMaster(); Gnd.i.monitors = new Monitors(); BusyDlg.perform(delegate { // スクリーン_既に起動しているかチェック { using (Nectar2.Recver recver = new Nectar2.Recver(Consts.N2_RECV_IDENT)) { Thread.Sleep(2000); // 受信待ち。 if (recver.recv() != null) // ? 何かを受信した。== 既に起動している。-> 停止する。 { using (Nectar2.Sender sender = new Nectar2.Sender(Consts.N2_SEND_IDENT)) { sender.send(new byte[] { 0x58, 0x00 }); // send "X" Thread.Sleep(5000); // 送信完了待ち。+ スクリーンが完全に終了するまで待つ。 } } } } }); Gnd.i.bootScreen(); // スクリーン_起動 using (PlayListWin f = new PlayListWin()) { f.ShowDialog(); } }
private void perform() { Gnd.i.ffmpeg = new FFmpeg(); Gnd.i.wavMaster = new WavMaster(); Gnd.i.monitors = new Monitors(); if (Gnd.i.screen_w == -1) { Monitors.Monitor m = Gnd.i.monitors.get(0); if (800 < m.w && 600 < m.h) { Gnd.i.screen_w = (m.w / 4) * 3; Gnd.i.screen_h = (m.h / 4) * 3; Gnd.i.screen_l = m.l + (m.w - Gnd.i.screen_w) / 2; Gnd.i.screen_t = m.t + (m.h - Gnd.i.screen_h) / 2; } } // set Gnd.i.mediaDir { string dir = Environment.GetEnvironmentVariable("TMP"); if (dir == null || dir == "" || Directory.Exists(dir) == false) { throw new Exception("Wrong TMP env"); } Gnd.i.mediaDir = Path.Combine(dir, Consts.MEDIA_DIR_ID); } FileTools.deletePath(Gnd.i.mediaDir); Directory.CreateDirectory(Gnd.i.mediaDir); // スクリーン_既に起動しているかチェック { using (Nectar2.Recver recver = new Nectar2.Recver(Consts.N2_RECV_IDENT)) { Thread.Sleep(2000); // 受信待ち。 if (recver.recv() != null) // ? 何かを受信した。== 既に起動している。-> 停止する。 { using (Nectar2.Sender sender = new Nectar2.Sender(Consts.N2_SEND_IDENT)) { sender.send(new byte[] { 0x58, 0x00 }); // send "X" Thread.Sleep(5000); // 送信完了待ち。+ スクリーンが完全に終了するまで待つ。 } } } } Gnd.i.bootScreen(); // スクリーン_起動 this.Visible = false; using (PlayListWin f = new PlayListWin()) { f.ShowDialog(); } this.BackColor = Color.FromArgb(50, 50, 50); this.Visible = true; Application.DoEvents(); Thread.Sleep(500); // 一瞬で消えるとキモいので、ちょっと待つ。 // この時点でスクリーンは終了していると想定する! FileTools.deletePath(Gnd.i.mediaDir); }