From d86eae630f797d08ceeacef66f1f2440160ebf3c Mon Sep 17 00:00:00 2001 From: =?utf8?q?V=C3=A1s=C3=A1ry=20D=C3=A1niel?= Date: Wed, 18 Dec 2019 14:28:05 +0000 Subject: [PATCH] git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C31681 --- client/DxPlay/DxPlayer.cs | 4 +++- client/DxPlay/Model/DxPlayModel.cs | 10 +++++++--- client/DxPlay/PlayerForm.cs | 17 +++++++++++------ client/DxPlay/PlayerFormSegments.cs | 2 +- client/DxPlay/Properties/AssemblyInfo.cs | 4 ++-- client/Maestro/Configuration/editor.json | 1 - client/Maestro/MaestroForm.Metadata.cs | 15 +++++++++++---- client/Maestro/MaestroForm.Source.cs | 8 +++++--- client/Maestro/Properties/AssemblyInfo.cs | 4 ++-- client/PlanAIRClient/Properties/AssemblyInfo.cs | 4 ++-- client/PlanAIRClient/TrafficAPI.cs | 2 +- .../Workers/SingleSegmentMaterialWorker.cs | 1 + 12 files changed, 46 insertions(+), 26 deletions(-) diff --git a/client/DxPlay/DxPlayer.cs b/client/DxPlay/DxPlayer.cs index 9e9bc46d..f447898f 100644 --- a/client/DxPlay/DxPlayer.cs +++ b/client/DxPlay/DxPlayer.cs @@ -425,8 +425,10 @@ namespace DxPlay { if (isDisposed) return; logger.Debug("Dispose"); - if (tcWorker != null) + if (tcWorker != null) { tcWorker.CancelAsync(); + } + GC.SuppressFinalize(this); if (State != GraphState.Exiting) { SetState(State = GraphState.Exiting); diff --git a/client/DxPlay/Model/DxPlayModel.cs b/client/DxPlay/Model/DxPlayModel.cs index 0779c0c8..f8be9c13 100644 --- a/client/DxPlay/Model/DxPlayModel.cs +++ b/client/DxPlay/Model/DxPlayModel.cs @@ -36,17 +36,20 @@ namespace DxPlay.Model { this.settings = settings; IsSegmentEditorVisible = true.Equals(settings?.Player?.SegmentEditor); IsMenuVisible = true.Equals(settings?.IsStandalone); + multiSegment = true.Equals(settings?.Metadata?.MultiSegmentEnabled); Segments = new BindingList(); if (settings.Segments != null) { foreach (var segment in settings.Segments) { - if (!segment.IsGhost) - Segments.Add(segment); + IsRedefineSegments = true; + if (!string.IsNullOrEmpty(RedefineSegmentMediaID) && segment.MediaID != RedefineSegmentMediaID) + throw new Exception("Különböző fájlokhoz tartozó szegmensek nem szerkeszthetőek egyszerre!"); + RedefineSegmentMediaID = segment.MediaID; + Segments.Add(segment); } } - multiSegment = true.Equals(settings?.Metadata?.MultiSegmentEnabled); MessageBus.Subscribe(OnMessage); } @@ -86,6 +89,7 @@ namespace DxPlay.Model { public bool IsRedefineSegments { get; set; } + public bool IsRedefineGhostSegment { get; set; } private bool isMenuVisible; public bool IsMenuVisible { diff --git a/client/DxPlay/PlayerForm.cs b/client/DxPlay/PlayerForm.cs index 90b6e09e..9b2d34cd 100644 --- a/client/DxPlay/PlayerForm.cs +++ b/client/DxPlay/PlayerForm.cs @@ -141,6 +141,11 @@ namespace DxPlay { playerControls.Duration.Text = Settings.Resource("LENGTH", Resources.LENGTH); } + private void CloseForm() { + m_play?.Dispose(); + Close(); + } + private void Cueue() { m_play = null; try { @@ -161,7 +166,7 @@ namespace DxPlay { } } catch (Exception ce) { MessageBox.Show("Az állomány nem tölthetõ be: " + ce.Message, "Open Error", MessageBoxButtons.OK, MessageBoxIcon.Error); - Close(); + CloseForm(); } } @@ -173,7 +178,7 @@ namespace DxPlay { } } - public void OpenFile(FileInfo fileInfo, bool redefineSegments) { + public void OpenFile(FileInfo fileInfo, bool redefine) { logger.Debug("Open {0}", fileInfo.FullName); if (m_play != null) @@ -196,7 +201,7 @@ namespace DxPlay { logger.Error(e); } } - model.IsRedefineSegments = redefineSegments; + model.IsRedefineSegments = redefine; //for (int i = 0; i < 100; i++) { @@ -432,7 +437,7 @@ namespace DxPlay { if (m_play != null && m_play.IsFullscreen()) m_play.ToggleFullscreen(); else - Close(); + CloseForm(); result = true; break; case Keys.Left: @@ -568,11 +573,11 @@ namespace DxPlay { private void btnSave_Click(object sender, EventArgs e) { settings.Segments = model.Segments; - Close(); + CloseForm(); } private void btnCancel_Click(object sender, EventArgs e) { - Close(); + CloseForm(); } } } diff --git a/client/DxPlay/PlayerFormSegments.cs b/client/DxPlay/PlayerFormSegments.cs index ef96d18f..47ca1e7c 100644 --- a/client/DxPlay/PlayerFormSegments.cs +++ b/client/DxPlay/PlayerFormSegments.cs @@ -16,7 +16,7 @@ namespace DxPlay { TCOut = new Timecode(framesOut) }; - if (model.IsRedefineSegments) + if (model.IsRedefineSegments || model.IsRedefineGhostSegment) result.MediaID = model.RedefineSegmentMediaID; model.Segments.Add(result); diff --git a/client/DxPlay/Properties/AssemblyInfo.cs b/client/DxPlay/Properties/AssemblyInfo.cs index 3e914ce2..c5457f59 100644 --- a/client/DxPlay/Properties/AssemblyInfo.cs +++ b/client/DxPlay/Properties/AssemblyInfo.cs @@ -26,7 +26,7 @@ using System.Runtime.CompilerServices; // You can specify all the values or you can default the Revision and Build Numbers // by using the '*' as shown below: -[assembly: AssemblyVersion("2.0.8.7")] +[assembly: AssemblyVersion("2.0.8.8")] // // In order to sign your assembly you must specify a key to use. Refer to the @@ -56,5 +56,5 @@ using System.Runtime.CompilerServices; [assembly: AssemblyDelaySign(false)] [assembly: AssemblyKeyFile("")] [assembly: AssemblyKeyName("")] -[assembly: AssemblyFileVersion("2.0.8.7")] +[assembly: AssemblyFileVersion("2.0.8.8")] diff --git a/client/Maestro/Configuration/editor.json b/client/Maestro/Configuration/editor.json index dddcf810..2024a0e4 100644 --- a/client/Maestro/Configuration/editor.json +++ b/client/Maestro/Configuration/editor.json @@ -49,7 +49,6 @@ "outputFormat": "%ID%", "saveSegments": true, "tag": "Adáskész", - "reference": ["Archiválás"], "remote": { "address": "ftp://10.11.1.100/Promise/PROGRAM/TEST", "userName": "editor1", diff --git a/client/Maestro/MaestroForm.Metadata.cs b/client/Maestro/MaestroForm.Metadata.cs index e290c152..e3b0c4a3 100644 --- a/client/Maestro/MaestroForm.Metadata.cs +++ b/client/Maestro/MaestroForm.Metadata.cs @@ -157,9 +157,6 @@ namespace Maestro { if (MovieSegments == null || MovieSegments.Count == 0) MovieSegments = QuerySegments(); - //redifine v nem - UpdateSegmentsAccessibility(); - if (MovieSegments == null) MovieSegments = new BindingList(); bool readOnly = true; @@ -171,11 +168,21 @@ namespace Maestro { readOnly = ArchiveMetadata.ok; } else readOnly = ArchiveMetadata.ok; + + if (readOnly && !SelectedMetadata.IsRedefine) { MsgBox.Warning("Az anyag már el van fogadva, a szegmens módosítás nem lehetséges."); return; } - OpenFile(fileInfo, true, readOnly, !readOnly); + + SelectedMetadata.IsRedefine = true; + redefine = true; + + //redifine v nem + UpdateSegmentsAccessibility(); + + OpenFile(fileInfo, true, redefine); + UpdateDefineSegmentsStatus(); Cursor.Current = Cursors.Default; } diff --git a/client/Maestro/MaestroForm.Source.cs b/client/Maestro/MaestroForm.Source.cs index 020e4f33..32513b5b 100644 --- a/client/Maestro/MaestroForm.Source.cs +++ b/client/Maestro/MaestroForm.Source.cs @@ -122,12 +122,12 @@ namespace Maestro { if (fileSourceItem == null) return; dgSource.Enabled = false; - OpenFile(fileSourceItem.FileInfo, false, false, false); + OpenFile(fileSourceItem.FileInfo, false, false); dgSource.Enabled = true; } } - private void OpenFile(FileInfo fileInfo, bool segmentEditor, bool readOnly, bool redefineSegments) { + private void OpenFile(FileInfo fileInfo, bool segmentEditor, bool redefine) { Cursor = Cursors.WaitCursor; try { string[] extensions = Configuration.Player?.Extensions; @@ -147,9 +147,11 @@ namespace Maestro { Metadata = trafficIDSelector.Parameters.Configuration, Segments = MovieSegments }; - player.OpenFile(fileInfo, redefineSegments); + player.OpenFile(fileInfo, redefine); if (!player.IsDisposed) player.ShowDialog(); + + MovieSegments = player.Settings.Segments; } else { if (segmentEditor) return; diff --git a/client/Maestro/Properties/AssemblyInfo.cs b/client/Maestro/Properties/AssemblyInfo.cs index f6952ada..c29e19c2 100644 --- a/client/Maestro/Properties/AssemblyInfo.cs +++ b/client/Maestro/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.0.9.9")] -[assembly: AssemblyFileVersion("2.0.9.9")] +[assembly: AssemblyVersion("2.1.0.0")] +[assembly: AssemblyFileVersion("2.1.0.0")] diff --git a/client/PlanAIRClient/Properties/AssemblyInfo.cs b/client/PlanAIRClient/Properties/AssemblyInfo.cs index 1068caa6..f1621051 100644 --- a/client/PlanAIRClient/Properties/AssemblyInfo.cs +++ b/client/PlanAIRClient/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ using System.Runtime.InteropServices; // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.9")] -[assembly: AssemblyFileVersion("1.0.0.9")] +[assembly: AssemblyVersion("1.0.1.0")] +[assembly: AssemblyFileVersion("1.0.1.0")] diff --git a/client/PlanAIRClient/TrafficAPI.cs b/client/PlanAIRClient/TrafficAPI.cs index 257871b5..243fa401 100644 --- a/client/PlanAIRClient/TrafficAPI.cs +++ b/client/PlanAIRClient/TrafficAPI.cs @@ -130,7 +130,7 @@ namespace TrafficClient { //ha redefine volt, akkor minden modositott szegmens tartalmazza a fajlnevet //ha define akkor az null, de a masodik szegmensnel mar az elsovel letrehozott fajlnev kell - if (!newSegment && actualSegment.SegID != 0) + if (!newSegment) fileName = actualSegment.MediaID; if (newSegment) { diff --git a/client/PlanAIRClient/Workers/SingleSegmentMaterialWorker.cs b/client/PlanAIRClient/Workers/SingleSegmentMaterialWorker.cs index 02828a0c..ee295355 100644 --- a/client/PlanAIRClient/Workers/SingleSegmentMaterialWorker.cs +++ b/client/PlanAIRClient/Workers/SingleSegmentMaterialWorker.cs @@ -220,6 +220,7 @@ namespace TrafficClient.Workers { } TryConnect(); + using (SqlCommand cmd = CreateCommmad()) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@Operation", SetMaterialOKID); -- 2.54.0