From: Vásáry Dániel Date: Thu, 2 Nov 2017 10:19:00 +0000 (+0000) Subject: git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube... X-Git-Url: http://git.useribm.hu/?a=commitdiff_plain;h=73e337e960d9edfa4560865ea333c9fc4be37a40;p=mediacube.git git-tfs-id: [tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C30682 --- diff --git a/client/Maestro/Configuration/configuration-playout.json b/client/Maestro/Configuration/configuration-playout.json index 27f522f0..abf37876 100644 --- a/client/Maestro/Configuration/configuration-playout.json +++ b/client/Maestro/Configuration/configuration-playout.json @@ -1,6 +1,6 @@ { "title": "Adáslebony", - "active": false, + "active": true, "startInTray": true, "enableCustomMetadataId": true, "player": { diff --git a/client/Maestro/MaestroForm.Metadata.cs b/client/Maestro/MaestroForm.Metadata.cs index 3ef28192..94de2c79 100644 --- a/client/Maestro/MaestroForm.Metadata.cs +++ b/client/Maestro/MaestroForm.Metadata.cs @@ -25,7 +25,6 @@ namespace Maestro { private List segments; private MediaCubeApi mediaCubeApi; private ArchiveMetadata archiveMetadata; - private BindingList movieSegments; private static MetadataType[] validTypes = { MetadataType.TrafficAD, MetadataType.TrafficMaterial, MetadataType.TrafficPromo }; private ToolTip ttMetadata = new ToolTip(); @@ -35,7 +34,6 @@ namespace Maestro { } set { selectedMetadata = value; - movieSegments = null; segments = null; textSelectedMetadata.Text = value?.ID; ttMetadata.SetToolTip(textSelectedMetadata, GetMetadataTypeTooltip(value?.Kind)); @@ -127,8 +125,7 @@ namespace Maestro { if (SelectedSource?.FileInfo == null) return; Cursor = Cursors.WaitCursor; - if (movieSegments == null) - movieSegments = GetMovieSegmentsFromSegments(); + BindingList movieSegments = GetEditableSegments(); PlayerForm player = new PlayerForm(ref movieSegments); player.AutoStart = Configuration.Player.AutoStart; player.SegmentEditor = Configuration.Player.SegmentEditor; @@ -139,25 +136,52 @@ namespace Maestro { } private void ConvertMovieSegmentsToSegments(BindingList movieSegments) { - segments = new List(); + if (movieSegments == null || movieSegments.Count == 0) { + segments = null; + return; + } + foreach (MovieSegment actual in movieSegments) { Segment actualSegment = segmentConverter.ConvertToSegment(actual); + if (segments == null) + segments = new List(); segments.Add(actualSegment); } } - private BindingList GetMovieSegmentsFromSegments() { + private BindingList GetEditableSegments() { BindingList result = new BindingList(); - TrafficAPI trafficApi = trafficIDSelector.trafficAPI; - List segments = trafficApi.GetMaterialSegments(selectedMetadata.VariantID); - if (segments != null) + if (segments == null) + segments = GetSegments(); + if (segments != null) { foreach (Segment segment in segments) { MovieSegment movieSegment = segmentConverter.ConvertToMovieSegment(segment); result.Add(movieSegment); } + } return result; } + private List GetSegments() { + List result = null; + switch (selectedMetadata.Kind) { + case MetadataType.TrafficMaterial: { + result = trafficIDSelector.trafficAPI.GetMaterialSegments(selectedMetadata.VariantID); + break; + } + case MetadataType.TrafficPromo: { + result = trafficIDSelector.trafficAPI.GetPromoSegments(selectedMetadata.ID); + break; + } + case MetadataType.TrafficAD: { + result = trafficIDSelector.trafficAPI.GetADSegments(selectedMetadata.ID); + break; + } + } + return result; + } + + private ArchiveMetadata GetArchiveMetadata() { ArchiveMetadata result = null; Cursor.Current = Cursors.WaitCursor; @@ -281,6 +305,7 @@ namespace Maestro { UpdateDefineSegmentEnabled(); UpdateEditArchiveMetadataEnabled(); UpdateLookupMetadataEnabled(); + segments = null; archiveMetadata = null; } diff --git a/client/Maestro/MaestroForm.Source.cs b/client/Maestro/MaestroForm.Source.cs index 75276440..5c7ab370 100644 --- a/client/Maestro/MaestroForm.Source.cs +++ b/client/Maestro/MaestroForm.Source.cs @@ -28,6 +28,8 @@ namespace Maestro { set { selectedSource = value; textSelectedSource.Text = selectedSource.Name; + archiveMetadata = null; + segments = null; UpdateProcessorButtonsEnabled(); UpdateDefineSegmentEnabled(); UpdateEditArchiveMetadataEnabled(); diff --git a/client/Maestro/MaestroForm.Target.cs b/client/Maestro/MaestroForm.Target.cs index 30b3a483..2cba2172 100644 --- a/client/Maestro/MaestroForm.Target.cs +++ b/client/Maestro/MaestroForm.Target.cs @@ -104,43 +104,31 @@ namespace Maestro { return result; } + private bool EnsureSegments(Target target) { if (target.SaveSegments && (segments == null || segments.Count == 0)) { if (selectedMetadata?.VariantID != null && selectedMetadata?.VariantID != 0) - switch (selectedMetadata.Kind) { - case MetadataType.TrafficMaterial: { - segments = trafficIDSelector.trafficAPI.GetMaterialSegments(selectedMetadata.VariantID); - if (segments == null) { - MessageBox.Show(String.Format("A {0} folyamat nem futtatható szegmens adatok nélkül.", target.Label)); - return false; - } - break; - } - case MetadataType.TrafficPromo: { - segments = trafficIDSelector.trafficAPI.GetPromoSegments(selectedMetadata.ID); - if (segments == null) { - MessageBox.Show(String.Format("A {0} folyamat nem futtatható szegmens adatok nélkül.", target.Label)); - return false; - } - if (segments.Count != 1) { - MessageBox.Show(String.Format("A promó anyagnak csak egy szegmens adata lehet.")); - return false; - } - break; + segments = GetSegments(); + if (segments == null) { + MessageBox.Show(String.Format("A {0} folyamat nem futtatható szegmens adatok nélkül.", target.Label)); + return false; + } + switch (selectedMetadata.Kind) { + case MetadataType.TrafficPromo: { + if (segments.Count != 1) { + MessageBox.Show(String.Format("Promó anyagnak csak egy szegmens adata lehet.")); + return false; } - case MetadataType.TrafficAD: { - segments = trafficIDSelector.trafficAPI.GetADSegments(selectedMetadata.ID); - if (segments == null) { - MessageBox.Show(String.Format("A {0} folyamat nem futtatható szegmens adatok nélkül.", target.Label)); - return false; - } - if (segments.Count != 1) { - MessageBox.Show(String.Format("A reklám anyagnak csak egy szegmens adata lehet.")); - return false; - } - break; + break; + } + case MetadataType.TrafficAD: { + if (segments.Count != 1) { + MessageBox.Show(String.Format("Reklám anyagnak csak egy szegmens adata lehet.")); + return false; } - } + break; + } + } } return true; } diff --git a/client/PlanAIRClient/Workers/SegmentWorker.cs b/client/PlanAIRClient/Workers/SegmentWorker.cs index ab934c4d..22c75227 100644 --- a/client/PlanAIRClient/Workers/SegmentWorker.cs +++ b/client/PlanAIRClient/Workers/SegmentWorker.cs @@ -201,7 +201,9 @@ namespace TrafficClient.Workers { result = new List(); clIFsp_EC_MAMPromotionalResult item = cliFSPReader.ToclIFsp_MAMPromotionalResult(reader); - result.Add(ToSegment(item)); + Segment segment = ToSegment(item); + if (segment.TCOut != 0) + result.Add(segment); } } } @@ -230,7 +232,9 @@ namespace TrafficClient.Workers { if (result == null) result = new List(); clIFsp_EC_MAMAdvertismentResult item = cliFSPReader.ToclIFsp_MAMAdvertisementResult(reader); - result.Add(ToSegment(item)); + Segment segment = ToSegment(item); + if (segment.TCOut != 0) + result.Add(segment); } } }