void DoOpenFiles(string[] files) { var delay = TimeSpan.Zero; if (files.Length > 1) { // multiselect! var fof = new FileOrderingForm(files); if (fof.ShowDialog(this) != DialogResult.OK) { return; } files = fof.FileOrder.ToArray(); delay = TimeSpan.FromSeconds(fof.SecondsBetweenFiles); } var streams = files.Select(f => File.OpenRead(f) as Stream); var oldc = Cursor; Cursor = Cursors.WaitCursor; using ( Decoder ) {} Cursor = oldc; Decoder = null; Decoder = new TtyRecKeyframeDecoder(Configuration.Main.LogicalConsoleSizeW, Configuration.Main.LogicalConsoleSizeH, streams, delay); PlaybackSpeed = +1; Seek = TimeSpan.Zero; }
protected override void OnKeyDown(KeyEventArgs e) { bool resize = (WindowState == FormWindowState.Normal) && (ClientSize == ActiveSize); switch (e.KeyData) { case Keys.Escape: using ( Decoder ) {} Decoder = null; break; case Keys.Control | Keys.C: Reconfigure(); break; case Keys.Control | Keys.O: OpenFile(); break; case Keys.Alt | Keys.Enter: if (FormBorderStyle == FormBorderStyle.None) { FormBorderStyle = FormBorderStyle.Sizable; WindowState = FormWindowState.Normal; } else { FormBorderStyle = FormBorderStyle.None; WindowState = FormWindowState.Maximized; } e.SuppressKeyPress = true; // also supresses annoying dings break; case Keys.Z: PlaybackSpeed = -100; break; case Keys.X: PlaybackSpeed = -10; break; case Keys.C: PlaybackSpeed = -1; break; case Keys.V: PlaybackSpeed = 0; break; case Keys.B: PlaybackSpeed = +1; break; case Keys.N: PlaybackSpeed = +10; break; case Keys.M: PlaybackSpeed = +100; break; case Keys.A: ++Zoom; if (resize) { ClientSize = ActiveSize; } break; case Keys.S: if (Zoom > 1) { --Zoom; } if (resize) { ClientSize = ActiveSize; } break; } base.OnKeyDown(e); }
private async void DownloadTTyRec(object sender, EventArgs e) { await playerSearch.DownloadFileAsync(sender, e); var streams = TtyrecToStream(playerSearch.TtyrecStreamDictionary); var delay = TimeSpan.Zero; ttyrecDecoder = new TtyRecKeyframeDecoder(80, 24, streams, delay, MaxDelayBetweenPackets); ttyrecDecoder.PlaybackSpeed = +1; ttyrecDecoder.SeekTime = TimeSpan.Zero; }
void DoOpenFiles(string[] files) { var delay = TimeSpan.Zero; //if (files.Length > 1) //{ // // multiselect! // var fof = new FileOrderingForm(files); // if (fof.ShowDialog(this) != DialogResult.OK) return; // files = fof.FileOrder.ToArray(); // delay = TimeSpan.FromSeconds(fof.SecondsBetweenFiles); //} var streams = ttyrecToStream(files); var oldc = Cursor; Decoder = new TtyRecKeyframeDecoder(80, 24, streams, delay); PlaybackSpeed = +1; Seek = TimeSpan.Zero; }
protected override void OnKeyDown(KeyEventArgs e) { // bool resize = (WindowState == FormWindowState.Normal) && (ClientSize == ActiveSize); switch (e.KeyData) { case Keys.Escape: using (Decoder) { } Decoder = null; break; //case Keys.Control | Keys.C: Reconfigure(); break; case Keys.Control | Keys.O: OpenFile(); break; case Keys.Alt | Keys.Enter: if (FormBorderStyle == FormBorderStyle.None) { FormBorderStyle = FormBorderStyle.Sizable; WindowState = FormWindowState.Normal; } else { FormBorderStyle = FormBorderStyle.None; WindowState = FormWindowState.Maximized; } e.SuppressKeyPress = true; // also supresses annoying dings break; case Keys.Z: PlaybackSpeed = -100; break; case Keys.X: PlaybackSpeed = -10; break; case Keys.C: PlaybackSpeed = -1; break; case Keys.B: PlaybackSpeed = +1; break; case Keys.N: PlaybackSpeed = +10; break; case Keys.M: PlaybackSpeed += +100; break; case Keys.F: PlaybackSpeed = PlaybackSpeed - 1; break; //progresive increase/decrease case Keys.G: PlaybackSpeed = PlaybackSpeed + 1; break; case Keys.D: PlaybackSpeed = PlaybackSpeed - 0.2; break; //progresive increase/decrease case Keys.H: PlaybackSpeed = PlaybackSpeed + 0.2; break; case Keys.V: //Play / Pause case Keys.Space: if (PlaybackSpeed != 0) { PausedSpeed = PlaybackSpeed; PlaybackSpeed = 0; } else { PlaybackSpeed = PausedSpeed; } break; // case Keys.A: ++Zoom; if (resize) ClientSize = ActiveSize; break; // case Keys.S: if (Zoom > 1) --Zoom; if (resize) ClientSize = ActiveSize; break; } base.OnKeyDown(e); }