private void UpdatePointsOfType(PhonemeType type) { var points = PointsOfType(type); var projectPoints = ProjectLine.PointsOfType(type, virtuals: false); var phonemes = ProjectLine.Recline.PhonemesOfType(type); for (int i = 0; i < points.Count; i++) { var point = points[i]; var wasEnabled = point.IsEnabled; point.IsEnabled = i < projectPoints.Count; if (point.IsEnabled) { var position = Settings.RealToViewX(projectPoints[i]); point.Position = position; point.Update(PointIsLeft(type, i), phonemes[i / 2].Alias); } else { point.Position = -1; } if (IsEnabled != wasEnabled) { point.FireChanged(); } } }
void Awake() { S = this; line = GetComponent <LineRenderer>(); line.enabled = false; points = new List <Vector3>(); }
private void ResetPointsOfType(PhonemeType type) { ProjectLine.PointsOfType(type, false).Clear(); ProjectLine.ZonesOfType(type).Clear(); PointsOfType(type).Clear(); ZonesOfType(type).Clear(); FirePointsChanged(); }
public Project Read(string location, string reclistName) { var project = new Project(); string[] lines = File.ReadAllLines(location, Encoding.UTF8); project.Options = new Dictionary <string, string>(); project.ProjectLines = new List <ProjectLine>(); int i = 0; /// Совместимость со старыми сейвами без опций if (!lines[0].StartsWith("$")) { project.SetVoicebank(new Voicebank(PathResolver.Current.TryGetDirectoryName(location), lines[0])); i++; } /// Чтение опций for (; lines.Length > i && lines[i].StartsWith("$"); i++) { if (!lines[i].Contains("=")) { continue; } ReadOption(project, lines[i], location); } // TODO: select reclist to import project.SetReclist(ReclistReader.Current.Read(reclistName)); project.ProjectLines = new List <ProjectLine>(); var usedReclines = new List <Recline>(); /// Чтение строк реклиста из проекта for (; i + 3 < lines.Length; i += 4) { var file = lines[i].Replace(".wav", ""); var recline = project.Reclist.GetRecline(file); usedReclines.Add(recline); var projectLine = ProjectLine.Read(recline, lines[i + 1], lines[i + 2], lines[i + 3]); project.AddProjectLine(file, projectLine); } /// Чтение строк реклиста, которых нет в проекте if (project.Reclist != null) { foreach (var recline in project.Reclist.Reclines) { if (!usedReclines.Contains(recline)) { project.ProcessLineAfterRead(ProjectLine.CreateNewFromRecline(recline)); } } } return(project); }
public void AddPoint(double position, PhonemeType type) { position = CheckPosition(position); if (position == -1) { return; } var i = ProjectLine.AddPoint(Settings.ViewToRealX(position), type); if (i == -1) { return; } OnPointAdded(position, type, i); }
public void DeletePoint(double position, PhonemeType type) { position = GetProjectLineContainer().CheckPosition(position); ProjectLine.DeletePoint(Settings.ViewToRealX(position), type); var points = PointsOfType(type); foreach (var point in points) { if (point.Position == position) { points.Remove(point); break; } } FirePointsChanged(); }
public void MovePoint(double position1, double position2, PhonemeType type) { position2 = GetProjectLineContainer().CheckPosition(position2); ProjectLine.MovePoint(Settings.ViewToRealX(position1), Settings.ViewToRealX(position2), type); var points = PointsOfType(type); for (int i = 0; i < points.Count; i++) { if (points[i].Position == position1) { points[i].Position = position2; break; } } FirePointsChanged(); }
private void BuildZones(ObservableCollection <WavZoneViewModel> zones, PhonemeType type) { if (ProjectLine == null) { return; } var points = ProjectLine.PointsOfType(type); zones.Clear(); var kindaWitdh = Width > 0 ? Width : 2000; for (int i = 0; i + 1 < points.Count; i += 2) { var pIn = Settings.RealToViewX(points[i]); var pOut = Settings.RealToViewX(points[i + 1]); zones.Add(new WavZoneViewModel(type, pIn, pOut, kindaWitdh, (int)Height)); } return; }
public ProjectLineContainer(ProjectLine projectLine, ImagesLibrary imagesLibrary, WavPlayer wavPlayer, string sampleName, WavImagesHash hash, int number) { ProjectLine = projectLine; Number = number; this.imagesLibrary = imagesLibrary; this.wavPlayer = wavPlayer; this.hash = hash; if (!string.IsNullOrEmpty(ProjectLine?.Recline?.Description)) { viewName = $"{ProjectLine?.Recline?.Description} [{ProjectLine?.Recline?.Name}]"; } else { viewName = ProjectLine?.Recline?.Name.Replace("_", " "); } WaveForm = new WaveForm(sampleName); IsCompleted = ProjectLine.IsCompleted; IsEnabled = ProjectLine.IsEnabled; }
public void LoadImages(int height) { App.MainDispatcher.Invoke(delegate { IsLoadingImages = true; IsLoadedImages = false; ProjectLine.UpdateEnabled(); if (!ProjectLine.IsEnabled) { FinishImagesLoading(); } }); if (!ProjectLine.IsEnabled) { return; } imagesLibrary.Load(WaveForm, height, hash); }
public async void LoadSpectrum(int height) { IsLoadingImages = true; IsLoadedImages = false; ProjectLine.UpdateEnabled(); if (!ProjectLine.IsEnabled) { FinishImagesLoading(); } else { await Task.Run(() => ExceptionCatcher.Current.CatchOnAction(() => { imagesLibrary.RequestLoadSpectrum(WaveForm, height, hash); })).ContinueWith(delegate { App.MainDispatcher.Invoke(delegate { FinishImagesLoading(); }); }); } }
public MissingProject(Solution solution, ProjectLine project) : base(solution) { Project = project; }
private void ProjectLineGetPreviousAction_Execute(object sender, SimpleActionExecuteEventArgs e) { try { GlobalFunction _globFunc = new GlobalFunction(); IObjectSpace _objectSpace = View is ListView?Application.CreateObjectSpace() : View.ObjectSpace; ArrayList _objectsToProcess = new ArrayList(e.SelectedObjects); DateTime now = DateTime.Now; Session _currSession = null; string _currObjectId = null; ProjectHeader _locProjectHeaderXPO = null; string _locProjectHeaderCode = null; if (this.ObjectSpace != null) { _currSession = ((XPObjectSpace)this.ObjectSpace).Session; } if (_objectsToProcess != null) { foreach (Object obj in _objectsToProcess) { ProjectLine _locProjectLineOS = (ProjectLine)_objectSpace.GetObject(obj); if (_locProjectLineOS != null) { if (_locProjectLineOS.ProjectHeader != null) { if (_locProjectLineOS.ProjectHeader.Code != null) { _locProjectHeaderCode = _locProjectLineOS.ProjectHeader.Code; } } if (_locProjectLineOS.Code != null) { _currObjectId = _locProjectLineOS.Code; ProjectLine _locProjectLineXPO = _currSession.FindObject <ProjectLine> (new GroupOperator(GroupOperatorType.And, new BinaryOperator("Code", _currObjectId))); if (_locProjectLineXPO == null) { if (_locProjectHeaderCode != null) { _locProjectHeaderXPO = _currSession.FindObject <ProjectHeader> (new GroupOperator(GroupOperatorType.And, new BinaryOperator("Code", _locProjectHeaderCode))); } if (_locProjectHeaderXPO != null) { XPCollection <ProjectLine> _numLines = new XPCollection <ProjectLine> (_currSession, new GroupOperator(GroupOperatorType.And, new BinaryOperator("ProjectHeader", _locProjectHeaderXPO)), new SortProperty("No", DevExpress.Xpo.DB.SortingDirection.Ascending)); if (_numLines != null && _numLines.Count > 0) { foreach (ProjectLine _numLine in _numLines) { if (_numLine.No == _numLines.Count()) { _locProjectLineOS.Title = _numLine.Title; _locProjectLineOS.Title2 = _numLine.Title2; _locProjectLineOS.Title3 = _numLine.Title3; } } } } } else { ErrorMessageShow("Data Project Line Not Available"); } } else { ErrorMessageShow("Data Project Line Not Available"); } } } } if (View is DetailView && ((DetailView)View).ViewEditMode == ViewEditMode.View) { _objectSpace.CommitChanges(); _objectSpace.Refresh(); } if (View is ListView) { _objectSpace.CommitChanges(); View.ObjectSpace.Refresh(); } } catch (Exception ex) { Tracing.Tracer.LogError(" BusinessObject = ProjectLine " + ex.ToString()); } }
private void ProjectLineMirrorAction_Execute(object sender, SimpleActionExecuteEventArgs e) { try { GlobalFunction _globFunc = new GlobalFunction(); IObjectSpace _objectSpace = View is ListView?Application.CreateObjectSpace() : View.ObjectSpace; ArrayList _objectsToProcess = new ArrayList(e.SelectedObjects); DateTime now = DateTime.Now; Session _currSession = null; string _currObjectId = null; ProjectHeader _locProjectHeaderXPO = null; string _locProjectHeaderCode = null; if (this.ObjectSpace != null) { _currSession = ((XPObjectSpace)this.ObjectSpace).Session; } if (_objectsToProcess != null) { foreach (Object obj in _objectsToProcess) { ProjectLine _locProjectLineOS = (ProjectLine)_objectSpace.GetObject(obj); if (_locProjectLineOS != null) { if (_locProjectLineOS.ProjectHeader != null) { if (_locProjectLineOS.ProjectHeader.Code != null) { _locProjectHeaderCode = _locProjectLineOS.ProjectHeader.Code; } } if (_locProjectLineOS.Code != null) { if (_locProjectHeaderCode != null) { _locProjectHeaderXPO = _currSession.FindObject <ProjectHeader> (new GroupOperator(GroupOperatorType.And, new BinaryOperator("Code", _locProjectHeaderCode))); if (_locProjectHeaderXPO != null) { _currObjectId = _locProjectLineOS.Code; ProjectLine _locProjectLineXPO = _currSession.FindObject <ProjectLine> (new GroupOperator(GroupOperatorType.And, new BinaryOperator("Code", _currObjectId), new BinaryOperator("ProjectHeader", _locProjectHeaderXPO))); if (_locProjectLineXPO != null) { XPCollection <ProjectLineItem> _numProjectLineItems = new XPCollection <ProjectLineItem> (_currSession, new GroupOperator(GroupOperatorType.And, new BinaryOperator("ProjectHeader", _locProjectHeaderXPO), new BinaryOperator("ProjectLine", _locProjectLineXPO)), new SortProperty("No", DevExpress.Xpo.DB.SortingDirection.Ascending)); if (_numProjectLineItems != null && _numProjectLineItems.Count > 0) { foreach (ProjectLineItem _numProjectLineItem in _numProjectLineItems) { if (_numProjectLineItem.Item != null && (_numProjectLineItem.Status == Status.Open || _numProjectLineItem.Status == Status.Progress || _numProjectLineItem.Status == Status.Lock)) { #region Mirror ProjectLineItem2 XPCollection <ItemComponent> _locItemComponents = new XPCollection <ItemComponent>(_currSession, new GroupOperator(GroupOperatorType.And, new BinaryOperator("Item", _numProjectLineItem.Item), new BinaryOperator("Active", true))); if (_locItemComponents != null && _locItemComponents.Count > 0) { foreach (ItemComponent _locItemComponent in _locItemComponents) { ProjectLineItem2 _locProjectLineItem2 = _currSession.FindObject <ProjectLineItem2>( new GroupOperator(GroupOperatorType.And, new BinaryOperator("ProjectHeader", _locProjectHeaderXPO), new BinaryOperator("ProjectLine", _locProjectLineXPO), new BinaryOperator("ProjectLineItem", _numProjectLineItem), new BinaryOperator("Item", _locItemComponent.ItemComp) )); if (_locProjectLineItem2 == null) { if (_numProjectLineItem.Item == _locItemComponent.ItemComp) { ProjectLineItem2 _saveDataPLI2 = new ProjectLineItem2(_currSession) { Item = _numProjectLineItem.Item, DUOM = _numProjectLineItem.DUOM, DQty = _numProjectLineItem.DQty, TQty = _numProjectLineItem.TQty, ProjectHeader = _locProjectHeaderXPO, ProjectLine = _locProjectLineXPO, ProjectLineItem = _numProjectLineItem }; _saveDataPLI2.Save(); _saveDataPLI2.Session.CommitTransaction(); } else { ProjectLineItem2 _saveDataPLI2 = new ProjectLineItem2(_currSession) { Item = _locItemComponent.ItemComp, DUOM = _locItemComponent.UOM, DQty = _locItemComponent.Qty, ProjectHeader = _locProjectHeaderXPO, ProjectLine = _locProjectLineXPO, ProjectLineItem = _numProjectLineItem }; _saveDataPLI2.Save(); _saveDataPLI2.Session.CommitTransaction(); } } } } else { ProjectLineItem2 _locProjectLineItem2 = _currSession.FindObject <ProjectLineItem2>( new GroupOperator(GroupOperatorType.And, new BinaryOperator("ProjectHeader", _locProjectHeaderXPO), new BinaryOperator("ProjectLine", _locProjectLineXPO), new BinaryOperator("ProjectLineItem", _numProjectLineItem), new BinaryOperator("Item", _numProjectLineItem.Item) )); if (_locProjectLineItem2 != null) { _locProjectLineItem2.Name = _numProjectLineItem.Name; _locProjectLineItem2.Item = _numProjectLineItem.Item; _locProjectLineItem2.DQty = _numProjectLineItem.DQty; _locProjectLineItem2.DUOM = _numProjectLineItem.DUOM; _locProjectLineItem2.Qty = _numProjectLineItem.Qty; _locProjectLineItem2.UOM = _numProjectLineItem.UOM; _locProjectLineItem2.TQty = _numProjectLineItem.TQty; _locProjectLineItem2.Description = _numProjectLineItem.Description; _locProjectLineItem2.ProjectHeader = _locProjectHeaderXPO; _locProjectLineItem2.ProjectLine = _locProjectLineXPO; _locProjectLineItem2.Save(); _locProjectLineItem2.Session.CommitTransaction(); } else { ProjectLineItem2 _saveDataPLI2 = new ProjectLineItem2(_currSession) { Item = _numProjectLineItem.Item, DUOM = _numProjectLineItem.DUOM, DQty = _numProjectLineItem.DQty, Qty = _numProjectLineItem.Qty, UOM = _numProjectLineItem.UOM, TQty = _numProjectLineItem.TQty, ProjectHeader = _locProjectHeaderXPO, ProjectLine = _locProjectLineXPO, ProjectLineItem = _numProjectLineItem }; _saveDataPLI2.Save(); _saveDataPLI2.Session.CommitTransaction(); } } #endregion Mirror ProjectLineItem2 #region Mirror ProjectLineServices ProjectLineService _locProjectLineService = _currSession.FindObject <ProjectLineService> (new GroupOperator(GroupOperatorType.And, new BinaryOperator("ProjectHeader", _locProjectHeaderXPO), new BinaryOperator("ProjectLine", _locProjectLineXPO), new BinaryOperator("ProjectLineItem", _numProjectLineItem))); if (_locProjectLineService != null) { _locProjectLineService.Qty = _numProjectLineItem.TQty; _locProjectLineService.UOM = _numProjectLineItem.DUOM; _locProjectLineService.ProjectHeader = _locProjectHeaderXPO; _locProjectLineService.ProjectLine = _locProjectLineXPO; _locProjectLineService.ProjectLineItem = _numProjectLineItem; } if (_locProjectLineService == null) { ProjectLineService _saveDataPLS = new ProjectLineService(_currSession) { Qty = _numProjectLineItem.TQty, UOM = _numProjectLineItem.DUOM, ProjectHeader = _locProjectHeaderXPO, ProjectLine = _locProjectLineXPO, ProjectLineItem = _numProjectLineItem }; _saveDataPLS.Save(); _saveDataPLS.Session.CommitTransaction(); } #endregion Mirror ProjectLineServices } } } } SuccessMessageShow("Project Line Item Has Successfully Mirror to Project Line Item 2"); } } else { ErrorMessageShow("Data Project Line Not Available"); } } else { ErrorMessageShow("Data Project Line Not Available"); } } } } if (View is DetailView && ((DetailView)View).ViewEditMode == ViewEditMode.View) { _objectSpace.CommitChanges(); _objectSpace.Refresh(); } if (View is ListView) { _objectSpace.CommitChanges(); View.ObjectSpace.Refresh(); } } catch (Exception ex) { Tracing.Tracer.LogError(" BusinessObject = ProjectLine " + ex.ToString()); } }
public override string ToString() { return($"ProjectLineContainer {ProjectLine?.ToString()}"); }