git-tfs-id: [http://tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube...
authorVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Thu, 2 Nov 2017 10:19:00 +0000 (10:19 +0000)
committerVásáry Dániel <daniel.vasary@userrendszerhaz.hu>
Thu, 2 Nov 2017 10:19:00 +0000 (10:19 +0000)
client/Maestro/Configuration/configuration-playout.json
client/Maestro/MaestroForm.Metadata.cs
client/Maestro/MaestroForm.Source.cs
client/Maestro/MaestroForm.Target.cs
client/PlanAIRClient/Workers/SegmentWorker.cs

index 27f522f044a3c6200212f3e96115f416ec439ec5..abf37876fcd3288f9530bf2444a12837d958be55 100644 (file)
@@ -1,6 +1,6 @@
 {\r
   "title": "Adáslebony",\r
-  "active": false,\r
+  "active": true,\r
   "startInTray": true,\r
   "enableCustomMetadataId": true,\r
   "player": {\r
index 3ef28192cab33d9396a375d059826b3603f18a63..94de2c79d4b83d4c6edcd91b4e660a773d1ea26b 100644 (file)
@@ -25,7 +25,6 @@ namespace Maestro {
         private List<Segment> segments;\r
         private MediaCubeApi mediaCubeApi;\r
         private ArchiveMetadata archiveMetadata;\r
-        private BindingList<MovieSegment> movieSegments;\r
         private static MetadataType[] validTypes = { MetadataType.TrafficAD, MetadataType.TrafficMaterial, MetadataType.TrafficPromo };\r
         private ToolTip ttMetadata = new ToolTip();\r
 \r
@@ -35,7 +34,6 @@ namespace Maestro {
             }\r
             set {\r
                 selectedMetadata = value;\r
-                movieSegments = null;\r
                 segments = null;\r
                 textSelectedMetadata.Text = value?.ID;\r
                 ttMetadata.SetToolTip(textSelectedMetadata, GetMetadataTypeTooltip(value?.Kind));\r
@@ -127,8 +125,7 @@ namespace Maestro {
             if (SelectedSource?.FileInfo == null)\r
                 return;\r
             Cursor = Cursors.WaitCursor;\r
-            if (movieSegments == null)\r
-                movieSegments = GetMovieSegmentsFromSegments();\r
+            BindingList<MovieSegment> movieSegments = GetEditableSegments();\r
             PlayerForm player = new PlayerForm(ref movieSegments);\r
             player.AutoStart = Configuration.Player.AutoStart;\r
             player.SegmentEditor = Configuration.Player.SegmentEditor;\r
@@ -139,25 +136,52 @@ namespace Maestro {
         }\r
 \r
         private void ConvertMovieSegmentsToSegments(BindingList<MovieSegment> movieSegments) {\r
-            segments = new List<Segment>();\r
+            if (movieSegments == null || movieSegments.Count == 0) {\r
+                segments = null;\r
+                return;\r
+            }\r
+\r
             foreach (MovieSegment actual in movieSegments) {\r
                 Segment actualSegment = segmentConverter.ConvertToSegment(actual);\r
+                if (segments == null)\r
+                    segments = new List<Segment>();\r
                 segments.Add(actualSegment);\r
             }\r
         }\r
 \r
-        private BindingList<MovieSegment> GetMovieSegmentsFromSegments() {\r
+        private BindingList<MovieSegment> GetEditableSegments() {\r
             BindingList<MovieSegment> result = new BindingList<MovieSegment>();\r
-            TrafficAPI trafficApi = trafficIDSelector.trafficAPI;\r
-            List<Segment> segments = trafficApi.GetMaterialSegments(selectedMetadata.VariantID);\r
-            if (segments != null)\r
+            if (segments == null)\r
+                segments = GetSegments();\r
+            if (segments != null) {\r
                 foreach (Segment segment in segments) {\r
                     MovieSegment movieSegment = segmentConverter.ConvertToMovieSegment(segment);\r
                     result.Add(movieSegment);\r
                 }\r
+            }\r
             return result;\r
         }\r
 \r
+        private List<Segment> GetSegments() {\r
+            List<Segment> result = null;\r
+            switch (selectedMetadata.Kind) {\r
+                case MetadataType.TrafficMaterial: {\r
+                        result = trafficIDSelector.trafficAPI.GetMaterialSegments(selectedMetadata.VariantID);\r
+                        break;\r
+                    }\r
+                case MetadataType.TrafficPromo: {\r
+                        result = trafficIDSelector.trafficAPI.GetPromoSegments(selectedMetadata.ID);\r
+                        break;\r
+                    }\r
+                case MetadataType.TrafficAD: {\r
+                        result = trafficIDSelector.trafficAPI.GetADSegments(selectedMetadata.ID);\r
+                        break;\r
+                    }\r
+            }\r
+            return result;\r
+        }\r
+\r
+\r
         private ArchiveMetadata GetArchiveMetadata() {\r
             ArchiveMetadata result = null;\r
             Cursor.Current = Cursors.WaitCursor;\r
@@ -281,6 +305,7 @@ namespace Maestro {
             UpdateDefineSegmentEnabled();\r
             UpdateEditArchiveMetadataEnabled();\r
             UpdateLookupMetadataEnabled();\r
+            segments = null;\r
             archiveMetadata = null;\r
         }\r
 \r
index 75276440557530e3197f1c3a2d482b90bf8a3b67..5c7ab37099e46537aa79333a14f12d0169323f61 100644 (file)
@@ -28,6 +28,8 @@ namespace Maestro {
             set {\r
                 selectedSource = value;\r
                 textSelectedSource.Text = selectedSource.Name;\r
+                archiveMetadata = null;\r
+                segments = null;\r
                 UpdateProcessorButtonsEnabled();\r
                 UpdateDefineSegmentEnabled();\r
                 UpdateEditArchiveMetadataEnabled();\r
index 30b3a483ed46231f60c6ec80767692e1086bab03..2cba2172887b5071ff80d1fec6cf960b098b1a0f 100644 (file)
@@ -104,43 +104,31 @@ namespace Maestro {
             return result;\r
         }\r
 \r
+\r
         private bool EnsureSegments(Target target) {\r
             if (target.SaveSegments && (segments == null || segments.Count == 0)) {\r
                 if (selectedMetadata?.VariantID != null && selectedMetadata?.VariantID != 0)\r
-                    switch (selectedMetadata.Kind) {\r
-                        case MetadataType.TrafficMaterial: {\r
-                                segments = trafficIDSelector.trafficAPI.GetMaterialSegments(selectedMetadata.VariantID);\r
-                                if (segments == null) {\r
-                                    MessageBox.Show(String.Format("A {0} folyamat nem futtatható szegmens adatok nélkül.", target.Label));\r
-                                    return false;\r
-                                }\r
-                                break;\r
-                            }\r
-                        case MetadataType.TrafficPromo: {\r
-                                segments = trafficIDSelector.trafficAPI.GetPromoSegments(selectedMetadata.ID);\r
-                                if (segments == null) {\r
-                                    MessageBox.Show(String.Format("A {0} folyamat nem futtatható szegmens adatok nélkül.", target.Label));\r
-                                    return false;\r
-                                }\r
-                                if (segments.Count != 1) {\r
-                                    MessageBox.Show(String.Format("A promó anyagnak csak egy szegmens adata lehet."));\r
-                                    return false;\r
-                                }\r
-                                break;\r
+                    segments = GetSegments();\r
+                if (segments == null) {\r
+                    MessageBox.Show(String.Format("A {0} folyamat nem futtatható szegmens adatok nélkül.", target.Label));\r
+                    return false;\r
+                }\r
+                switch (selectedMetadata.Kind) {\r
+                    case MetadataType.TrafficPromo: {\r
+                            if (segments.Count != 1) {\r
+                                MessageBox.Show(String.Format("Promó anyagnak csak egy szegmens adata lehet."));\r
+                                return false;\r
                             }\r
-                        case MetadataType.TrafficAD: {\r
-                                segments = trafficIDSelector.trafficAPI.GetADSegments(selectedMetadata.ID);\r
-                                if (segments == null) {\r
-                                    MessageBox.Show(String.Format("A {0} folyamat nem futtatható szegmens adatok nélkül.", target.Label));\r
-                                    return false;\r
-                                }\r
-                                if (segments.Count != 1) {\r
-                                    MessageBox.Show(String.Format("A reklám anyagnak csak egy szegmens adata lehet."));\r
-                                    return false;\r
-                                }\r
-                                break;\r
+                            break;\r
+                        }\r
+                    case MetadataType.TrafficAD: {\r
+                            if (segments.Count != 1) {\r
+                                MessageBox.Show(String.Format("Reklám anyagnak csak egy szegmens adata lehet."));\r
+                                return false;\r
                             }\r
-                    }\r
+                            break;\r
+                        }\r
+                }\r
             }\r
             return true;\r
         }\r
index ab934c4dc2863710d451da7a0ca5017a487fe58c..22c75227de12ccb7f2d66eee11eb5433baf033d2 100644 (file)
@@ -201,7 +201,9 @@ namespace TrafficClient.Workers {
                                 result = new List<Segment>();\r
 \r
                             clIFsp_EC_MAMPromotionalResult item = cliFSPReader.ToclIFsp_MAMPromotionalResult(reader);\r
-                            result.Add(ToSegment(item));\r
+                            Segment segment = ToSegment(item);\r
+                            if (segment.TCOut != 0)\r
+                                result.Add(segment);\r
                         }\r
                     }\r
                 }\r
@@ -230,7 +232,9 @@ namespace TrafficClient.Workers {
                             if (result == null)\r
                                 result = new List<Segment>();\r
                             clIFsp_EC_MAMAdvertismentResult item = cliFSPReader.ToclIFsp_MAMAdvertisementResult(reader);\r
-                            result.Add(ToSegment(item));\r
+                            Segment segment = ToSegment(item);\r
+                            if (segment.TCOut != 0)\r
+                                result.Add(segment);\r
                         }\r
                     }\r
                 }\r