From: Vásáry Dániel Date: Mon, 3 Sep 2018 11:29:25 +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=aca7327fd9bd442df4e91300e4f8bfbb335d2fe7;p=mediacube.git git-tfs-id: [tfs.userrendszerhaz.hu:8080/tfs/DefaultCollection]$/MediaCube;C31255 --- diff --git a/client/DxPlay/PlayerForm.Designer.cs b/client/DxPlay/PlayerForm.Designer.cs index fe261c6b..5034f1de 100644 --- a/client/DxPlay/PlayerForm.Designer.cs +++ b/client/DxPlay/PlayerForm.Designer.cs @@ -184,7 +184,7 @@ namespace DxPlay { this.tpSegments.Location = new System.Drawing.Point(4, 4); this.tpSegments.Name = "tpSegments"; this.tpSegments.Padding = new System.Windows.Forms.Padding(3); - this.tpSegments.Size = new System.Drawing.Size(284, 377); + this.tpSegments.Size = new System.Drawing.Size(192, 30); this.tpSegments.TabIndex = 1; this.tpSegments.Text = "Segments"; this.tpSegments.UseVisualStyleBackColor = true; @@ -214,7 +214,7 @@ namespace DxPlay { this.dgSegments.Name = "dgSegments"; this.dgSegments.RowHeadersVisible = false; this.dgSegments.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect; - this.dgSegments.Size = new System.Drawing.Size(278, 346); + this.dgSegments.Size = new System.Drawing.Size(186, 0); this.dgSegments.TabIndex = 1; this.dgSegments.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgSegments_CellContentClick); this.dgSegments.CellMouseDoubleClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dgSegments_CellMouseDoubleClick); @@ -235,7 +235,7 @@ namespace DxPlay { this.segmentActions.Location = new System.Drawing.Point(3, 3); this.segmentActions.Name = "segmentActions"; this.segmentActions.RenderMode = System.Windows.Forms.ToolStripRenderMode.System; - this.segmentActions.Size = new System.Drawing.Size(278, 25); + this.segmentActions.Size = new System.Drawing.Size(186, 25); this.segmentActions.TabIndex = 0; this.segmentActions.Text = "toolStrip1"; // diff --git a/client/DxPlay/PlayerForm.cs b/client/DxPlay/PlayerForm.cs index b83cb1ac..dd0d21d4 100644 --- a/client/DxPlay/PlayerForm.cs +++ b/client/DxPlay/PlayerForm.cs @@ -294,7 +294,7 @@ namespace DxPlay { private bool HandleHotKey(Keys keyCode) { logger.Debug("Key pressed " + keyCode); - if (openFileDialogOpened || dgSegments.IsCurrentCellInEditMode || (m_play != null && !m_play.IsFullscreen() && !ContainsFocus)) + if (trafficBrowser.ContainsFocus || openFileDialogOpened || dgSegments.IsCurrentCellInEditMode || (m_play != null && !m_play.IsFullscreen() && !ContainsFocus)) return true; logger.Debug("Handling " + keyCode); bool result = false; diff --git a/client/DxPlay/PlayerForm.resx b/client/DxPlay/PlayerForm.resx index 0bbfdd1b..48f49eaf 100644 --- a/client/DxPlay/PlayerForm.resx +++ b/client/DxPlay/PlayerForm.resx @@ -173,7 +173,7 @@ AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABo - CAAAAk1TRnQBSQFMAgEBAgEAAUABAQFAAQEBGAEAARgBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo + CAAAAk1TRnQBSQFMAgEBAgEAAVABAQFQAQEBGAEAARgBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo AwABYAMAARgDAAEBAQABCAYAAQkYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA diff --git a/client/DxPlay/Properties/Resources.Designer.cs b/client/DxPlay/Properties/Resources.Designer.cs new file mode 100644 index 00000000..083dc242 --- /dev/null +++ b/client/DxPlay/Properties/Resources.Designer.cs @@ -0,0 +1,346 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace DxPlay.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // This class was auto-generated by the StronglyTypedResourceBuilder + // class via a tool like ResGen or Visual Studio. + // To add or remove a member, edit your .ResX file then rerun ResGen + // with the /str option, or rebuild your VS project. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "15.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("DxPlay.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized string similar to Kész. + /// + internal static string APPROVE { + get { + return ResourceManager.GetString("APPROVE", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Megjegyzés. + /// + internal static string COMMENT { + get { + return ResourceManager.GetString("COMMENT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Vége. + /// + internal static string COMPLETED { + get { + return ResourceManager.GetString("COMPLETED", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Szegmens definiálása. + /// + internal static string DEFINESEGMENT { + get { + return ResourceManager.GetString("DEFINESEGMENT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Szegmens törlése. + /// + internal static string DELETESEGMENT { + get { + return ResourceManager.GetString("DELETESEGMENT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Nem tudok kapcsolódni a PlanAir rendszerhez ezen az útvonalon: {0}. + /// + internal static string ERRORTRAFFICCONNECT { + get { + return ResourceManager.GetString("ERRORTRAFFICCONNECT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Kilépés. + /// + internal static string EXITING { + get { + return ResourceManager.GetString("EXITING", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap ic_pause_black_24dp_2x { + get { + object obj = ResourceManager.GetObject("ic_pause_black_24dp_2x", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap ic_play_arrow_black_24dp_2x { + get { + object obj = ResourceManager.GetObject("ic_play_arrow_black_24dp_2x", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap ic_stop_black_24dp_2x { + get { + object obj = ResourceManager.GetObject("ic_stop_black_24dp_2x", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized string similar to Hossz. + /// + internal static string LENGTH { + get { + return ResourceManager.GetString("LENGTH", resourceCulture); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap lgs { + get { + object obj = ResourceManager.GetObject("lgs", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Looks up a localized string similar to Metaadat. + /// + internal static string METADATA { + get { + return ResourceManager.GetString("METADATA", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Nem található a PlanAir rendszer kapcsolódási információja a dxplay.json állományban.. + /// + internal static string MISSINGTRAFFICCONFIGURATION { + get { + return ResourceManager.GetString("MISSINGTRAFFICCONFIGURATION", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Nem található az {0} azonosító a PlanAir rendszerben.. + /// + internal static string MISSINGTRAFFICVARIANT { + get { + return ResourceManager.GetString("MISSINGTRAFFICVARIANT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to NINCS BEMENET. + /// + internal static string NOINPUT { + get { + return ResourceManager.GetString("NOINPUT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Megnyitás. + /// + internal static string OPEN { + get { + return ResourceManager.GetString("OPEN", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Elhagyható. + /// + internal static string OPTIONAL { + get { + return ResourceManager.GetString("OPTIONAL", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Szünet. + /// + internal static string PAUSE { + get { + return ResourceManager.GetString("PAUSE", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Szüneteltetett. + /// + internal static string PAUSED { + get { + return ResourceManager.GetString("PAUSED", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Lejátszás. + /// + internal static string PLAY { + get { + return ResourceManager.GetString("PLAY", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Lejátszás. + /// + internal static string PLAYING { + get { + return ResourceManager.GetString("PLAYING", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Aktuális pozíció belépőként. + /// + internal static string POSITIONASTCIN { + get { + return ResourceManager.GetString("POSITIONASTCIN", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Aktuális pozíció kilépőként. + /// + internal static string POSITIONASTCOUT { + get { + return ResourceManager.GetString("POSITIONASTCOUT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Szegmensek. + /// + internal static string SEGMENTS { + get { + return ResourceManager.GetString("SEGMENTS", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Szegmens szétvágása. + /// + internal static string SPLITSEGMENT { + get { + return ResourceManager.GetString("SPLITSEGMENT", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Kezdés. + /// + internal static string START { + get { + return ResourceManager.GetString("START", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Leállítás. + /// + internal static string STOP { + get { + return ResourceManager.GetString("STOP", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Megállítva. + /// + internal static string STOPPED { + get { + return ResourceManager.GetString("STOPPED", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Belépő. + /// + internal static string TCIN { + get { + return ResourceManager.GetString("TCIN", resourceCulture); + } + } + + /// + /// Looks up a localized string similar to Kilépő. + /// + internal static string TCOUT { + get { + return ResourceManager.GetString("TCOUT", resourceCulture); + } + } + } +} diff --git a/client/DxPlay/Properties/Resources.resx b/client/DxPlay/Properties/Resources.resx new file mode 100644 index 00000000..96e18436 --- /dev/null +++ b/client/DxPlay/Properties/Resources.resx @@ -0,0 +1,214 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Aktuális pozíció belépőként + + + Aktuális pozíció kilépőként + + + Belépő + + + Elhagyható + + + Nem tudok kapcsolódni a PlanAir rendszerhez ezen az útvonalon: {0} + + + Hossz + + + + ..\resources\ic_pause_black_24dp_2x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\ic_play_arrow_black_24dp_2x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\resources\ic_stop_black_24dp_2x.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Kezdés + + + Kilépés + + + Kilépő + + + Leállítás + + + Lejátszás + + + ..\resources\lgs.jpg;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Megállítva + + + Megjegyzés + + + Nem található a PlanAir rendszer kapcsolódási információja a dxplay.json állományban. + + + Nem található az {0} azonosító a PlanAir rendszerben. + + + NINCS BEMENET + + + Szegmensek + + + Szegmens definiálása + + + Szegmens szétvágása + + + Szegmens törlése + + + Szünet + + + Szüneteltetett + + + Vége + + + Lejátszás + + + Metaadat + + + Kész + + + Megnyitás + + \ No newline at end of file diff --git a/client/NativeOctopusClient/NativeOctopusClient.csproj.vspscc b/client/NativeOctopusClient/NativeOctopusClient.csproj.vspscc new file mode 100644 index 00000000..feffdeca --- /dev/null +++ b/client/NativeOctopusClient/NativeOctopusClient.csproj.vspscc @@ -0,0 +1,10 @@ +"" +{ +"FILE_VERSION" = "9237" +"ENLISTMENT_CHOICE" = "NEVER" +"PROJECT_FILE_RELATIVE_PATH" = "" +"NUMBER_OF_EXCLUDED_FILES" = "0" +"ORIGINAL_PROJECT_FILE_PATH" = "" +"NUMBER_OF_NESTED_PROJECTS" = "0" +"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER" +} diff --git a/client/OctopusClient/OctopusIDSelector.cs b/client/OctopusClient/OctopusIDSelector.cs index a9f333b2..95cd42d7 100644 --- a/client/OctopusClient/OctopusIDSelector.cs +++ b/client/OctopusClient/OctopusIDSelector.cs @@ -4,7 +4,6 @@ using System.Linq; using System.Windows.Forms; using System.Collections.Generic; using System.Runtime.InteropServices; -using LinkDotNet.MessageHandling.Contracts; using MaestroShared.Configuration; using MaestroShared.Commons; using MaestroShared.MessageBus; diff --git a/client/OctopusClient/Resources.Designer.cs b/client/OctopusClient/Resources.Designer.cs deleted file mode 100644 index c1b45496..00000000 --- a/client/OctopusClient/Resources.Designer.cs +++ /dev/null @@ -1,208 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace OctopusClient { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("OctopusClient.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// Looks up a localized string similar to Adástükör. - /// - internal static string ADASTUKOR { - get { - return ResourceManager.GetString("ADASTUKOR", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Archive. - /// - internal static string ARCHIVE { - get { - return ResourceManager.GetString("ARCHIVE", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Global ID. - /// - internal static string GLOBAL_ID { - get { - return ResourceManager.GetString("GLOBAL_ID", resourceCulture); - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap ic_refresh_black_24dp_1x { - get { - object obj = ResourceManager.GetObject("ic_refresh_black_24dp_1x", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - - /// - /// Looks up a localized string similar to ID. - /// - internal static string ID { - get { - return ResourceManager.GetString("ID", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Keresés. - /// - internal static string KERESES { - get { - return ResourceManager.GetString("KERESES", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Keresés eredménye. - /// - internal static string KERESES_EREDMENYE { - get { - return ResourceManager.GetString("KERESES_EREDMENYE", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Mappa. - /// - internal static string MAPPA { - get { - return ResourceManager.GetString("MAPPA", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Mégse. - /// - internal static string MEGSE { - get { - return ResourceManager.GetString("MEGSE", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Módosítva. - /// - internal static string MODOSITVA { - get { - return ResourceManager.GetString("MODOSITVA", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to MosID. - /// - internal static string MOS_ID { - get { - return ResourceManager.GetString("MOS_ID", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Név. - /// - internal static string NEV { - get { - return ResourceManager.GetString("NEV", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Objektum ID. - /// - internal static string OBJECT_ID { - get { - return ResourceManager.GetString("OBJECT_ID", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Objektum típusa. - /// - internal static string OBJECT_TYPE { - get { - return ResourceManager.GetString("OBJECT_TYPE", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Nem lehet csatlakozni az octopus kiszolgálóhoz. - /// - internal static string OCTOPUS_KAPCSOLATI_HIBA { - get { - return ResourceManager.GetString("OCTOPUS_KAPCSOLATI_HIBA", resourceCulture); - } - } - - /// - /// Looks up a localized string similar to Válasszon elemet. - /// - internal static string VALASSZON_ELEMET { - get { - return ResourceManager.GetString("VALASSZON_ELEMET", resourceCulture); - } - } - } -} diff --git a/client/PlanAIRClient/TrafficIDSelector.cs b/client/PlanAIRClient/TrafficIDSelector.cs index 66d314c4..d292e904 100644 --- a/client/PlanAIRClient/TrafficIDSelector.cs +++ b/client/PlanAIRClient/TrafficIDSelector.cs @@ -19,17 +19,23 @@ namespace TrafficClient { public TrafficIDSelector() { InitializeComponent(); + } + + protected override void OnLoad(EventArgs e) { + base.OnLoad(e); InitializeTexts(); } + private void InitializeTexts() { - chkProblematic.Text = Resources.PROBLEMATIC; + TrafficMetadata metadata = parameters?.Configuration ?? new TrafficMetadata(); dgTraffic.AutoGenerateColumns = false; - rbMaterial.Text = Resources.MATERIAL; - rbPromo.Text = Resources.PROMOTION; - rbAD.Text = Resources.ADVERTISEMENT; + chkProblematic.Text = metadata.Resource("PROBLEMATIC", Resources.PROBLEMATIC); + rbMaterial.Text = metadata.Resource("MATERIAL", Resources.MATERIAL); + rbPromo.Text = metadata.Resource("PROMOTION", Resources.PROMOTION); + rbAD.Text = metadata.Resource("ADVERTISEMENT", Resources.ADVERTISEMENT); } public TrafficParameters Parameters { @@ -53,15 +59,16 @@ namespace TrafficClient { List items = null; dgTraffic.Columns.Clear(); + TrafficMetadata metadata = parameters?.Configuration ?? new TrafficMetadata(); if (rbMaterial.Checked) { - dgTraffic.Columns.AddRange(GetMaterialColumns()); + dgTraffic.Columns.AddRange(GetMaterialColumns(metadata)); string searchText = Regex.Replace(txtFilter.Text, "[^0-9]", ""); items = trafficAPI.GetMaterials(searchText, chkProblematic.Checked, scheduledDate, scheduledDate); } else if (rbAD.Checked) { - dgTraffic.Columns.AddRange(GetADColumns()); + dgTraffic.Columns.AddRange(GetADColumns(metadata)); items = trafficAPI.GetADs(txtFilter.Text, chkProblematic.Checked, scheduledDate, scheduledDate); } else if (rbPromo.Checked) { - dgTraffic.Columns.AddRange(GetPromoColumns()); + dgTraffic.Columns.AddRange(GetPromoColumns(metadata)); items = trafficAPI.GetPromos(txtFilter.Text, chkProblematic.Checked, scheduledDate, scheduledDate); } diff --git a/client/PlanAIRClient/TrafficIDSelectorColumns.cs b/client/PlanAIRClient/TrafficIDSelectorColumns.cs index 46573816..68cda895 100644 --- a/client/PlanAIRClient/TrafficIDSelectorColumns.cs +++ b/client/PlanAIRClient/TrafficIDSelectorColumns.cs @@ -1,9 +1,10 @@  +using MaestroShared.Configuration; using System.Windows.Forms; namespace TrafficClient { public partial class TrafficIDSelector { - DataGridViewColumn[] GetMaterialColumns() { + DataGridViewColumn[] GetMaterialColumns(TrafficMetadata metadata) { return new DataGridViewColumn[] { new DataGridViewCheckBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells, @@ -13,7 +14,7 @@ namespace TrafficClient { new DataGridViewTextBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.None, DataPropertyName = "MediaID", - HeaderText = Resources.TRAFFICID, + HeaderText = metadata.Resource("TRAFFICID", Resources.TRAFFICID), Width = 100 }, new DataGridViewCheckBoxColumn() { @@ -24,49 +25,49 @@ namespace TrafficClient { new DataGridViewTextBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.None, DataPropertyName = "Title", - HeaderText = Resources.TITLE, + HeaderText = metadata.Resource("TITLE", Resources.TITLE), Width = 100 }, new DataGridViewTextBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.None, DataPropertyName = "EpisodeNumber", - HeaderText = Resources.EPISODENUMBER, + HeaderText = metadata.Resource("EPISODENUMBER", Resources.EPISODENUMBER), Width = 100 }, new DataGridViewTextBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.None, DataPropertyName = "EpisodeID", - HeaderText = Resources.EPISODEID, + HeaderText = metadata.Resource("EPISODEID", Resources.EPISODEID), Width = 100 }, new DataGridViewTextBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.None, DataPropertyName = "FirsBroadcastDate", - HeaderText = Resources.FIRSTBROADCASTDATE, + HeaderText = metadata.Resource("FIRSTBROADCASTDATE", Resources.FIRSTBROADCASTDATE), Width = 100 }, new DataGridViewTextBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.None, DataPropertyName = "NextBroadcastDate", - HeaderText = Resources.NEXTBROADCASTDATE, + HeaderText = metadata.Resource("NEXTBROADCASTDATE", Resources.NEXTBROADCASTDATE), Width = 100 }, new DataGridViewTextBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.None, DataPropertyName = "SegmentCount", - HeaderText = Resources.SEGMENTCOUNT, + HeaderText = metadata.Resource("SEGMENTCOUNT", Resources.SEGMENTCOUNT), Width = 100 }, new DataGridViewTextBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.None, DataPropertyName = "EpisodeTitle", - HeaderText = Resources.EPISODETITLE, + HeaderText = metadata.Resource("EPISODETITLE", Resources.EPISODETITLE), Width = 100 }, }; } - DataGridViewColumn[] GetADColumns() { + DataGridViewColumn[] GetADColumns(TrafficMetadata metadata) { return new DataGridViewColumn[] { new DataGridViewCheckBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells, @@ -76,7 +77,7 @@ namespace TrafficClient { new DataGridViewTextBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.None, DataPropertyName = "MediaID", - HeaderText = Resources.TRAFFICID, + HeaderText = metadata.Resource("TRAFFICID", Resources.TRAFFICID), Width = 100 }, new DataGridViewCheckBoxColumn() { @@ -87,25 +88,25 @@ namespace TrafficClient { new DataGridViewTextBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.None, DataPropertyName = "Title", - HeaderText = Resources.TITLE, + HeaderText = metadata.Resource("TITLE", Resources.TITLE), Width = 100 }, new DataGridViewTextBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.None, DataPropertyName = "EpisodeNumber", - HeaderText = Resources.EPISODENUMBER, + HeaderText = metadata.Resource("EPISODENUMBER", Resources.EPISODENUMBER), Width = 100 }, new DataGridViewTextBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.None, DataPropertyName = "EpisodeTitle", - HeaderText = Resources.EPISODETITLE, + HeaderText = metadata.Resource("EPISODETITLE", Resources.EPISODETITLE), Width = 100 }, }; } - DataGridViewColumn[] GetPromoColumns() { + DataGridViewColumn[] GetPromoColumns(TrafficMetadata metadata) { return new DataGridViewColumn[] { new DataGridViewCheckBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.DisplayedCells, @@ -115,7 +116,7 @@ namespace TrafficClient { new DataGridViewTextBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.None, DataPropertyName = "MediaID", - HeaderText = Resources.TRAFFICID, + HeaderText = metadata.Resource("TRAFFICID", Resources.TRAFFICID), Width = 100 }, new DataGridViewCheckBoxColumn() { @@ -126,13 +127,13 @@ namespace TrafficClient { new DataGridViewTextBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.None, DataPropertyName = "Title", - HeaderText = Resources.TITLE, + HeaderText = metadata.Resource("TITLE", Resources.TITLE), Width = 100 }, new DataGridViewTextBoxColumn() { AutoSizeMode = DataGridViewAutoSizeColumnMode.None, DataPropertyName = "EpisodeTitle", - HeaderText = Resources.EPISODETITLE, + HeaderText = metadata.Resource("EPISODETITLE", Resources.EPISODETITLE), Width = 100 }, }; diff --git a/docs/mediacube-audiorecorder.md b/docs/mediacube-audiorecorder.md index 04178b35..7589a124 100644 --- a/docs/mediacube-audiorecorder.md +++ b/docs/mediacube-audiorecorder.md @@ -14,8 +14,8 @@ Az ablakban látható információs- és vezérlőelemek: * Rögzített anyag hossza: felvétel közben mutatja a hosszt. * Felvétel gomb: megjelenik a metaadat azonosító kiválasztás ablak. Sikeres kiválasztás után a gombon megjelenik egy visszaszámláló, és amikor az a nullához ér, elkezdődik a rögzítés a kiválasztott hangbemenetről. * Pillanat állj gomb: felvétel közben megszakítható a folyamat, újra rákattintva folyatatódik a rögzítés. -* Állj gomb: a rögzítés befelyezése. A rögzített állományt a program beállítások figyelembe vételévelfogja elmozgatni a megfelelő névvel a megfelelő helyre. -* Hangbement kiválasztása gomb: megjelenik a lehetséges hangbemeneteket tartalmaző legördülő menü, a kiválasztást megerősítés után a program megjegyzi. Amennyiben még nem volt kiválasztott hangbemenet, a program indulásakor automatikusan megnyílik ez az ablak. +* Állj gomb: a rögzítés befelyezése. A rögzített állományt a program beállítások figyelembe vételével fogja elmozgatni a megfelelő névvel a megfelelő helyre. +* Hangbement kiválasztása gomb: megjelenik a lehetséges hangbemeneteket tartalmazó legördülő menü, a kiválasztást megerősítés után a program megjegyzi. Amennyiben még nem volt kiválasztott hangbemenet, a program indulásakor automatikusan megnyílik ez az ablak. ![Choose audio device](audiorecorder-input.png) @@ -30,7 +30,7 @@ A rögzített fájl formátuma fixen: > Bit depth : 32 bits * Fájlnév: a rögzített fájl útvonala. -* Lejátszás: a korábban rögzített fájlt lejátssza a WAV fájlkiterjesztéshez a rendszerben beállított lejátszóval. +* Lejátszás: a korábban rögzített fájlt lejátssza az operációs rendszerben társított audió lejátszó programmal. * Hangerő kijelzés: a konfigurációs állományban megadott szinthez képest az aktuálisan érzékelt hang erőssége. A halk hangok zöld, a hangos hangok sárga a nagyon hangos hangok a piros tartományban kerülnek kijelzésre. * Rögzítés hangereje: a csúszka segítségével a rögzítés hangereje állítható be. Ezt javasolt úgy megtenni, hogy a hangerő kijelzés minél kevesebbet tartózkodjon a piros tartományban, de hagyja el a zöldet. @@ -42,7 +42,123 @@ A felvétel gombra kattintva minden alkalommal megjelenik a metaadat kiválaszt Az ablakban látható információs- és vezérlőelemek: - +* Felső keresősáv: egy létező azonosítót begépelve, majd Enter billenyűt nyomva, a program megkeresi az azonosító első előfordulását az adástükrökben, illetve ha egyik tükörben sem található, akkor a sztori mappákban. Sikeres esetben odanavigál és kipipálja a találatot. A keresés nem veszi figyelembe az alatta elhelyezkedő szűrőket. +* Adástükör / Sztori mappa: az adásnap szűrő állapotát és a tárolók szűrő tartalmát befolyásolják. +* Adásnap szűrő: Adástükör szűrés esetén aktív és kiválasztható vele egy tetszőleges adásnap. Sztori mappa szűrés esetén inaktív. +* Tárolók szűrő: Adástükör szűrés esetén a kiválasztott adásnap adástükreit listázza ki időrendi sorrendben. Sztori mappa szűrés esetén a sztori mappákat mutatja. Módosítása frissíti a listát. +* Frissítés: amennyiben ki van töltve a felső keresősáv, újból lefuttatja a keresést. Egyéb esetben a beállított szűrőknek megfelelően frissíti a listát. +* Jelölőnégyzet: a kívánt azonosító előtti jelölőnégyzetet kipipálva az egérrel, vagy a szóköz billenytű segítségével, az azonosító kiválasztásra kerül és megjelenik az alsó keresősávban. +* Alső keresősáv: működése megegyezik a felső keresősávval. +* Keresés: az alsó keresősávban beírt azonosítóra futtatja a keresést. +* Mégsem: ablak bezárása a metaadat kiválasztása nélkül. +* Rendben: ablak bezárása a metaadat kiválasztásával. Csak akkor aktív, ha létező azonosítót választottunk ki. + ## Konfigurációs állomány +```json +{ + "deviceName": "Internal Microphone", + "peekMeterStep": 200, + "workingDirectory": "file://C:\\temp", + "uiFileName": "audiorecorder.en", + "metadatas": [ + { + "$type": "NativeOctopusMetadata", + "uiFileName": "audiorecorder.en", + "server": { + "address": " http://10.10.10.10/api/v1/", + "userName": "username", + "password": "encoded password", + "timeout": 3000 + } + } + ], + "octopusTarget": { + "processor": "FTPTargetProcessor", + "outputFormat": "%ID%", + "subFolderFormat": "%IDROOT%-%TEXT%", + "remote": { + "address": "ftp://localhost", + "userName": "username", + "password": "encoded password", + "timeout": 1000 + } + } +} +``` + +### deviceName +A kiválasztott hangbement neve. + +### peekMeterStep +A hangerő kijelzést szabályozó konstans, módosítása nem javasolt. +> **200** + +### workingDirectory +A hangfájlok rögzítésének helye. +> **file://C:\\temp** + +### uiFileName +A program felületének honosított címkéit tartalmazó JSON állomány neve. +> **audiorecorder.en** + +### metadatas +Lehetséges metaadat tallózók gyüjteménye. + +### metadatas.$type +A tallózó típusa. +> **NativeOctopusMetadata**: direkt Octopus kapcsolat REST API-n keresztül. + +### metadatas.uiFileName +A tallózó felületének honosított címkéit tartalmazó JSON állomány neve. +> **audiorecorder.en** + +### metadatas.server +A szolgáltatás elérhetősége a távoli szerveren. + +### octopusTarget +A rögzítés végeztével alkalmazandó transzfer jellemzői. + +### octopusTarget.processor +A transzfer típusa. +> UNCTargetProcessor: helyi mappából (osztásból), helyi mappába (osztásba) +> **FTPTargetProcessor**: helyi mappából (osztásból), FTP mappába +> FXPTargetProcessor: FTP mappából, FTP mappába + +### octopusTarget.outputFormat +A transzferált állomány névképzése, ami fix szöveg és az alább cimkék kombinációja. +> %ID%: A kiválasztott metaadat azonosító. +> %SOURCENAME%: A forrás fájl neve. +> %TEXT%: A kiválasztott metaadat címe. +> %TIMESTAMP%: Időbélyeg "yyyyMMddhhmmss" formátumban. +> %DATESTAMP%: Időbélyeg "yyyyMMdd" formátumban. +> %USERNAME%: Windows felhasználó. +> %COMPUTERNAME%: Számítógépnév. + +### octopusTarget.subFolderFormat +A transzferált állomány mappájának névképzése. Ha még nem létezik ilyen mppa, létrehozza azt. +A névképzésben ugyan azok a cimkék használhtóak mint az __outputFormat__ kapcsolóban. + +### octopusTarget.remote +A szolgáltatás elérhetősége a távoli szerveren. + +__A "szolgáltatás elérhetősége" típusú bejegyzések paraméterei:__ + +### address +A távoli szerveren futó szolgáltatás elérésének protokollja, címe és portja. +> A támogatott protokollok: +> file:// +> ftp:// + +### userName +A csatlakozáshoz használható felhasználói név. + +### password +A felhasználói névhez tartozó jelszónak a __PasswordEncrypter.exe__ programmal titkosított lenyomata. + +### timeout +Csatlakozás időtúllépése ezredmásodpercben. +> **3000** + ## Naplózás +A naplózást az NLOG alrendszer végzi: https://github.com/nlog/nlog/wiki \ No newline at end of file diff --git a/docs/mediacube-dxplay.md b/docs/mediacube-dxplay.md index 3f56d9e7..d1e87f23 100644 --- a/docs/mediacube-dxplay.md +++ b/docs/mediacube-dxplay.md @@ -3,33 +3,31 @@ A DxPlay alkalmazás lehetővé teszi a nagyfelbontású MXF fájlok lejátszását, és a megnyitott anyaghoz PlanAir szegmens adatok hozzárendelését. -## MediaCube server -* Platformfüggetlen Java OSGi alkalmazás média állományok és metaadataik kezeléséhez. -* Magas rendelkezésreállású Linux cluster környezet. -* Tetszőlegesen ütemezhető, könnyen konfigurálható és bővíthető folyamatkezelés. -* A támogatott folyamatok: TSM archiválás/visszatöltés on-demand és automatizált módon, média másolás/mozgatás tárhelyek között, tárhely felszabadítás lejárati feltételek teljesülésekor, média transzkódolás. -* A tárhely kezeléshez beépített API: tsm, ftp, smb, filesystem támogatással. -* Konfigurálható metaadat kezelés, Full-Text keresési lehetőséggel. -* Webes HTML5 kliens: keresés, kisfelbontású videók megtekintése, on-demand visszatöltés, folyamatok kézi indítása, folyamatok monitorozása, média mozgatási folyamatok megtekintése idővonalon. -* REST API az adatok lekérdezéséhez, módosításához. - -## MediaCube Maestro -* Windows .NET vastag kliens a média állományok és metaadataik felhasználói kezeléséhez. -* Tálca alkalmazásként vagy ablakban futva több forrásmappa változás-monitorozása lehetséges, változás esetén felhasználói értesítés. -* Beépített videólejátszó a nagyfelbontású anyagok megtekintéséhez és szegmentáláshoz. -* Beépített hangrögzítő a hangalámondás és a telefonos interjúk felvételéhez. -* Támogatott források: smb, ftp, filesystem -* Társrendszerekből érkező metaadat hozzárendelése videó állományhoz, a cél állományok fájlnév képzése sablonokkal konfigurálva. -* Egy vagy több forrásfájlra tetszőleges számú célba történő másolási/mozgatási folyamat elindítása. -* Konfigurációban engedélyezhető munkafolyamat segítő funkciók: lejárati dátumok beállítása, jelzés küldése emailben, metaadatok exportálása specifikus formátumokba. -* Televíziós munkahelyekre kihegyezett médiakezelési sablonok: szerkesztő, szerkesztő-riporter, vágó, adásmegtekintő, adáslebonyolító. -* FXP alapú átvitel támogatása a forrás és a cél tárolók között. +## Működés +A program elindítása után a főablak jelenik meg. -## Beállítások ![Dxplay Main](dxplay-main.png) -* Octopus hírrendszer: metaadat forrásként REST API-n keresztül. -* PlanAir adástervező rendszer: lekérdezés, adásinformáció visszatöltése SQL tárolt eljáráson keresztül (adáskész, szegmensadatok, új kópiák létrehozása). -* Morpheus adáskijátszó rendszer: XML alapú metaadat betöltés. -* NEXIO videóserver: API-n keresztül a MediaBase lekérdezése, metaadatok feltöltése. -* TSM: API-n keresztül anyag betöltés/visszatöltés. +A videóanyag megnyitására több módon is lehetőség van: +* Az operációs rendszerben ezt az alkalmzást társítjuk az MXF fájlkiterjesztéshez. +* A megnyitott alkalmazásra húzd és ejtsd módszerrel rádobjuk a fájlrendszerből a megnyitni kívánt állományt. +* A File menü Open funkciójával (Ctrl+O) + +A fájl megnyitása után a média első képkockája válik láthatóvá a felületen. A vezérlők és a gyorsítóbillenytűk segítségével lehet a tartalmat lejátszani. A szegmensek definiálásához metaadat tallózóban ki kell választani egy azonosítót a jelölőnégyzet kipipálásával. Ismert azonosító esetén a felső keresősávba beírva és Enter-t nyomva, listázhatók ki a találatok. + +Ha a megnyitott fájl neve egy létező azonosító, akkor a kereső automatikusan listázza és a listában kijleöli azt. + + +## Gyorsító billenytűk +Ctrl+O : Fájl megnyitása. +Ctrl+S : A változtatások elfogadása, tehát a fájl mozgatása a célmappába és a szegmens adatok mentése a PlanAir rendszerbe. +Space : fájl lejátszása, lejátszás szüneteltetése. Ha a metaadat tallózó az aktív, akkor ott az aktuális metaadat azonosítójának kijelölése, vagy annak eltávolítása. Ha nincs verziója a kiválasztott bejegyzésnek, akkor létrehoz egyet. +Shift+Space : Ha a metaadat tallózó az aktív, új verzió létrehozását végzi el a kijelölt anyagon. A lista automatikusan frissül utána. +Esc: teljes képernyős módban, kilép ablak módba. A teljes képrnyős módba lépéshez a képen duplán kell kattintani a bal egérgombbal. Ablak módban kilép az alkalmazás. +Balra nyíl: Léptetés az előző képkockára. +Jobbra nyíl: Léptetés a következő képkockára. +Ctrl+Balra nyíl: Léptetés 5 képkockával vissza. +Ctrl+Jobbra nyíl: Léptetés 5 képkockával előre. + +## Beállítások +