public TimingsAdjustDialog () : base(gladeFilename){ timingMode = Base.TimingMode; SetSpinButtons(); UpdateForTimingMode(); SetApplyToSelectionSensitivity(); SetSelectionType(); }
/// <summary>Creates a new instance of the <see cref="FileProperties" /> class, given its properties.</summary> /// <param name="path">The file's path.</param> /// <param name="encoding">The file's character coding.</param> /// <param name="subtitleType">The file's subtitle type.</param> /// <param name="timingMode">The file's timing mode. This is more useful for the subtitle types that support both the time and frame modes.</param> /// <param name="newlineType">The file's newline type.</param> public FileProperties (string path, Encoding encoding, SubtitleType subtitleType, TimingMode timingMode, NewlineType newlineType) { this.path = path; this.encoding = encoding; this.subtitleType = subtitleType; this.timingMode = timingMode; this.newlineType = newlineType; }
public TimingsSynchronizeDialog () : base(gladeFilename, true){ this.timingMode = Base.TimingMode; CreateColumns(); SetModel(); InitWidgetSensitivity(); ConnectHandlers(); UpdateStatusMessage(); }
/// <summary>Parses the specified text.</summary> /// <remarks>The created <see cref="SubtitleCollection" /> will have its <see cref="SubtitleProperties" /> property set to null. /// It is mandatory to use <see cref="SubtitleCollection.SetPropertiesForAll" /> after.</remarks> internal ParsingProperties Parse (string text, TimingMode timingMode, Encoding encoding, out SubtitleCollection collection) { collection = new SubtitleCollection(); ParsingProperties properties = new ParsingProperties(); this.text = text; properties.TimingMode = timingMode; /* Read the subtitles */ ReadSubtitles(encoding, properties, collection); return properties; }
private void UpdateFromTimingMode (TimingMode newTimingMode, bool initializing) { if ((!initializing) && (newTimingMode == timingMode)) return; timingMode = newTimingMode; Core.Util.SetSpinButtonTimingMode(spinButton, timingMode); Core.Util.SetSpinButtonMaxAdjustment(spinButton, timingMode, true); string label = (timingMode == TimingMode.Times ? Catalog.GetString("Time") : Catalog.GetString("Frames")); string markup = "<b>" + label + "</b>"; timingModeLabel.Markup = markup; }
/// <summary>Parses the specified text.</summary> /// <remarks>The created <see cref="SubtitleCollection" /> will have its <see cref="SubtitleProperties" /> property set to null. /// It is mandatory to use <see cref="SubtitleCollection.SetPropertiesForAll" /> after.</remarks> internal ParsingProperties Parse(string text, TimingMode timingMode, Encoding encoding, out SubtitleCollection collection) { collection = new SubtitleCollection(); ParsingProperties properties = new ParsingProperties(); this.text = text; properties.TimingMode = timingMode; /* Read the subtitles */ ReadSubtitles(encoding, properties, collection); return(properties); }
// Used when a subtitle format suppports both times and frames private Regex CreateSubtitleRegex(SubtitleFormat format, TimingMode timingMode) { string subtitleInExpression; if (timingMode == TimingMode.Times) { subtitleInExpression = format.SubtitleInTimesMode + @"\s*"; //Ignore spaces between subtitles } else { subtitleInExpression = format.SubtitleInFramesMode + @"\s*"; //Ignore spaces between subtitles } return(new Regex(subtitleInExpression, RegexOptions.IgnoreCase)); }
public void Init(ushort address = 0x0000, bool endOnHalt = false, TimingMode timingMode = TimingMode.FastAndFurious) { if (!_running) { EndOnHalt = endOnHalt; // if set, will summarily end execution at the first HALT instruction. This is mostly for test / debug scenarios. TimingMode = timingMode; _realTime = (timingMode == TimingMode.PseudoRealTime); _emulatedTStates = 0; DisableInterrupts(); Registers.PC = address; // ordinarily, execution will start at 0x0000, but this can be overridden } }
/// <summary> /// Creates the instance and initializes it from given xml element. /// Content of xml element is always validated against the xml schema. /// </summary> /// <param name="elem">Xml data containing settings</param> public PulseGeneratorSettings(XElement elem) { //Validation ElemValidator validator = new ElemValidator(); Assembly assemblyRCNet = Assembly.GetExecutingAssembly(); validator.AddXsdFromResources(assemblyRCNet, "RCNet.Neural.Data.Generators.PulseGeneratorSettings.xsd"); validator.AddXsdFromResources(assemblyRCNet, "RCNet.RCNetTypes.xsd"); XElement settingsElem = validator.Validate(elem, "rootElem"); //Parsing Signal = double.Parse(settingsElem.Attribute("signal").Value, CultureInfo.InvariantCulture); AvgPeriod = Math.Abs(double.Parse(settingsElem.Attribute("avgPeriod").Value, CultureInfo.InvariantCulture)); Mode = ParseTimingMode(settingsElem.Attribute("mode").Value); return; }
private void SetSpinButtonFromTimingMode () { if (this.timingMode == Base.TimingMode) return; this.timingMode = Base.TimingMode; Core.Util.SetSpinButtonTimingMode(spinButton, timingMode); if (timingMode == TimingMode.Times) { Core.Util.SetSpinButtonAdjustment(spinButton, Base.Ui.Video.Position.Duration, false); SetSpinButtonValue(Base.Ui.Video.Position.CurrentTime.TotalMilliseconds); } else { Core.Util.SetSpinButtonAdjustment(spinButton, Base.Ui.Video.Position.DurationInFrames, false); SetSpinButtonValue(Base.Ui.Video.Position.CurrentFrames); } }
/* Private methods */ private void SetTimingMode(TimingMode mode) { if (mode == timingMode) //Only set if it's not already set { return; } timingMode = mode; if (mode == TimingMode.Frames) { SetFramesMode(); } else { SetTimesMode(); } }
/// <summary>Displays a SaveAs dialog and gets the chosen options as <cref="FileProperties" />.</summary> /// <param name="dialog">The dialog to display.</param> /// <returns>The chosen file properties, or null in case SaveAs was canceled.</returns> private FileProperties ShowSaveAsDialog(FileSaveDialog dialog) { dialog.Show(); bool toSaveAs = dialog.WaitForResponse(); if (!toSaveAs) { return(null); } string path = dialog.Filename; Encoding encoding = Encodings.GetEncoding(dialog.Encoding.CodePage); SubtitleType subtitleType = dialog.SubtitleType; NewlineType newlineType = dialog.NewlineType; TimingMode timingMode = Base.TimingMode; return(new FileProperties(path, encoding, subtitleType, timingMode, newlineType)); }
private void changeTimeMode(TimingMode mode) { /* if (mode == MemorizeDataMgr.Instance.CurrentTimingMode) * return; * * MessageWindow msgWnd = new MessageWindow(); * msgWnd.ShowMessage("切换计时模式,应用需要重新开始,确定要切换吗?", MessageBoxButton.OKCancel, (ok) => * { * MemorizeDataMgr.Instance.Entry.IsPkMode = this.pkModeCheckBox.IsChecked.Value; * MemorizeDataMgr.Instance.Restart(); * this.startStage(); * * this.timeControl.Mode = mode; * this.timeControl.Stop(); * this.timeControl.Start(60); * * MemorizeDataMgr.Instance.CurrentTimingMode = mode; * });*/ }
private void SetSpinButtonFromTimingMode() { if (this.timingMode == Base.TimingMode) { return; } this.timingMode = Base.TimingMode; Core.Util.SetSpinButtonTimingMode(spinButton, timingMode); if (timingMode == TimingMode.Times) { Core.Util.SetSpinButtonAdjustment(spinButton, Base.Ui.Video.Position.Duration, false); SetSpinButtonValue(Base.Ui.Video.Position.CurrentTime.TotalMilliseconds); } else { Core.Util.SetSpinButtonAdjustment(spinButton, Base.Ui.Video.Position.DurationInFrames, false); SetSpinButtonValue(Base.Ui.Video.Position.CurrentFrames); } }
private void UpdateLengthLabel (TimingMode timingMode, TimeSpan length) { if (timingMode == TimingMode.Times) lengthValueLabel.Text = Util.TimeSpanToText(length); else { double frames = (length == TimeSpan.Zero ? 0 : TimingUtil.TimeToFrames(length, player.FrameRate)); lengthValueLabel.Text = Convert.ToInt32(frames).ToString(); } }
private void UpdatePositionLabel (TimingMode timingMode) { string mode = (timingMode == TimingMode.Times ? Catalog.GetString("Time") : Catalog.GetString("Frame")); positionLabel.Markup = "<b>" + mode + "</b>"; }
private void OnBaseTimingModeChanged (TimingMode timingMode) { UpdatePositionLabel(timingMode); UpdatePositionValueLabel(position); TimeSpan length = player.Duration; UpdateLengthLabel(timingMode, length); }
private void FillTimingMode (TimingMode mode) { timingModeValueLabel.Text = mode.ToString(); }
/* Private methods */ private void SetTimingMode (TimingMode mode) { if (mode == timingMode) //Only set if it's not already set return; timingMode = mode; if (mode == TimingMode.Frames) SetFramesMode(); else SetTimesMode(); }
private Subtitles ParsedSubtitlesPlain(string path, Encoding fileEncoding, string text, bool withCharacterNames, TimingMode timingMode, string lineSeparator) { SubtitleCollection collection = null; PlainTextParser plainParser = new PlainTextParser(withCharacterNames, lineSeparator); ParsingProperties parsingProperties = plainParser.Parse(text, timingMode, fileEncoding, out collection); SubtitleProperties subtitleProperties = new SubtitleProperties(parsingProperties); collection.SetPropertiesForAll(subtitleProperties); Subtitles subtitles = new Subtitles(collection, subtitleProperties); CompleteTimingsAfterParsing(subtitles, parsingProperties); fileProperties = new FileProperties(path, fileEncoding, parsingProperties.TimingMode); Logger.Info("[SubtitleFactory] Opened {0} with encoding {1}", path, fileEncoding); return(subtitles); }
private void SetActiveTimingMode (TimingMode mode) { if (mode == TimingMode.Times) SetCheckMenuItemActivity(WidgetNames.ViewTimes, true); else SetCheckMenuItemActivity(WidgetNames.ViewFrames, true); }
// Used when a subtitle format suppports both times and frames private Regex CreateSubtitleRegex(SubtitleFormat format, TimingMode timingMode) { string subtitleInExpression; if (timingMode == TimingMode.Times) subtitleInExpression = format.SubtitleInTimesMode + @"\s*"; //Ignore spaces between subtitles else subtitleInExpression = format.SubtitleInFramesMode + @"\s*"; //Ignore spaces between subtitles return new Regex(subtitleInExpression, RegexOptions.IgnoreCase); }
private void OnBaseTimingModeChanged (TimingMode timingMode) { Refresh(); }
/// <summary>Creates a new instance of the <see cref="FileProperties" /> class, given its properties.</summary> /// <param name="path">The file's path.</param> /// <param name="encoding">The file's character coding.</param> /// <param name="timingMode">The file's timing mode. This is more useful for the subtitle types that support both the time and frame modes.</param> public FileProperties(string path, Encoding encoding, TimingMode timingMode) : this(path, encoding, SubtitleType.Unknown, timingMode) { }
/// <summary>Creates a new instance of the <see cref="FileProperties" /> class, given its properties.</summary> /// <param name="path">The file's path.</param> /// <param name="encoding">The file's character coding.</param> /// <param name="subtitleType">The file's subtitle type.</param> /// <param name="timingMode">The file's timing mode. This is more useful for the subtitle types that support both the time and frame modes.</param> public FileProperties(string path, Encoding encoding, SubtitleType subtitleType, TimingMode timingMode) : this(path, encoding, subtitleType, timingMode, NewlineType.Unknown) { }
/// <summary>Creates a new instance of the <see cref="FileProperties" /> class, given its properties.</summary> /// <param name="path">The file's path.</param> /// <param name="encoding">The file's character coding.</param> /// <param name="subtitleType">The file's subtitle type.</param> /// <param name="timingMode">The file's timing mode. This is more useful for the subtitle types that support both the time and frame modes.</param> /// <param name="newlineType">The file's newline type.</param> public FileProperties(string path, Encoding encoding, SubtitleType subtitleType, TimingMode timingMode, NewlineType newlineType) { this.path = path; this.encoding = encoding; this.subtitleType = subtitleType; this.timingMode = timingMode; this.newlineType = newlineType; }
public static void SetSpinButtonMaxAdjustment (SpinButton spinButton, TimingMode timingMode, bool toNegate) { if (timingMode == TimingMode.Times) SetSpinButtonAdjustment(spinButton, TimeSpan.Zero, toNegate); else SetSpinButtonAdjustment(spinButton, 0, toNegate); }
private void OnBaseTimingModeChanged (TimingMode newTimingMode) { if (timingMode == newTimingMode) return; SetTimingMode(newTimingMode); LoadTimings(); }
/* Methods */ private Gtk.Dialog BuildDialog() { Gtk.Dialog dialog = new Gtk.Dialog(Catalog.GetString("Shift Timings"), Base.Ui.Window, DialogFlags.DestroyWithParent, Util.GetStockLabel("gtk-close"), ResponseType.Cancel, Catalog.GetString("Apply"), ResponseType.Ok); dialog.DefaultResponse = ResponseType.Ok; dialog.DefaultWidth = 1; //Needed otherwise the tip label will be displayed in a single line making the dialog have a huge width Box box = new Box(Orientation.Vertical, WidgetStyles.BoxSpacingLarge); box.BorderWidth = WidgetStyles.BorderWidthMedium; //Timing Mode frame spinButton = new SpinButton(new Adjustment(0, 0, 0, 1, 10, 0), 0, 0); spinButton.WidthChars = Core.Util.SpinButtonTimeWidthChars; spinButton.Alignment = 0.5f; Button clearButton = new Button(Catalog.GetString("Reset")); clearButton.Clicked += OnClear; videoButton = new Button(Catalog.GetString("Set From Video")); videoButton.TooltipText = Catalog.GetString("Sets the shift amount in order for the selected subtitles to start at the current video position."); videoButton.Clicked += OnSetFromVideo; Box timingModeHBox = new Box(Orientation.Horizontal, WidgetStyles.BoxSpacingMedium); timingModeHBox.MarginLeft = WidgetStyles.FrameContentSpacingMedium; timingModeHBox.Add(spinButton); timingModeHBox.Add(clearButton); timingModeHBox.Add(videoButton); Frame timingModeFrame = Util.CreateFrameWithContent(Catalog.GetString("Amount"), timingModeHBox); box.Add(timingModeFrame); //Apply To frame allSubtitlesRadioButton = new RadioButton(DialogStrings.ApplyToAllSubtitles); selectedSubtitlesRadioButton = new RadioButton(allSubtitlesRadioButton, DialogStrings.ApplyToSelection); fromFirstSubtitleToSelectionRadioButton = new RadioButton(allSubtitlesRadioButton, DialogStrings.ApplyToFirstToSelection); fromSelectionToLastSubtitleRadioButton = new RadioButton(allSubtitlesRadioButton, DialogStrings.ApplyToSelectionToLast); Box applyToFrameVBox = new Box(Orientation.Vertical, WidgetStyles.BoxSpacingMedium); applyToFrameVBox.MarginLeft = WidgetStyles.FrameContentSpacingMedium; applyToFrameVBox.Add(allSubtitlesRadioButton); applyToFrameVBox.Add(selectedSubtitlesRadioButton); applyToFrameVBox.Add(fromFirstSubtitleToSelectionRadioButton); applyToFrameVBox.Add(fromSelectionToLastSubtitleRadioButton); Frame applyToFrame = Util.CreateFrameWithContent(Catalog.GetString("Apply To"), applyToFrameVBox); box.Add(applyToFrame); //Tips label Label label = new Label("<small><i>" + Catalog.GetString("Tip: alternatively use Shift + Numpad Plus/Minus to shift timings directly from the main window.") + "</i></small>"); label.UseMarkup = true; label.Wrap = true; box.Add(label); dialog.ContentArea.Add(box); timingMode = Base.TimingMode; UpdateFromTimingMode(); UpdateFromSelection(); UpdateVideoButtonSensitivity(); ConnectEventHandlers(); dialog.ContentArea.ShowAll(); return(dialog); }
public static void SetSpinButtonTimingMode (SpinButton spinButton, TimingMode timingMode) { if (timingMode == TimingMode.Frames) { spinButton.Numeric = true; spinButton.Input -= OnTimeInput; spinButton.Output -= OnTimeOutput; } else { spinButton.Numeric = false; spinButton.Input += OnTimeInput; spinButton.Output += OnTimeOutput; } }
/// <summary>Creates a new instance of the <see cref="FileProperties" /> class, given its properties.</summary> /// <param name="path">The file's path.</param> /// <param name="encoding">The file's character coding.</param> /// <param name="subtitleType">The file's subtitle type.</param> /// <param name="timingMode">The file's timing mode. This is more useful for the subtitle types that support both the time and frame modes.</param> public FileProperties (string path, Encoding encoding, SubtitleType subtitleType, TimingMode timingMode) : this(path, encoding, subtitleType, timingMode, NewlineType.Unknown) { }
private void UpdatePositionLabel(TimingMode timingMode) { string mode = (timingMode == TimingMode.Times ? Catalog.GetString("Time") : Catalog.GetString("Frame")); positionLabel.Markup = "<b>" + mode + "</b>"; }
private void OnBaseTimingModeChanged(TimingMode timingMode) { Refresh(); }
public static void SetSpinButtonTimingMode(SpinButton spinButton, TimingMode timingMode) { SetSpinButtonTimingMode(spinButton, timingMode, 0); }