\r
private void OctopusIDChangedEvent(string id, string name, string text) {\r
if (name == null)\r
- SelectedMetadata = null;\r
+ SelectedMetadata = new Metadata();\r
else\r
SelectedMetadata = new Metadata() {\r
ID = name,\r
\r
private void TrafficIDChangedEvent(string id, int variantID, string text) {\r
if (id == null)\r
- SelectedMetadata = null;\r
+ SelectedMetadata = new Metadata();\r
else\r
SelectedMetadata = new Metadata() {\r
ID = id,\r
DialogResult = DialogResult.OK;\r
Close();\r
}\r
+\r
}\r
}\r
{\r
- "define-segment": "Define segment",\r
- "break-segment": "Break segment",\r
- "position-as-tcin": "Current position as TC in",\r
- "position-as-tcout": "Current position as TC out",\r
- "delete-segment": "Delete segment",\r
- "segments": "Segments",\r
- "no-input": "NO INPUT",\r
- "start": "START",\r
- "length": "LENGTH",\r
- "tc-in": "TC in",\r
- "tc-out": "TC out",\r
- "optional": "Optional",\r
- "comment": "Comment",\r
- "starting": "STARTING",\r
- "exiting": "EXITING",\r
- "paused": "PAUSED",\r
- "playing": "PLAYING",\r
- "stopped": "STOPPED",\r
- "completed": "COMPLETED",\r
- "pause": "Pause",\r
- "play": "Play",\r
- "stop": "Stop",\r
- "missing-traffic-configuration": "Missing PlanAir connection configuration.",\r
- "error-traffic-connect": "Could not connect to PlanAir system, using: {0}",\r
- "missing-traffic-variant": "Missing metadata for {0} in PlanAir system."\r
+ "APPROVE": "Approve",\r
+ "COMMENT": "Comment",\r
+ "COMPLETED": "COMPLETED",\r
+ "DEFINESEGMENT": "Define segment",\r
+ "DELETESEGMENT": "Delete segment",\r
+ "ERRORTRAFFICCONNECT": "Could not connect to PlanAir system, using: {0}",\r
+ "EXITING": "EXITING",\r
+ "LENGTH": "LENGTH",\r
+ "METADATA": "Metadata",\r
+ "MISSINGTRAFFICCONFIGURATION": "Missing PlanAir connection configuration.",\r
+ "MISSINGTRAFFICVARIANT": "Missing metadata for {0} in PlanAir system.",\r
+ "NOINPUT": "NO INPUT",\r
+ "OPEN": "Open",\r
+ "OPTIONAL": "Optional",\r
+ "PAUSE": "Pause",\r
+ "PAUSED": "PAUSED",\r
+ "PLAY": "Play",\r
+ "PLAYING": "PLAYING",\r
+ "POSITIONASTCIN": "Current position as TC in",\r
+ "POSITIONASTCOUT": "Current position as TC out",\r
+ "SEGMENTS": "Segments",\r
+ "SPLITSEGMENT": "Split segment",\r
+ "START": "START",\r
+ "STOP": "Stop",\r
+ "STOPPED": "STOPPED",\r
+ "TCIN": "TC in",\r
+ "TCOUT": "TC out"\r
}\r
// \r
// lbCurrentTC\r
// \r
- this.lbCurrentTC.BackColor = System.Drawing.SystemColors.Control;\r
+ this.lbCurrentTC.BackColor = System.Drawing.Color.Transparent;\r
this.lbCurrentTC.Dock = System.Windows.Forms.DockStyle.Top;\r
this.lbCurrentTC.Font = new System.Drawing.Font("Calibri", 16F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
this.lbCurrentTC.Location = new System.Drawing.Point(170, 13);\r
// \r
// lbStartTC\r
// \r
- this.lbStartTC.BackColor = System.Drawing.SystemColors.Control;\r
+ this.lbStartTC.BackColor = System.Drawing.Color.Transparent;\r
this.lbStartTC.Dock = System.Windows.Forms.DockStyle.Top;\r
this.lbStartTC.Font = new System.Drawing.Font("Calibri", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
this.lbStartTC.ForeColor = System.Drawing.SystemColors.WindowText;\r
// \r
// lbStart\r
// \r
+ this.lbStart.BackColor = System.Drawing.Color.Transparent;\r
this.lbStart.Dock = System.Windows.Forms.DockStyle.Top;\r
this.lbStart.Font = new System.Drawing.Font("Calibri", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
this.lbStart.Location = new System.Drawing.Point(3, 0);\r
// \r
// lbStatus\r
// \r
+ this.lbStatus.BackColor = System.Drawing.Color.Transparent;\r
this.lbStatus.Dock = System.Windows.Forms.DockStyle.Top;\r
this.lbStatus.Font = new System.Drawing.Font("Calibri", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
this.lbStatus.Location = new System.Drawing.Point(170, 0);\r
// \r
// lbDuration\r
// \r
+ this.lbDuration.BackColor = System.Drawing.Color.Transparent;\r
this.lbDuration.Dock = System.Windows.Forms.DockStyle.Top;\r
this.lbDuration.Font = new System.Drawing.Font("Calibri", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
this.lbDuration.Location = new System.Drawing.Point(671, 0);\r
// \r
// lbEndTC\r
// \r
- this.lbEndTC.BackColor = System.Drawing.SystemColors.Control;\r
+ this.lbEndTC.BackColor = System.Drawing.Color.Transparent;\r
this.lbEndTC.Dock = System.Windows.Forms.DockStyle.Top;\r
this.lbEndTC.Font = new System.Drawing.Font("Calibri", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
this.lbEndTC.ForeColor = System.Drawing.SystemColors.WindowText;\r
// Play an avi file into a window. Allow for snapshots.\r
// (Control to show video in, Avi file to play\r
public DxPlayer(Control hWin, ref MediaDescription mediaDesc, UISettings properties) {\r
- stringValues.Add(GraphState.Exiting, properties.Resource("exiting", Resources.KILEPES));\r
- stringValues.Add(GraphState.Paused, properties.Resource("paused", Resources.SZUNETELTETETT));\r
- stringValues.Add(GraphState.Playing, properties.Resource("playing", Resources.LEJATSZAS));\r
- stringValues.Add(GraphState.Stopped, properties.Resource("stopped", Resources.MEGALLITVA));\r
- stringValues.Add(GraphState.Completed, properties.Resource("completed", Resources.VEGE));\r
+ stringValues.Add(GraphState.Exiting, properties.Resource("EXITING", Resources.EXITING));\r
+ stringValues.Add(GraphState.Paused, properties.Resource("PAUSED", Resources.PAUSED));\r
+ stringValues.Add(GraphState.Playing, properties.Resource("PLAYING", Resources.PLAYING));\r
+ stringValues.Add(GraphState.Stopped, properties.Resource("STOPPED", Resources.STOPPED));\r
+ stringValues.Add(GraphState.Completed, properties.Resource("COMPLETED", Resources.COMPLETED));\r
State = GraphState.Stopped;\r
try {\r
int hr;\r
// Pause the capture graph.\r
public void Stop() {\r
//// Can only Stop when playing or paused\r
- //if (State == GraphState.Playing || State == GraphState.Paused || State == GraphState.Completed) {\r
- // int hr = graph.MediaControl.Stop();\r
- // DsError.ThrowExceptionForHR(hr);\r
- // State = GraphState.Stopped;\r
- //}\r
- //Rewind();\r
- //PlayEvent?.Invoke();\r
-\r
- Pause();\r
Rewind();\r
+ Pause();\r
+ if (State == GraphState.Playing || State == GraphState.Paused || State == GraphState.Completed) {\r
+ int hr = graph.MediaControl.StopWhenReady();\r
+ DsError.ThrowExceptionForHR(hr);\r
+ State = GraphState.Stopped;\r
+ }\r
}\r
\r
// Reset the clip back to the beginning\r
}\r
\r
private void FillTheHunStringvalues() {\r
- stateHunStringValues.Add(GraphState.Exiting, Resources.KILEPES);\r
- stateHunStringValues.Add(GraphState.Paused, Resources.SZUNETELTETETT);\r
- stateHunStringValues.Add(GraphState.Playing, Resources.LEJATSZAS);\r
- stateHunStringValues.Add(GraphState.Stopped, Resources.MEGALLITVA);\r
- stateHunStringValues.Add(GraphState.Completed, Resources.VEGE);\r
+ stateHunStringValues.Add(GraphState.Exiting, Resources.EXITING);\r
+ stateHunStringValues.Add(GraphState.Paused, Resources.PAUSED);\r
+ stateHunStringValues.Add(GraphState.Playing, Resources.PLAYING);\r
+ stateHunStringValues.Add(GraphState.Stopped, Resources.STOPPED);\r
+ stateHunStringValues.Add(GraphState.Completed, Resources.COMPLETED);\r
}\r
\r
private void TcWorker_DoWork(object sender, DoWorkEventArgs e) {\r
\r
using LinkDotNet.MessageHandling.Contracts;\r
using TrafficClient;\r
-using MaestroShared.Configuration;\r
-using System;\r
using System.Linq;\r
using MaestroShared.Metadata;\r
using System.Collections.Generic;\r
using NLog;\r
-using DxPlay.Properties;\r
+using MaestroShared.Targets;\r
\r
namespace DxPlay.Integration {\r
public class Traffic {\r
private static readonly Logger logger = LogManager.GetCurrentClassLogger();\r
- private readonly DxPlaySettings settings;\r
- private readonly string id;\r
- private readonly Connection connection;\r
- public TrafficAPI Api { get; private set; }\r
+ private readonly TrafficIDSelector selector;\r
\r
- public Traffic(DxPlaySettings settings, string id, IMessageBus messageBus) {\r
- connection = settings?.Metadata?.Server;\r
- if (connection == null)\r
- throw new Exception(settings.Resource("missing-traffic-configuration", Resources.MISSING_TRAFFIC_CONFIGURATION));\r
- Api = new TrafficAPI(connection.Address.OriginalString, connection.UserName, connection.Password, connection.Timeout, messageBus);\r
- this.settings = settings;\r
- this.id = id;\r
+ public Traffic(TrafficIDSelector selector, IMessageBus messageBus) {\r
+ this.selector = selector;\r
}\r
\r
- public List<MovieSegment> LoadSegments() {\r
+ public void Lookup(string id) {\r
var metadataType = MetadataTypeUtil.Guess(id);\r
+ switch (metadataType) {\r
+ case MetadataType.TrafficMaterial:\r
+ selector.LookupByMaterialID(id);\r
+ break;\r
+ case MetadataType.TrafficPromo:\r
+ selector.LookupByPromoID(id);\r
+ break;\r
+ case MetadataType.TrafficAD:\r
+ selector.LookupByADID(id);\r
+ break;\r
+ }\r
+ }\r
+\r
+ public List<MovieSegment> LoadSegments(string id, MetadataType metadataType) {\r
List<MovieSegment> result = null;\r
\r
switch (metadataType) {\r
case MetadataType.TrafficMaterial: {\r
- var trafficItem = Api.GetMaterials(id, false).FirstOrDefault();\r
- if (trafficItem == null)\r
- throw new Exception(string.Format(settings.Resource("missing-traffic-variant", Resources.MISSING_TRAFFIC_VARIANT), id));\r
- result = Api.GetMaterialSegments(trafficItem.VariantID);\r
+ var trafficItem = selector.trafficAPI.GetMaterials(id, false).FirstOrDefault();\r
+ if (trafficItem != null)\r
+ result = selector.trafficAPI.GetMaterialSegments(trafficItem.VariantID);\r
break;\r
}\r
case MetadataType.TrafficPromo: {\r
- result = Api.GetPromoSegments(id);\r
+ result = selector.trafficAPI.GetPromoSegments(id);\r
break;\r
}\r
case MetadataType.TrafficAD: {\r
- result = Api.GetADSegments(id);\r
+ result = selector.trafficAPI.GetADSegments(id);\r
break;\r
}\r
}\r
return result;\r
}\r
\r
+ public void OnTargetUpdateTrafficMessage(TargetUpdateTrafficMessage message) {\r
+ logger.Info("Now update!!!!!!!!!");\r
+ //selector.trafficAPI.UpdateTrafficInformation(message.VariantID, message.Ready, message.MetadataType, message.Segments);\r
+ }\r
}\r
}\r
using LinkDotNet.MessageHandling;\r
using LinkDotNet.MessageHandling.Contracts;\r
using TrafficClient;\r
-using DxPlay.Properties;\r
+using NLog;\r
+using System.IO;\r
+using MaestroShared.Targets;\r
+using System.Linq;\r
\r
namespace DxPlay.Model {\r
- public class DxPlayModel {\r
+ public class DxPlayModel : INotifyPropertyChanged {\r
+ private static Logger logger = LogManager.GetCurrentClassLogger();\r
public event PropertyChangedEventHandler PropertyChanged;\r
private readonly DxPlaySettings settings;\r
+\r
private Traffic traffic;\r
\r
+ public void InitializeTrafficIntegration(TrafficIDSelector selector) {\r
+ traffic = new Traffic(selector, MessageBus);\r
+ selector.Parameters = new TrafficParameters {\r
+ Configuration = settings.Metadata,\r
+ MessageBus = MessageBus\r
+ };\r
+ MessageBus.Subscribe<TargetUpdateTrafficMessage>(m => traffic.OnTargetUpdateTrafficMessage(m));\r
+ }\r
+\r
public DxPlayModel(DxPlaySettings settings) {\r
this.settings = settings;\r
- IsSegmentEditorEnabled = true.Equals(settings?.Player?.SegmentEditor);\r
+ IsSegmentEditorVisible = true.Equals(settings?.Player?.SegmentEditor);\r
IsMenuVisible = true.Equals(settings?.IsStandalone);\r
Segments = settings.Segments ?? new BindingList<MovieSegment>();\r
messageBus.Subscribe<TrafficAPIMessage>(OnMessage);\r
}\r
\r
+\r
private void OnMessage(IMessage message) {\r
- string msg = string.Format(settings.Resource("error-traffic-connect", Resources.ERROR_TRAFFIC_CONNECT), settings?.Metadata?.Server?.Address?.OriginalString);\r
- throw new Exception(msg);\r
+ if (message is TrafficAPIMessage) {\r
+ TrafficAPIMessage msg = message as TrafficAPIMessage;\r
+ throw new Exception(msg.Content);\r
+ }\r
+ //string msg = string.Format(settings.Resource("ERRORTRAFFICCONNECT", Resources.ERRORTRAFFICCONNECT), settings?.Metadata?.Server?.Address?.OriginalString);\r
//MessageBox.Show(msg, "Connection error", MessageBoxButtons.OK, MessageBoxIcon.Error);\r
}\r
\r
private void Notify([CallerMemberName] String propertyName = "") {\r
+ logger.Info(propertyName);\r
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));\r
}\r
\r
private IMessageBus messageBus = new MessageBus();\r
public IMessageBus MessageBus { get => messageBus; }\r
\r
- private bool isSegmentEditorEnabled;\r
- public bool IsSegmentEditorEnabled {\r
+ private bool isSegmentEditorVisible;\r
+ public bool IsSegmentEditorVisible {\r
get {\r
- return isSegmentEditorEnabled;\r
+ return isSegmentEditorVisible;\r
}\r
set {\r
- if (value != isSegmentEditorEnabled) {\r
- isSegmentEditorEnabled = value;\r
+ if (value != isSegmentEditorVisible) {\r
+ isSegmentEditorVisible = value;\r
Notify();\r
}\r
}\r
}\r
}\r
\r
- private bool isApproveEnabled;\r
public bool IsApproveEnabled {\r
get {\r
- return isApproveEnabled;\r
+ return id != null && id.Length != 0 && CurrentFile != null && CurrentFile.Exists;\r
+ }\r
+ }\r
+\r
+ private string id;\r
+ public string ID {\r
+ get { return id; }\r
+ set {\r
+ if (value != id) {\r
+ id = value;\r
+ Notify();\r
+ Notify("IsApproveEnabled");\r
+ MetadataType = MetadataTypeUtil.Guess(id);\r
+ InitializeSegments();\r
+ }\r
}\r
+ }\r
+\r
+ public int VariantID { get; set; }\r
+ public MetadataType MetadataType { get; set; }\r
+\r
+ private FileInfo currentFile;\r
+\r
+ public FileInfo CurrentFile {\r
+ get { return currentFile; }\r
set {\r
- if (value != isApproveEnabled) {\r
- isApproveEnabled = value;\r
+ if (currentFile != value) {\r
+ currentFile = value;\r
Notify();\r
+ Notify("IsApproveEnabled");\r
}\r
}\r
}\r
\r
+\r
public BindingList<MovieSegment> Segments { get; private set; }\r
\r
- internal void InitializeSegments(string id) {\r
+ private void InitializeSegments() {\r
Segments.Clear();\r
try {\r
- traffic = new Traffic(settings, id, MessageBus);\r
- List<MovieSegment> segments = traffic.LoadSegments();\r
+ List<MovieSegment> segments = traffic.LoadSegments(id, MetadataType);\r
if (segments != null)\r
segments.ForEach(s => Segments.Add(s));\r
} catch (Exception) {\r
- IsSegmentEditorEnabled = false;\r
throw;\r
}\r
}\r
+\r
+ public void Lookup(string id) {\r
+ traffic.Lookup(id);\r
+ }\r
+\r
+ public void Approve() {\r
+ TargetUpdateTrafficMessage message = new TargetUpdateTrafficMessage {\r
+ VariantID = VariantID,\r
+ Ready = true,\r
+ MetadataType = MetadataType,\r
+ Segments = Segments.ToList()\r
+ };\r
+ MessageBus.Send(message);\r
+ }\r
}\r
}\r
System.Windows.Forms.DataGridViewCellStyle dataGridViewCellStyle1 = new System.Windows.Forms.DataGridViewCellStyle();\r
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(PlayerForm));\r
this.pVideo = new System.Windows.Forms.Panel();\r
- this.menuButtonSegmentActions = new DxPlay.MenuButton();\r
- this.ctxmSegmentActions = new System.Windows.Forms.ContextMenuStrip(this.components);\r
- this.defineOneSegmentToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
- this.splitSegmentAtCurrentPositionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
- this.deleteSegmentToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
- this.actualPositionToIntroToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
- this.actualPositionToOutroToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
this.mainSplit = new System.Windows.Forms.SplitContainer();\r
this.panelPlayer = new System.Windows.Forms.Panel();\r
- this.marginPanel = new System.Windows.Forms.Panel();\r
+ this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();\r
this.tabEditor = new System.Windows.Forms.TabControl();\r
this.tpMetadata = new System.Windows.Forms.TabPage();\r
this.trafficBrowser = new TrafficClient.TrafficIDSelector();\r
this.dgSegments = new System.Windows.Forms.DataGridView();\r
this.bsSegments = new System.Windows.Forms.BindingSource(this.components);\r
this.segmentActions = new System.Windows.Forms.ToolStrip();\r
- this.toolStripButton5 = new System.Windows.Forms.ToolStripButton();\r
+ this.tbDefineSegment = new System.Windows.Forms.ToolStripButton();\r
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();\r
- this.toolStripButton1 = new System.Windows.Forms.ToolStripButton();\r
- this.toolStripButton4 = new System.Windows.Forms.ToolStripButton();\r
- this.toolStripButton2 = new System.Windows.Forms.ToolStripButton();\r
+ this.tbPositionAsTCIn = new System.Windows.Forms.ToolStripButton();\r
+ this.tbSplitSegment = new System.Windows.Forms.ToolStripButton();\r
+ this.tbPositionAsTCOut = new System.Windows.Forms.ToolStripButton();\r
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();\r
- this.toolStripButton3 = new System.Windows.Forms.ToolStripButton();\r
+ this.tbDeleteSegment = new System.Windows.Forms.ToolStripButton();\r
this.imagesTabEdit = new System.Windows.Forms.ImageList(this.components);\r
+ this.btnToggleSegmentEditor = new MaestroShared.Controls.NoFocusCueButton();\r
+ this.pMetadataDisplay = new System.Windows.Forms.TableLayoutPanel();\r
+ this.btnApprove = new MaestroShared.Controls.NoFocusCueButton();\r
+ this.labelSelectedMetadata = new System.Windows.Forms.Label();\r
+ this.txtSelectedID = new System.Windows.Forms.TextBox();\r
this.mainMenu = new System.Windows.Forms.MenuStrip();\r
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();\r
this.menuOpenFile = new DxPlay.Controls.BindableToolStripMenuItem();\r
this.menuApprove = new DxPlay.Controls.BindableToolStripMenuItem();\r
this.playerControls = new DxPlay.Controls.PlayerControls();\r
- this.pVideo.SuspendLayout();\r
- this.ctxmSegmentActions.SuspendLayout();\r
((System.ComponentModel.ISupportInitialize)(this.mainSplit)).BeginInit();\r
this.mainSplit.Panel1.SuspendLayout();\r
this.mainSplit.Panel2.SuspendLayout();\r
this.mainSplit.SuspendLayout();\r
this.panelPlayer.SuspendLayout();\r
- this.marginPanel.SuspendLayout();\r
+ this.tableLayoutPanel1.SuspendLayout();\r
this.tabEditor.SuspendLayout();\r
this.tpMetadata.SuspendLayout();\r
this.tpSegments.SuspendLayout();\r
((System.ComponentModel.ISupportInitialize)(this.dgSegments)).BeginInit();\r
((System.ComponentModel.ISupportInitialize)(this.bsSegments)).BeginInit();\r
this.segmentActions.SuspendLayout();\r
+ this.pMetadataDisplay.SuspendLayout();\r
this.mainMenu.SuspendLayout();\r
this.SuspendLayout();\r
// \r
// pVideo\r
// \r
this.pVideo.BackColor = System.Drawing.Color.Black;\r
- this.pVideo.Controls.Add(this.menuButtonSegmentActions);\r
this.pVideo.Dock = System.Windows.Forms.DockStyle.Fill;\r
this.pVideo.Location = new System.Drawing.Point(0, 0);\r
this.pVideo.Name = "pVideo";\r
- this.pVideo.Size = new System.Drawing.Size(689, 489);\r
- this.pVideo.TabIndex = 10;\r
+ this.pVideo.Size = new System.Drawing.Size(741, 487);\r
+ this.pVideo.TabIndex = 0;\r
this.pVideo.TabStop = true;\r
this.pVideo.SizeChanged += new System.EventHandler(this.panel1_SizeChanged);\r
this.pVideo.MouseDown += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseDown);\r
// \r
- // menuButtonSegmentActions\r
- // \r
- this.menuButtonSegmentActions.BackColor = System.Drawing.Color.White;\r
- this.menuButtonSegmentActions.Location = new System.Drawing.Point(389, 462);\r
- this.menuButtonSegmentActions.Menu = this.ctxmSegmentActions;\r
- this.menuButtonSegmentActions.Name = "menuButtonSegmentActions";\r
- this.menuButtonSegmentActions.Size = new System.Drawing.Size(297, 23);\r
- this.menuButtonSegmentActions.TabIndex = 0;\r
- this.menuButtonSegmentActions.Text = "Segment actions";\r
- this.menuButtonSegmentActions.UseVisualStyleBackColor = false;\r
- this.menuButtonSegmentActions.Visible = false;\r
- // \r
- // ctxmSegmentActions\r
- // \r
- this.ctxmSegmentActions.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
- this.defineOneSegmentToolStripMenuItem,\r
- this.splitSegmentAtCurrentPositionToolStripMenuItem,\r
- this.deleteSegmentToolStripMenuItem,\r
- this.actualPositionToIntroToolStripMenuItem,\r
- this.actualPositionToOutroToolStripMenuItem});\r
- this.ctxmSegmentActions.Name = "ctxmSegmentActions";\r
- this.ctxmSegmentActions.Size = new System.Drawing.Size(247, 114);\r
- // \r
- // defineOneSegmentToolStripMenuItem\r
- // \r
- this.defineOneSegmentToolStripMenuItem.Name = "defineOneSegmentToolStripMenuItem";\r
- this.defineOneSegmentToolStripMenuItem.Size = new System.Drawing.Size(246, 22);\r
- this.defineOneSegmentToolStripMenuItem.Text = "Define one segment for movie";\r
- this.defineOneSegmentToolStripMenuItem.Click += new System.EventHandler(this.OnDefineOneSegmentClick);\r
- // \r
- // splitSegmentAtCurrentPositionToolStripMenuItem\r
- // \r
- this.splitSegmentAtCurrentPositionToolStripMenuItem.Name = "splitSegmentAtCurrentPositionToolStripMenuItem";\r
- this.splitSegmentAtCurrentPositionToolStripMenuItem.Size = new System.Drawing.Size(246, 22);\r
- this.splitSegmentAtCurrentPositionToolStripMenuItem.Text = "Split segment at current position";\r
- this.splitSegmentAtCurrentPositionToolStripMenuItem.Click += new System.EventHandler(this.OnSplitSegmentAtCurrentPositionClick);\r
- // \r
- // deleteSegmentToolStripMenuItem\r
- // \r
- this.deleteSegmentToolStripMenuItem.Name = "deleteSegmentToolStripMenuItem";\r
- this.deleteSegmentToolStripMenuItem.Size = new System.Drawing.Size(246, 22);\r
- this.deleteSegmentToolStripMenuItem.Text = "Delete segment";\r
- this.deleteSegmentToolStripMenuItem.Click += new System.EventHandler(this.OnDeleteSegmentClick);\r
- // \r
- // actualPositionToIntroToolStripMenuItem\r
- // \r
- this.actualPositionToIntroToolStripMenuItem.Name = "actualPositionToIntroToolStripMenuItem";\r
- this.actualPositionToIntroToolStripMenuItem.Size = new System.Drawing.Size(246, 22);\r
- this.actualPositionToIntroToolStripMenuItem.Text = "Actual position to TCIn";\r
- this.actualPositionToIntroToolStripMenuItem.Click += new System.EventHandler(this.OnActualPositionToTCInToolStripMenuItem1Click);\r
- // \r
- // actualPositionToOutroToolStripMenuItem\r
- // \r
- this.actualPositionToOutroToolStripMenuItem.Name = "actualPositionToOutroToolStripMenuItem";\r
- this.actualPositionToOutroToolStripMenuItem.Size = new System.Drawing.Size(246, 22);\r
- this.actualPositionToOutroToolStripMenuItem.Text = "Actual position to TCOut";\r
- this.actualPositionToOutroToolStripMenuItem.Click += new System.EventHandler(this.OnActualPositionToTCOutToolStripMenuItem1Click);\r
- // \r
// mainSplit\r
// \r
- this.mainSplit.BackColor = System.Drawing.Color.DimGray;\r
+ this.mainSplit.BackColor = System.Drawing.Color.Black;\r
+ this.mainSplit.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;\r
this.mainSplit.Dock = System.Windows.Forms.DockStyle.Fill;\r
this.mainSplit.Location = new System.Drawing.Point(0, 24);\r
this.mainSplit.Name = "mainSplit";\r
// \r
// mainSplit.Panel2\r
// \r
- this.mainSplit.Panel2.Controls.Add(this.marginPanel);\r
- this.mainSplit.Size = new System.Drawing.Size(990, 489);\r
- this.mainSplit.SplitterDistance = 689;\r
+ this.mainSplit.Panel2.Controls.Add(this.tableLayoutPanel1);\r
+ this.mainSplit.Panel2.Controls.Add(this.pMetadataDisplay);\r
+ this.mainSplit.Panel2MinSize = 300;\r
+ this.mainSplit.Size = new System.Drawing.Size(1068, 489);\r
+ this.mainSplit.SplitterDistance = 743;\r
this.mainSplit.TabIndex = 20;\r
// \r
// panelPlayer\r
this.panelPlayer.Dock = System.Windows.Forms.DockStyle.Fill;\r
this.panelPlayer.Location = new System.Drawing.Point(0, 0);\r
this.panelPlayer.Name = "panelPlayer";\r
- this.panelPlayer.Size = new System.Drawing.Size(689, 489);\r
+ this.panelPlayer.Size = new System.Drawing.Size(741, 487);\r
this.panelPlayer.TabIndex = 0;\r
// \r
- // marginPanel\r
- // \r
- this.marginPanel.BackColor = System.Drawing.SystemColors.ControlDark;\r
- this.marginPanel.Controls.Add(this.tabEditor);\r
- this.marginPanel.Dock = System.Windows.Forms.DockStyle.Fill;\r
- this.marginPanel.Location = new System.Drawing.Point(0, 0);\r
- this.marginPanel.Name = "marginPanel";\r
- this.marginPanel.Padding = new System.Windows.Forms.Padding(4);\r
- this.marginPanel.Size = new System.Drawing.Size(297, 489);\r
- this.marginPanel.TabIndex = 3;\r
+ // tableLayoutPanel1\r
+ // \r
+ this.tableLayoutPanel1.ColumnCount = 2;\r
+ this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());\r
+ this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));\r
+ this.tableLayoutPanel1.Controls.Add(this.tabEditor, 1, 0);\r
+ this.tableLayoutPanel1.Controls.Add(this.btnToggleSegmentEditor, 0, 0);\r
+ this.tableLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Fill;\r
+ this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);\r
+ this.tableLayoutPanel1.Margin = new System.Windows.Forms.Padding(0);\r
+ this.tableLayoutPanel1.Name = "tableLayoutPanel1";\r
+ this.tableLayoutPanel1.RowCount = 1;\r
+ this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F));\r
+ this.tableLayoutPanel1.Size = new System.Drawing.Size(319, 424);\r
+ this.tableLayoutPanel1.TabIndex = 4;\r
// \r
// tabEditor\r
// \r
this.tabEditor.Controls.Add(this.tpMetadata);\r
this.tabEditor.Controls.Add(this.tpSegments);\r
this.tabEditor.Dock = System.Windows.Forms.DockStyle.Fill;\r
- this.tabEditor.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
+ this.tabEditor.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
this.tabEditor.ImageList = this.imagesTabEdit;\r
- this.tabEditor.Location = new System.Drawing.Point(4, 4);\r
+ this.tabEditor.Location = new System.Drawing.Point(23, 4);\r
+ this.tabEditor.Margin = new System.Windows.Forms.Padding(0, 4, 4, 4);\r
this.tabEditor.Multiline = true;\r
this.tabEditor.Name = "tabEditor";\r
this.tabEditor.Padding = new System.Drawing.Point(10, 5);\r
this.tabEditor.SelectedIndex = 0;\r
- this.tabEditor.Size = new System.Drawing.Size(289, 481);\r
+ this.tabEditor.Size = new System.Drawing.Size(292, 416);\r
this.tabEditor.TabIndex = 2;\r
// \r
// tpMetadata\r
this.tpMetadata.Location = new System.Drawing.Point(4, 4);\r
this.tpMetadata.Name = "tpMetadata";\r
this.tpMetadata.Padding = new System.Windows.Forms.Padding(3);\r
- this.tpMetadata.Size = new System.Drawing.Size(281, 442);\r
+ this.tpMetadata.Size = new System.Drawing.Size(284, 377);\r
this.tpMetadata.TabIndex = 0;\r
this.tpMetadata.Text = "Metadata";\r
// \r
this.trafficBrowser.Location = new System.Drawing.Point(3, 3);\r
this.trafficBrowser.Margin = new System.Windows.Forms.Padding(0);\r
this.trafficBrowser.Name = "trafficBrowser";\r
- this.trafficBrowser.Size = new System.Drawing.Size(275, 436);\r
+ this.trafficBrowser.Size = new System.Drawing.Size(278, 371);\r
this.trafficBrowser.TabIndex = 0;\r
// \r
// tpSegments\r
this.tpSegments.Location = new System.Drawing.Point(4, 4);\r
this.tpSegments.Name = "tpSegments";\r
this.tpSegments.Padding = new System.Windows.Forms.Padding(3);\r
- this.tpSegments.Size = new System.Drawing.Size(192, 30);\r
+ this.tpSegments.Size = new System.Drawing.Size(284, 377);\r
this.tpSegments.TabIndex = 1;\r
this.tpSegments.Text = "Segments";\r
this.tpSegments.UseVisualStyleBackColor = true;\r
this.dgSegments.Name = "dgSegments";\r
this.dgSegments.RowHeadersVisible = false;\r
this.dgSegments.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect;\r
- this.dgSegments.Size = new System.Drawing.Size(186, 0);\r
+ this.dgSegments.Size = new System.Drawing.Size(278, 346);\r
this.dgSegments.TabIndex = 1;\r
this.dgSegments.CellContentClick += new System.Windows.Forms.DataGridViewCellEventHandler(this.dgSegments_CellContentClick);\r
this.dgSegments.CellMouseDoubleClick += new System.Windows.Forms.DataGridViewCellMouseEventHandler(this.dgSegments_CellMouseDoubleClick);\r
this.segmentActions.AutoSize = false;\r
this.segmentActions.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;\r
this.segmentActions.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
- this.toolStripButton5,\r
+ this.tbDefineSegment,\r
this.toolStripSeparator2,\r
- this.toolStripButton1,\r
- this.toolStripButton4,\r
- this.toolStripButton2,\r
+ this.tbPositionAsTCIn,\r
+ this.tbSplitSegment,\r
+ this.tbPositionAsTCOut,\r
this.toolStripSeparator1,\r
- this.toolStripButton3});\r
+ this.tbDeleteSegment});\r
this.segmentActions.Location = new System.Drawing.Point(3, 3);\r
this.segmentActions.Name = "segmentActions";\r
this.segmentActions.RenderMode = System.Windows.Forms.ToolStripRenderMode.System;\r
- this.segmentActions.Size = new System.Drawing.Size(186, 25);\r
+ this.segmentActions.Size = new System.Drawing.Size(278, 25);\r
this.segmentActions.TabIndex = 0;\r
this.segmentActions.Text = "toolStrip1";\r
// \r
- // toolStripButton5\r
+ // tbDefineSegment\r
// \r
- this.toolStripButton5.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;\r
- this.toolStripButton5.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton5.Image")));\r
- this.toolStripButton5.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
- this.toolStripButton5.ImageTransparentColor = System.Drawing.Color.Magenta;\r
- this.toolStripButton5.Name = "toolStripButton5";\r
- this.toolStripButton5.Size = new System.Drawing.Size(23, 22);\r
- this.toolStripButton5.Text = "toolStripButton5";\r
+ this.tbDefineSegment.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;\r
+ this.tbDefineSegment.Image = ((System.Drawing.Image)(resources.GetObject("tbDefineSegment.Image")));\r
+ this.tbDefineSegment.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
+ this.tbDefineSegment.ImageTransparentColor = System.Drawing.Color.Magenta;\r
+ this.tbDefineSegment.Name = "tbDefineSegment";\r
+ this.tbDefineSegment.Size = new System.Drawing.Size(23, 22);\r
+ this.tbDefineSegment.Text = "toolStripButton5";\r
+ this.tbDefineSegment.Click += new System.EventHandler(this.OnDefineOneSegmentClick);\r
// \r
// toolStripSeparator2\r
// \r
this.toolStripSeparator2.Name = "toolStripSeparator2";\r
this.toolStripSeparator2.Size = new System.Drawing.Size(6, 25);\r
// \r
- // toolStripButton1\r
- // \r
- this.toolStripButton1.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;\r
- this.toolStripButton1.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton1.Image")));\r
- this.toolStripButton1.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
- this.toolStripButton1.ImageTransparentColor = System.Drawing.Color.Magenta;\r
- this.toolStripButton1.Name = "toolStripButton1";\r
- this.toolStripButton1.Size = new System.Drawing.Size(23, 22);\r
- this.toolStripButton1.Text = "toolStripButton1";\r
- // \r
- // toolStripButton4\r
- // \r
- this.toolStripButton4.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;\r
- this.toolStripButton4.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton4.Image")));\r
- this.toolStripButton4.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
- this.toolStripButton4.ImageTransparentColor = System.Drawing.Color.Magenta;\r
- this.toolStripButton4.Name = "toolStripButton4";\r
- this.toolStripButton4.Size = new System.Drawing.Size(23, 22);\r
- this.toolStripButton4.Text = "toolStripButton4";\r
- // \r
- // toolStripButton2\r
- // \r
- this.toolStripButton2.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;\r
- this.toolStripButton2.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton2.Image")));\r
- this.toolStripButton2.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
- this.toolStripButton2.ImageTransparentColor = System.Drawing.Color.Magenta;\r
- this.toolStripButton2.Name = "toolStripButton2";\r
- this.toolStripButton2.Size = new System.Drawing.Size(23, 22);\r
- this.toolStripButton2.Text = "toolStripButton2";\r
+ // tbPositionAsTCIn\r
+ // \r
+ this.tbPositionAsTCIn.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;\r
+ this.tbPositionAsTCIn.Image = ((System.Drawing.Image)(resources.GetObject("tbPositionAsTCIn.Image")));\r
+ this.tbPositionAsTCIn.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
+ this.tbPositionAsTCIn.ImageTransparentColor = System.Drawing.Color.Magenta;\r
+ this.tbPositionAsTCIn.Name = "tbPositionAsTCIn";\r
+ this.tbPositionAsTCIn.Size = new System.Drawing.Size(23, 22);\r
+ this.tbPositionAsTCIn.Text = "toolStripButton1";\r
+ this.tbPositionAsTCIn.Click += new System.EventHandler(this.OnActualPositionToTCInToolStripMenuItem1Click);\r
+ // \r
+ // tbSplitSegment\r
+ // \r
+ this.tbSplitSegment.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;\r
+ this.tbSplitSegment.Image = ((System.Drawing.Image)(resources.GetObject("tbSplitSegment.Image")));\r
+ this.tbSplitSegment.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
+ this.tbSplitSegment.ImageTransparentColor = System.Drawing.Color.Magenta;\r
+ this.tbSplitSegment.Name = "tbSplitSegment";\r
+ this.tbSplitSegment.Size = new System.Drawing.Size(23, 22);\r
+ this.tbSplitSegment.Text = "toolStripButton4";\r
+ this.tbSplitSegment.Click += new System.EventHandler(this.OnSplitSegmentAtCurrentPositionClick);\r
+ // \r
+ // tbPositionAsTCOut\r
+ // \r
+ this.tbPositionAsTCOut.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;\r
+ this.tbPositionAsTCOut.Image = ((System.Drawing.Image)(resources.GetObject("tbPositionAsTCOut.Image")));\r
+ this.tbPositionAsTCOut.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
+ this.tbPositionAsTCOut.ImageTransparentColor = System.Drawing.Color.Magenta;\r
+ this.tbPositionAsTCOut.Name = "tbPositionAsTCOut";\r
+ this.tbPositionAsTCOut.Size = new System.Drawing.Size(23, 22);\r
+ this.tbPositionAsTCOut.Text = "toolStripButton2";\r
+ this.tbPositionAsTCOut.Click += new System.EventHandler(this.OnActualPositionToTCOutToolStripMenuItem1Click);\r
// \r
// toolStripSeparator1\r
// \r
this.toolStripSeparator1.Name = "toolStripSeparator1";\r
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);\r
// \r
- // toolStripButton3\r
+ // tbDeleteSegment\r
// \r
- this.toolStripButton3.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;\r
- this.toolStripButton3.Image = ((System.Drawing.Image)(resources.GetObject("toolStripButton3.Image")));\r
- this.toolStripButton3.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
- this.toolStripButton3.ImageTransparentColor = System.Drawing.Color.Magenta;\r
- this.toolStripButton3.Name = "toolStripButton3";\r
- this.toolStripButton3.Size = new System.Drawing.Size(23, 22);\r
- this.toolStripButton3.Text = "toolStripButton3";\r
+ this.tbDeleteSegment.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;\r
+ this.tbDeleteSegment.Image = ((System.Drawing.Image)(resources.GetObject("tbDeleteSegment.Image")));\r
+ this.tbDeleteSegment.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;\r
+ this.tbDeleteSegment.ImageTransparentColor = System.Drawing.Color.Magenta;\r
+ this.tbDeleteSegment.Name = "tbDeleteSegment";\r
+ this.tbDeleteSegment.Size = new System.Drawing.Size(23, 22);\r
+ this.tbDeleteSegment.Text = "toolStripButton3";\r
+ this.tbDeleteSegment.Click += new System.EventHandler(this.OnDeleteSegmentClick);\r
// \r
// imagesTabEdit\r
// \r
this.imagesTabEdit.Images.SetKeyName(0, "round_publish_black_24dp.png");\r
this.imagesTabEdit.Images.SetKeyName(1, "ic_playlist_add_check_black_24dp_1x.png");\r
// \r
+ // btnToggleSegmentEditor\r
+ // \r
+ this.btnToggleSegmentEditor.BackColor = System.Drawing.Color.White;\r
+ this.btnToggleSegmentEditor.FlatAppearance.BorderSize = 0;\r
+ this.btnToggleSegmentEditor.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
+ this.btnToggleSegmentEditor.Image = ((System.Drawing.Image)(resources.GetObject("btnToggleSegmentEditor.Image")));\r
+ this.btnToggleSegmentEditor.Location = new System.Drawing.Point(0, 4);\r
+ this.btnToggleSegmentEditor.Margin = new System.Windows.Forms.Padding(0, 4, 0, 0);\r
+ this.btnToggleSegmentEditor.Name = "btnToggleSegmentEditor";\r
+ this.btnToggleSegmentEditor.Size = new System.Drawing.Size(23, 63);\r
+ this.btnToggleSegmentEditor.TabIndex = 0;\r
+ this.btnToggleSegmentEditor.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;\r
+ this.btnToggleSegmentEditor.UseVisualStyleBackColor = false;\r
+ this.btnToggleSegmentEditor.Visible = false;\r
+ this.btnToggleSegmentEditor.Click += new System.EventHandler(this.OnToggleSegmentEditor);\r
+ // \r
+ // pMetadataDisplay\r
+ // \r
+ this.pMetadataDisplay.AutoSize = true;\r
+ this.pMetadataDisplay.ColumnCount = 2;\r
+ this.pMetadataDisplay.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 100F));\r
+ this.pMetadataDisplay.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle());\r
+ this.pMetadataDisplay.Controls.Add(this.btnApprove, 1, 1);\r
+ this.pMetadataDisplay.Controls.Add(this.labelSelectedMetadata, 0, 0);\r
+ this.pMetadataDisplay.Controls.Add(this.txtSelectedID, 0, 1);\r
+ this.pMetadataDisplay.Dock = System.Windows.Forms.DockStyle.Bottom;\r
+ this.pMetadataDisplay.Location = new System.Drawing.Point(0, 424);\r
+ this.pMetadataDisplay.Margin = new System.Windows.Forms.Padding(0);\r
+ this.pMetadataDisplay.Name = "pMetadataDisplay";\r
+ this.pMetadataDisplay.RowCount = 2;\r
+ this.pMetadataDisplay.RowStyles.Add(new System.Windows.Forms.RowStyle());\r
+ this.pMetadataDisplay.RowStyles.Add(new System.Windows.Forms.RowStyle());\r
+ this.pMetadataDisplay.Size = new System.Drawing.Size(319, 63);\r
+ this.pMetadataDisplay.TabIndex = 5;\r
+ // \r
+ // btnApprove\r
+ // \r
+ this.btnApprove.AutoSize = true;\r
+ this.btnApprove.BackColor = System.Drawing.Color.White;\r
+ this.btnApprove.FlatAppearance.BorderSize = 0;\r
+ this.btnApprove.FlatStyle = System.Windows.Forms.FlatStyle.Flat;\r
+ this.btnApprove.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
+ this.btnApprove.Image = ((System.Drawing.Image)(resources.GetObject("btnApprove.Image")));\r
+ this.btnApprove.Location = new System.Drawing.Point(217, 29);\r
+ this.btnApprove.Margin = new System.Windows.Forms.Padding(0, 4, 0, 0);\r
+ this.btnApprove.Name = "btnApprove";\r
+ this.btnApprove.Size = new System.Drawing.Size(102, 30);\r
+ this.btnApprove.TabIndex = 17;\r
+ this.btnApprove.Text = "Approve";\r
+ this.btnApprove.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;\r
+ this.btnApprove.UseVisualStyleBackColor = false;\r
+ this.btnApprove.Click += new System.EventHandler(this.OnApprove);\r
+ // \r
+ // labelSelectedMetadata\r
+ // \r
+ this.labelSelectedMetadata.AutoSize = true;\r
+ this.labelSelectedMetadata.BackColor = System.Drawing.Color.Transparent;\r
+ this.labelSelectedMetadata.Dock = System.Windows.Forms.DockStyle.Fill;\r
+ this.labelSelectedMetadata.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
+ this.labelSelectedMetadata.ForeColor = System.Drawing.SystemColors.ActiveCaption;\r
+ this.labelSelectedMetadata.Location = new System.Drawing.Point(3, 0);\r
+ this.labelSelectedMetadata.Name = "labelSelectedMetadata";\r
+ this.labelSelectedMetadata.Padding = new System.Windows.Forms.Padding(0, 5, 0, 5);\r
+ this.labelSelectedMetadata.Size = new System.Drawing.Size(211, 25);\r
+ this.labelSelectedMetadata.TabIndex = 13;\r
+ this.labelSelectedMetadata.Text = "Selected metadata";\r
+ // \r
+ // txtSelectedID\r
+ // \r
+ this.txtSelectedID.BackColor = System.Drawing.SystemColors.ActiveCaption;\r
+ this.txtSelectedID.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;\r
+ this.txtSelectedID.Dock = System.Windows.Forms.DockStyle.Fill;\r
+ this.txtSelectedID.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238)));\r
+ this.txtSelectedID.Location = new System.Drawing.Point(3, 28);\r
+ this.txtSelectedID.Name = "txtSelectedID";\r
+ this.txtSelectedID.Size = new System.Drawing.Size(211, 32);\r
+ this.txtSelectedID.TabIndex = 12;\r
+ // \r
// mainMenu\r
// \r
this.mainMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {\r
this.fileToolStripMenuItem});\r
this.mainMenu.Location = new System.Drawing.Point(0, 0);\r
this.mainMenu.Name = "mainMenu";\r
- this.mainMenu.Size = new System.Drawing.Size(990, 24);\r
+ this.mainMenu.Size = new System.Drawing.Size(1068, 24);\r
this.mainMenu.TabIndex = 21;\r
this.mainMenu.Text = "menuStrip1";\r
// \r
this.menuApprove.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.S)));\r
this.menuApprove.Size = new System.Drawing.Size(165, 22);\r
this.menuApprove.Text = "Approve";\r
- this.menuApprove.Click += new System.EventHandler(this.OnClick_menuApprove);\r
+ this.menuApprove.Click += new System.EventHandler(this.OnApprove);\r
// \r
// playerControls\r
// \r
this.playerControls.Location = new System.Drawing.Point(0, 513);\r
this.playerControls.Margin = new System.Windows.Forms.Padding(0);\r
this.playerControls.Name = "playerControls";\r
- this.playerControls.Size = new System.Drawing.Size(990, 116);\r
+ this.playerControls.Size = new System.Drawing.Size(1068, 116);\r
this.playerControls.TabIndex = 22;\r
// \r
// PlayerForm\r
this.AllowDrop = true;\r
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);\r
this.BackColor = System.Drawing.Color.White;\r
- this.ClientSize = new System.Drawing.Size(990, 629);\r
+ this.ClientSize = new System.Drawing.Size(1068, 629);\r
this.Controls.Add(this.mainSplit);\r
this.Controls.Add(this.mainMenu);\r
this.Controls.Add(this.playerControls);\r
this.DragEnter += new System.Windows.Forms.DragEventHandler(this.Form1_DragEnter);\r
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.PlayerForm_KeyDown);\r
this.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.PlayerForm_PreviewKeyDown);\r
- this.pVideo.ResumeLayout(false);\r
- this.ctxmSegmentActions.ResumeLayout(false);\r
this.mainSplit.Panel1.ResumeLayout(false);\r
this.mainSplit.Panel2.ResumeLayout(false);\r
+ this.mainSplit.Panel2.PerformLayout();\r
((System.ComponentModel.ISupportInitialize)(this.mainSplit)).EndInit();\r
this.mainSplit.ResumeLayout(false);\r
this.panelPlayer.ResumeLayout(false);\r
- this.marginPanel.ResumeLayout(false);\r
+ this.tableLayoutPanel1.ResumeLayout(false);\r
this.tabEditor.ResumeLayout(false);\r
this.tpMetadata.ResumeLayout(false);\r
this.tpSegments.ResumeLayout(false);\r
((System.ComponentModel.ISupportInitialize)(this.bsSegments)).EndInit();\r
this.segmentActions.ResumeLayout(false);\r
this.segmentActions.PerformLayout();\r
+ this.pMetadataDisplay.ResumeLayout(false);\r
+ this.pMetadataDisplay.PerformLayout();\r
this.mainMenu.ResumeLayout(false);\r
this.mainMenu.PerformLayout();\r
this.ResumeLayout(false);\r
#endregion\r
private SplitContainer mainSplit;\r
private Panel panelPlayer;\r
- private MenuButton menuButtonSegmentActions;\r
- private ContextMenuStrip ctxmSegmentActions;\r
private System.ComponentModel.IContainer components;\r
- private ToolStripMenuItem defineOneSegmentToolStripMenuItem;\r
- private ToolStripMenuItem splitSegmentAtCurrentPositionToolStripMenuItem;\r
private DataGridView dgSegments;\r
private BindingSource bsSegments;\r
- private ToolStripMenuItem deleteSegmentToolStripMenuItem;\r
- private ToolStripMenuItem actualPositionToIntroToolStripMenuItem;\r
- private ToolStripMenuItem actualPositionToOutroToolStripMenuItem;\r
private MenuStrip mainMenu;\r
private ToolStripMenuItem fileToolStripMenuItem;\r
private DxPlay.Controls.BindableToolStripMenuItem menuOpenFile;\r
private TabPage tpMetadata;\r
private TabPage tpSegments;\r
private ToolStrip segmentActions;\r
- private ToolStripButton toolStripButton1;\r
- private ToolStripButton toolStripButton2;\r
- private ToolStripButton toolStripButton3;\r
- private ToolStripButton toolStripButton4;\r
- private ToolStripButton toolStripButton5;\r
+ private ToolStripButton tbPositionAsTCIn;\r
+ private ToolStripButton tbPositionAsTCOut;\r
+ private ToolStripButton tbDeleteSegment;\r
+ private ToolStripButton tbSplitSegment;\r
+ private ToolStripButton tbDefineSegment;\r
private ImageList imagesTabEdit;\r
- private Panel marginPanel;\r
private TrafficClient.TrafficIDSelector trafficBrowser;\r
private ToolStripSeparator toolStripSeparator2;\r
private ToolStripSeparator toolStripSeparator1;\r
+ private TableLayoutPanel tableLayoutPanel1;\r
+ private NoFocusCueButton btnToggleSegmentEditor;\r
+ private TableLayoutPanel pMetadataDisplay;\r
+ private NoFocusCueButton btnApprove;\r
+ private Label labelSelectedMetadata;\r
+ private TextBox txtSelectedID;\r
}\r
}\r
\r
using MaestroShared.Metadata;\r
using NLog;\r
using DxPlay.Model;\r
-using TrafficClient;\r
using MaestroShared.Commons;\r
using DxPlay.Properties;\r
+using MaestroShared.Targets;\r
\r
namespace DxPlay {\r
\r
private void ApplyModel() {\r
bsSegments.DataSource = model.Segments;\r
dgSegments.AutoGenerateColumns = true;\r
- mainMenu.DataBindings.Add(new Binding("Visible", model, "IsMenuVisible"));\r
- menuOpenFile.DataBindings.Add(new Binding("Enabled", model, "IsMenuVisible"));\r
- menuApprove.DataBindings.Add(new Binding("Enabled", model, "IsApproveEnabled"));\r
- Binding segmentEditorPanelBinding = new Binding("Panel2Collapsed", model, "IsSegmentEditorEnabled");\r
+ mainMenu.DataBindings.Add(new Binding("Visible", model, "IsMenuVisible", false, DataSourceUpdateMode.Never));\r
+ menuOpenFile.DataBindings.Add(new Binding("Enabled", model, "IsMenuVisible", false, DataSourceUpdateMode.Never));\r
+ menuApprove.DataBindings.Add(new Binding("Enabled", model, "IsApproveEnabled", false, DataSourceUpdateMode.Never));\r
+ btnApprove.DataBindings.Add(new Binding("Enabled", model, "IsApproveEnabled", false, DataSourceUpdateMode.Never));\r
+ tpSegments.DataBindings.Add(new Binding("Enabled", model, "IsApproveEnabled", false, DataSourceUpdateMode.Never));\r
+ Binding segmentEditorPanelBinding = new Binding("Panel2Collapsed", model, "IsSegmentEditorVisible", true, DataSourceUpdateMode.Never);\r
segmentEditorPanelBinding.Format += (s, e) => {\r
bool enabled = (bool)e.Value;\r
e.Value = !enabled;\r
mainSplit.Panel2.Hide();\r
};\r
mainSplit.DataBindings.Add(segmentEditorPanelBinding);\r
- trafficBrowser.Parameters = new TrafficParameters {\r
- Configuration = Settings.Metadata, MessageBus = model.MessageBus\r
- };\r
+ txtSelectedID.DataBindings.Add(new Binding("Text", model, "ID", false, DataSourceUpdateMode.Never));\r
+\r
+ trafficBrowser.IDChangedEvent += OnSelectedIDChanged;\r
+ model.InitializeTrafficIntegration(trafficBrowser);\r
+ }\r
+\r
+ private void OnSelectedIDChanged(string ID, int variantID, string text) {\r
+ //logger.Info("Selected ID: " + ID);\r
+ try {\r
+ model.ID = ID;\r
+ model.VariantID = variantID;\r
+ } catch (Exception e) {\r
+ MsgBox.Error(e.Message);\r
+ logger.Error(e);\r
+ }\r
}\r
\r
public PlayerForm() {\r
}\r
\r
private void InitializeTexts() {\r
-\r
- defineOneSegmentToolStripMenuItem.Text = Settings.Resource("define-segment", Resources.SZEGMENS_DEFINIALASA);\r
- splitSegmentAtCurrentPositionToolStripMenuItem.Text = Settings.Resource("break-segment", Resources.SZEGMENS_SZETVAGASA);\r
- actualPositionToIntroToolStripMenuItem.Text = Settings.Resource("position-as-tcin", Resources.AKTUALIS_POZICIO_BELEPO);\r
- actualPositionToOutroToolStripMenuItem.Text = Settings.Resource("position-as-tcout", Resources.AKTUALIS_POZICIO_KILEPO);\r
- deleteSegmentToolStripMenuItem.Text = Settings.Resource("delete-segment", Resources.SZEGMENS_TORLESE);\r
- menuButtonSegmentActions.Text = Settings.Resource("segments", Resources.SZEGMENSEK);\r
+ tpMetadata.Text = Settings.Resource("METADATA", Resources.METADATA);\r
+ tpSegments.Text = Settings.Resource("SEGMENTS", Resources.SEGMENTS);\r
+ tbPositionAsTCIn.Text = Settings.Resource("POSITIONASTCIN", Resources.POSITIONASTCIN);\r
+ tbPositionAsTCOut.Text = Settings.Resource("POSITIONASTCOUT", Resources.POSITIONASTCOUT);\r
+ tbDefineSegment.Text = Settings.Resource("DEFINESEGMENT", Resources.DEFINESEGMENT);\r
+ tbDeleteSegment.Text = Settings.Resource("DELETESEGMENT", Resources.DELETESEGMENT);\r
+ tbSplitSegment.Text = Settings.Resource("SPLITSEGMENT", Resources.SPLITSEGMENT);\r
+ menuOpenFile.Text = Settings.Resource("OPEN", Resources.OPEN);\r
+ menuApprove.Text = Settings.Resource("APPROVE", Resources.APPROVE);\r
+ btnApprove.Text = Settings.Resource("APPROVE", Resources.APPROVE);\r
\r
ToolTip tt = new ToolTip();\r
- tt.SetToolTip(playerControls.Pause, Settings.Resource("pause", Resources.SZUNET));\r
- tt.SetToolTip(playerControls.Play, Settings.Resource("play", Resources.LEJATSZAS));\r
- tt.SetToolTip(playerControls.Stop, Settings.Resource("stop", Resources.LEALLITAS));\r
- playerControls.Status.Text = Settings.Resource("no-input", Resources.NINCS_BEMENET);\r
- playerControls.Start.Text = Settings.Resource("start", Resources.INDULASI_PONT);\r
- playerControls.Duration.Text = Settings.Resource("length", Resources.HOSSZ);\r
+ tt.SetToolTip(playerControls.Pause, Settings.Resource("PAUSE", Resources.PAUSE));\r
+ tt.SetToolTip(playerControls.Play, Settings.Resource("PLAY", Resources.PLAY));\r
+ tt.SetToolTip(playerControls.Stop, Settings.Resource("STOP", Resources.STOP));\r
+ playerControls.Status.Text = Settings.Resource("NOINPUT", Resources.NOINPUT);\r
+ playerControls.Start.Text = Settings.Resource("START", Resources.START);\r
+ playerControls.Duration.Text = Settings.Resource("LENGTH", Resources.LENGTH);\r
}\r
\r
private void Cueue() {\r
}\r
}\r
\r
- public void Open(FileInfo fileInfo) {\r
+ public void OpenFile(FileInfo fileInfo) {\r
logger.Debug("Open");\r
+ if (model.IsMenuVisible) {\r
+ model.ID = null;\r
+ model.CurrentFile = null;\r
+ }\r
+\r
if (m_play != null)\r
m_play.Dispose();\r
this.Text = fileInfo.Name;\r
selectedFile = fileInfo.FullName;\r
- \r
+\r
Cueue();\r
\r
if (model.IsMenuVisible) {\r
+ model.CurrentFile = fileInfo;\r
openFileDialog.InitialDirectory = fileInfo.Directory.FullName;\r
string id = fileInfo.Name.Replace(fileInfo.Extension, "");\r
try {\r
- model.InitializeSegments(id);\r
+ model.Lookup(id);\r
} catch (Exception e) {\r
MsgBox.Error(e.Message);\r
logger.Error(e);\r
private void Form1_DragDrop(object sender, DragEventArgs e) {\r
string[] files = (string[])e.Data.GetData(DataFormats.FileDrop);\r
FileInfo fileInfo = new FileInfo(files[0]);\r
- Open(fileInfo);\r
+ OpenFile(fileInfo);\r
}\r
\r
private void panel1_MouseDown(object sender, MouseEventArgs e) {\r
}\r
\r
private void OnDefineOneSegmentClick(object sender, EventArgs e) {\r
+ if (m_play == null)\r
+ return;\r
MovieSegment segment = null;\r
if (model.Segments.Count == 0) {\r
segment = new MovieSegment() {\r
}\r
\r
private void SetActualPositionAsIn() {\r
+ if (m_play == null)\r
+ return;\r
MovieSegment currentSegment = bsSegments.Current as MovieSegment;\r
if (currentSegment == null || bsSegments.Count == 0) {\r
MovieSegment newSegment = new MovieSegment() {\r
\r
\r
private void SetActualPositionAsOut() {\r
+ if (m_play == null)\r
+ return;\r
MovieSegment currentSegment = bsSegments.Current as MovieSegment;\r
if (currentSegment == null || bsSegments.Count == 0) {\r
MovieSegment newSegment = new MovieSegment() {\r
int index = e.Column.Index;\r
switch (index) {\r
case 0:\r
- e.Column.HeaderText = Settings.Resource("tc-in", Resources.BELEPO);\r
+ e.Column.HeaderText = Settings.Resource("TCIN", Resources.TCIN);\r
e.Column.ReadOnly = true;\r
break;\r
case 1:\r
- e.Column.HeaderText = Settings.Resource("tc-out", Resources.KILEPO);\r
+ e.Column.HeaderText = Settings.Resource("TCOUT", Resources.TCOUT);\r
e.Column.ReadOnly = true;\r
break;\r
case 2:\r
- e.Column.HeaderText = Settings.Resource("optional", Resources.ELHAGYHATO);\r
+ e.Column.HeaderText = Settings.Resource("OPTIONAL", Resources.OPTIONAL);\r
break;\r
case 3:\r
- e.Column.HeaderText = Settings.Resource("comment", Resources.MEGJEGYZES);\r
+ e.Column.HeaderText = Settings.Resource("COMMENT", Resources.COMMENT);\r
break;\r
}\r
}\r
\r
private void menuOpenFile_Click(object sender, EventArgs e) {\r
if (openFileDialog.ShowDialog() == DialogResult.OK)\r
- Open(new FileInfo(openFileDialog.FileName));\r
+ OpenFile(new FileInfo(openFileDialog.FileName));\r
+ }\r
+\r
+ private void OnApprove(object sender, EventArgs e) {\r
+ model.Approve();\r
}\r
\r
- private void OnClick_menuApprove(object sender, EventArgs e) {\r
- MessageBox.Show("approve");\r
+ private void OnToggleSegmentEditor(object sender, EventArgs e) {\r
+\r
}\r
}\r
}\r
<resheader name="writer">\r
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>\r
</resheader>\r
- <metadata name="ctxmSegmentActions.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">\r
- <value>17, 17</value>\r
- </metadata>\r
<metadata name="bsSegments.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">\r
<value>184, 17</value>\r
</metadata>\r
<value>412, 17</value>\r
</metadata>\r
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />\r
- <data name="toolStripButton5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
+ <data name="tbDefineSegment.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
<value>\r
iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8\r
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAC8SURBVDhP1ZO9DcIwFISfqKGjpaENG4S/GZiEOiWMkR2Y\r
joA3SmCG2RrIDDz6jTEwy46gBfBPi4WIn2M2K/9fKX8hkQ9xw2LrlhXH8QAAAABJRU5ErkJggg==\r
</value>\r
</data>\r
- <data name="toolStripButton1.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
+ <data name="tbPositionAsTCIn.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
<value>\r
iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8\r
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABOSURBVDhPYxgFVAWOUJoiUALE/4HYB8wjE8AMmQbmkQmo\r
RK5CYII=\r
</value>\r
</data>\r
- <data name="toolStripButton4.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
+ <data name="tbSplitSegment.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
<value>\r
iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8\r
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABlSURBVDhPYxjZ4AAUUwxGDUIFFUDcD2HCATaDQGoKIEzs\r
UGzIkAUMDABv+SVD4UMwTwAAAABJRU5ErkJggg==\r
</value>\r
</data>\r
- <data name="toolStripButton2.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
+ <data name="tbPositionAsTCOut.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
<value>\r
iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8\r
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABOSURBVDhPYxgFFAMnKE0R8APi/0BcAuZRCKYBMdUMmwfE\r
RK5CYII=\r
</value>\r
</data>\r
- <data name="toolStripButton3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
+ <data name="tbDeleteSegment.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
<value>\r
iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8\r
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAABvSURBVDhPYxhZwBVK4wOOUBoncAPi/0DcDuZhByA5kBon\r
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w\r
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0\r
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAABo\r
- CAAAAk1TRnQBSQFMAgEBAgEAAWgBAAFoAQABGAEAARgBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
+ CAAAAk1TRnQBSQFMAgEBAgEAAUABAQFAAQEBGAEAARgBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
AwABYAMAARgDAAEBAQABCAYAAQkYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA\r
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5\r
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA\r
Av8B+AEfBgAB/wGBAv8B8AEPBgAB/wGBAf8BwAEhAYcGAAH/AYEB/wHAATMBwwYAAfwBAAE/Av8B4QYA\r
AfwBAAE/Av8B8QYAAf4BAAF/AcABAwH7BgAB/wEAAf8BwAEDAf8GAAH/AYEE/wYAAf8BwwT/BgAB/wHn\r
Af8BwAEDAf8GAAP/AcABAwH/BgAB+AEAAR8D/wYAAfgBAAEfA/8GAAb/BgAG/wYABv8GAAb/BgAL\r
+</value>\r
+ </data>\r
+ <data name="btnToggleSegmentEditor.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
+ <value>\r
+ iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABGdBTUEAALGPC/xhBQAAAJpJREFUaEPt\r
+ 1zEKwzAAQ1Efp0uWnq17UujWm3YIgR6gkWi92VtDLPgPBCGTBAE7BQAAAH/zUObvY56n8vnl5hdJ7kot\r
+ HzniorwURpzNI1YlesSkMGIEHrEp0SOuCiNG4BFvJXZEb8CiDK/3CfnuNDzKn6V3BsSUb53ClD9a7yYa\r
+ U771LxBR3nwgxZavXDi2fOXiseUBAACylLIDyDZ2w7cTLqQAAAAASUVORK5CYII=\r
+</value>\r
+ </data>\r
+ <data name="btnApprove.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">\r
+ <value>\r
+ iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAALGPC/xhBQAAAVJJREFUSEvt\r
+ 008rBVEYx/FJ6i5QFG7CG7AnL0A2bNS9W0VWLCiXhSwUindgK/begJWNmw0pWd0FKzellJX/3980z22c\r
+ Zg5z3QV1f/VZPOecec7MnJmgmX+RIezhEk/4wD12MIhfZQlqmOYZJdSVFajJOw4xjm50YhgHsI32kSlj\r
+ UOMXFDSQkiJskzkN+NKCaZzhFbpoHd9lG1pbCauU9OICdjdyg1bEsxGJpw12+CMacKMF19CCW8ygHW7U\r
+ 2DZ3N7HzeMQRdF61rEKTesQODSQk3tzEN5mHO7+LMOfQQNphJjU37pN0QZ/2GzQ/ivBbVpFX4Ym+d2u8\r
+ rAFPFqF1el21AxpQ4UmWDXSzWldVUY4KHa4vWTbog9bp5oPZqHiAJhqRNajniQr9YKfRwB0m0YN60o9N\r
+ qJdMIIwmrmATjbCFL8lhAfofki74qWNMoZk/kSD4BI3xj2R8oQqYAAAAAElFTkSuQmCC\r
</value>\r
</data>\r
<metadata name="mainMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">\r
if (arguments.Length > 1) {\r
FileInfo fi = new FileInfo(arguments[1]);\r
if (fi.Exists)\r
- playerForm.Open(fi);\r
+ playerForm.OpenFile(fi);\r
}\r
return playerForm.IsDisposed;\r
}\r
},\r
Segments = movieSegments\r
};\r
- player.Open(fileInfo);\r
+ player.OpenFile(fileInfo);\r
if (!player.IsDisposed)\r
player.ShowDialog();\r
} else {\r
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w\r
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0\r
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAS\r
- CAAAAk1TRnQBSQFMAgEBAgEAAWgBAQFoAQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
+ CAAAAk1TRnQBSQFMAgEBAgEAAXgBAQF4AQEBEAEAARABAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo\r
AwABQAMAARADAAEBAQABCAYAAQQYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA\r
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5\r
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA\r
<ItemGroup>\r
<None Include="Resources\round_publish_black_24dp.png" />\r
</ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="Resources\sharp_keyboard_arrow_left_black_48dp.png" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="Resources\sharp_keyboard_arrow_right_black_48dp.png" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="Resources\baseline_backup_black_24dp.png" />\r
+ </ItemGroup>\r
+ <ItemGroup>\r
+ <None Include="Resources\outline_backup_black_24dp.png" />\r
+ </ItemGroup>\r
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
</Project>
\ No newline at end of file
}\r
}\r
\r
+ /// <summary>\r
+ /// Looks up a localized resource of type System.Drawing.Bitmap.\r
+ /// </summary>\r
+ public static System.Drawing.Bitmap outline_backup_black_24dp {\r
+ get {\r
+ object obj = ResourceManager.GetObject("outline_backup_black_24dp", resourceCulture);\r
+ return ((System.Drawing.Bitmap)(obj));\r
+ }\r
+ }\r
+ \r
/// <summary>\r
/// Looks up a localized resource of type System.Drawing.Bitmap.\r
/// </summary>\r
return ((System.Drawing.Bitmap)(obj));\r
}\r
}\r
+ \r
+ /// <summary>\r
+ /// Looks up a localized resource of type System.Drawing.Bitmap.\r
+ /// </summary>\r
+ public static System.Drawing.Bitmap sharp_keyboard_arrow_left_black_48dp {\r
+ get {\r
+ object obj = ResourceManager.GetObject("sharp_keyboard_arrow_left_black_48dp", resourceCulture);\r
+ return ((System.Drawing.Bitmap)(obj));\r
+ }\r
+ }\r
+ \r
+ /// <summary>\r
+ /// Looks up a localized resource of type System.Drawing.Bitmap.\r
+ /// </summary>\r
+ public static System.Drawing.Bitmap sharp_keyboard_arrow_right_black_48dp {\r
+ get {\r
+ object obj = ResourceManager.GetObject("sharp_keyboard_arrow_right_black_48dp", resourceCulture);\r
+ return ((System.Drawing.Bitmap)(obj));\r
+ }\r
+ }\r
}\r
}\r
<data name="round_publish_black_24dp" type="System.Resources.ResXFileRef, System.Windows.Forms">\r
<value>..\Resources\round_publish_black_24dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\r
</data>\r
+ <data name="sharp_keyboard_arrow_left_black_48dp" type="System.Resources.ResXFileRef, System.Windows.Forms">\r
+ <value>..\Resources\sharp_keyboard_arrow_left_black_48dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\r
+ </data>\r
+ <data name="sharp_keyboard_arrow_right_black_48dp" type="System.Resources.ResXFileRef, System.Windows.Forms">\r
+ <value>..\Resources\sharp_keyboard_arrow_right_black_48dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\r
+ </data>\r
+ <data name="outline_backup_black_24dp" type="System.Resources.ResXFileRef, System.Windows.Forms">\r
+ <value>..\Resources\outline_backup_black_24dp.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>\r
+ </data>\r
</root>
\ No newline at end of file
EndProject\r
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MCTool", "MCTool\MCTool.csproj", "{A64ADB88-2CC4-4E46-BC53-643E2C49E179}"\r
EndProject\r
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{B29016BD-2E82-407B-B0DB-628EC92C7751}"\r
+ ProjectSection(SolutionItems) = preProject\r
+ ..\docs\mediacube-dxplay.md = ..\docs\mediacube-dxplay.md\r
+ EndProjectSection\r
+EndProject\r
Global\r
GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
Debug|Any CPU = Debug|Any CPU\r
// You can specify all the values or you can default the Build and Revision Numbers\r
// by using the '*' as shown below:\r
// [assembly: AssemblyVersion("1.0.*")]\r
-[assembly: AssemblyVersion("1.0.0.0")]\r
-[assembly: AssemblyFileVersion("1.0.0.0")]\r
+[assembly: AssemblyVersion("1.0.0.1")]\r
+[assembly: AssemblyFileVersion("1.0.0.1")]\r
\r
private void OnSelectionChanged(DataGridViewRow actualRow) {\r
TrafficItem trafficItem = actualRow.DataBoundItem as TrafficItem;\r
+ DataGridViewCheckBoxCell actualCell = actualRow.Cells[0] as DataGridViewCheckBoxCell;\r
+ if (!actualCell.Equals(selectedCell)) {\r
+ ClearSelection();\r
+ selectedCell = actualRow.Cells[0] as DataGridViewCheckBoxCell;\r
+ }\r
+ selectedCell.Value = !(bool)selectedCell.Value;\r
+ bool selected = (bool)selectedCell.Value;\r
+\r
+ if (selected) {\r
+ CreateVersionIfMissing(trafficItem);\r
+ IDChangedEvent?.Invoke(trafficItem.MediaID, trafficItem.VariantID, trafficItem.Title);\r
+ }\r
+ else\r
+ IDChangedEvent?.Invoke(null, 0, null);\r
+ }\r
+\r
+ private void CreateVersionIfMissing(TrafficItem trafficItem) {\r
if (String.IsNullOrEmpty(trafficItem.MediaID)) {\r
var currentVersion = trafficAPI.GetMaterials(trafficItem.EpisodeID, false)?.FirstOrDefault();\r
if (currentVersion == null || String.IsNullOrEmpty(currentVersion.MediaID)) {\r
\r
if (trafficItem.VariantID == 0 || String.IsNullOrEmpty(trafficItem.MediaID))\r
return;\r
+ } else if (ModifierKeys.HasFlag(Keys.Shift)) {\r
+ var currentVersion = trafficAPI.GetMaterials(trafficItem.EpisodeID, false)?.FirstOrDefault();\r
+ TrafficVersion newVersion = trafficAPI.CreateMaterialVersion(trafficItem.EpisodeID, true);\r
+ if (newVersion != null) {\r
+ RefreshResults();\r
+ }\r
}\r
- DataGridViewCheckBoxCell actualCell = actualRow.Cells[0] as DataGridViewCheckBoxCell;\r
- if (!actualCell.Equals(selectedCell)) {\r
- ClearSelection();\r
- selectedCell = actualRow.Cells[0] as DataGridViewCheckBoxCell;\r
- }\r
- selectedCell.Value = !(bool)selectedCell.Value;\r
- bool selected = (bool)selectedCell.Value;\r
- if (actualRow.Selected)\r
- IDChangedEvent?.Invoke(trafficItem.MediaID, trafficItem.VariantID, trafficItem.Title);\r
- else\r
- IDChangedEvent?.Invoke(null, 0, null);\r
}\r
\r
public void ClearSelection() {\r
using System.Data;\r
using System.Data.SqlClient;\r
using NLog;\r
-using System.Diagnostics;\r
using LinkDotNet.MessageHandling.Contracts;\r
\r
namespace TrafficClient.Workers {\r
NextBroadcastDate = data.v_NextBroadcastDate,\r
FirstBroadcastDate = data.v_FirstBroadcastDate,\r
EpisodeID = data.v_EpisodeID,\r
+ SegmentCount = (short)data.v_VariantNrSegments,\r
OK = data.v_OkForAir != null && true.Equals(data.v_OkForAir)\r
};\r
}\r
--- /dev/null
+# MediaCube Maestro DxPlay\r
+> *Verzió: 1.0 - 2018.08.13*\r
+\r
+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.\r
+\r
+## MediaCube server\r
+* Platformfüggetlen Java OSGi alkalmazás média állományok és metaadataik kezeléséhez.\r
+* Magas rendelkezésreállású Linux cluster környezet.\r
+* Tetszőlegesen ütemezhető, könnyen konfigurálható és bővíthető folyamatkezelés.\r
+* 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.\r
+* A tárhely kezeléshez beépített API: tsm, ftp, smb, filesystem támogatással.\r
+* Konfigurálható metaadat kezelés, Full-Text keresési lehetőséggel.\r
+* 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.\r
+* REST API az adatok lekérdezéséhez, módosításához.\r
+\r
+## MediaCube Maestro\r
+* Windows .NET vastag kliens a média állományok és metaadataik felhasználói kezeléséhez.\r
+* 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.\r
+* Beépített videólejátszó a nagyfelbontású anyagok megtekintéséhez és szegmentáláshoz.\r
+* Beépített hangrögzítő a hangalámondás és a telefonos interjúk felvételéhez.\r
+* Támogatott források: smb, ftp, filesystem\r
+* 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.\r
+* 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.\r
+* 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.\r
+* Televíziós munkahelyekre kihegyezett médiakezelési sablonok: szerkesztő, szerkesztő-riporter, vágó, adásmegtekintő, adáslebonyolító.\r
+* FXP alapú átvitel támogatása a forrás és a cél tárolók között.\r
+\r
+## Beállítások\r
+\r
+\r
+* Octopus hírrendszer: metaadat forrásként REST API-n keresztül.\r
+* 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).\r
+* Morpheus adáskijátszó rendszer: XML alapú metaadat betöltés.\r
+* NEXIO videóserver: API-n keresztül a MediaBase lekérdezése, metaadatok feltöltése.\r
+* TSM: API-n keresztül anyag betöltés/visszatöltés.\r