\r
public enum GraphState {\r
Stopped,\r
+ Completed,\r
Paused,\r
Playing,\r
Exiting\r
stateHunStringValues.Add(GraphState.Paused, StringResource.SZUNETELTETETT);\r
stateHunStringValues.Add(GraphState.Playing, StringResource.LEJATSZAS);\r
stateHunStringValues.Add(GraphState.Stopped, StringResource.MEGALLITVA);\r
+ stateHunStringValues.Add(GraphState.Completed, StringResource.VEGE);\r
}\r
\r
private void TcWorker_DoWork(object sender, DoWorkEventArgs e) {\r
// start playing\r
public void Play() {\r
// If we aren't already playing (or shutting down)\r
+ //if (State == GraphState.Completed)\r
+ // Stop();\r
if (State == GraphState.Stopped || State == GraphState.Paused) {\r
int hr = m_mediaCtrl.Run();\r
DsError.ThrowExceptionForHR(hr);\r
MediaDescription.duration = new Timecode();\r
MediaDescription.Duration.Set(ReferenceTimeToFrames(duration));\r
if (MediaDescription.FirstFrame == null) {\r
- MXFFile mxf = new MXFFile(MediaDescription.FileName);\r
- mxf.Inspect();\r
- MediaDescription.firstFrame = new Timecode(mxf.FirstSystemItem?.UserDateFullFrameNb, MediaDescription.FrameRate);\r
+ try {\r
+ MXFFile mxf = new MXFFile(MediaDescription.FileName);\r
+ mxf.Inspect();\r
+ MediaDescription.firstFrame = new Timecode(mxf.FirstSystemItem?.UserDateFullFrameNb, MediaDescription.FrameRate);\r
+ }\r
+ catch (Exception ex) {\r
+ MediaDescription.firstFrame = new Timecode();\r
+ } \r
}\r
//MediaDescription.firstFrame = new Timecode();\r
CurrentTC = new Timecode(MediaDescription.FirstFrame);\r
\r
// If the clip is finished playing\r
if (ec == EventCode.Complete) {\r
- //Stop();\r
+ //State = GraphState.Completed;\r
}\r
\r
// Release any resources the message allocated\r
\r
+using MaestroShared.Controls;\r
using System.Windows.Forms;\r
\r
namespace DxPlay {\r
partial class PlayerForm : Form {\r
private Panel pVideo;\r
- private Button btnPlay;\r
- private Button btnPause;\r
+ private NoFocusCueButton btnPlay;\r
+ private NoFocusCueButton btnPause;\r
private TextBox textCurrentTC;\r
- private Button btnStop;\r
+ private NoFocusCueButton btnStop;\r
private TextBox txtStartTC;\r
private TextBox txtEndTC;\r
private Panel panel3;\r
this.splitContainer1 = new System.Windows.Forms.SplitContainer();\r
this.panelPlayer = new System.Windows.Forms.Panel();\r
this.pControls = new System.Windows.Forms.FlowLayoutPanel();\r
- this.btnPlay = new System.Windows.Forms.Button();\r
- this.btnStop = new System.Windows.Forms.Button();\r
- this.btnPause = new System.Windows.Forms.Button();\r
+ this.btnPlay = new NoFocusCueButton();\r
+ this.btnStop = new NoFocusCueButton();\r
+ this.btnPause = new NoFocusCueButton();\r
this.dgSegments = new System.Windows.Forms.DataGridView();\r
this.bsSegments = new System.Windows.Forms.BindingSource(this.components);\r
this.menuButtonSegmentActions = new DxPlay.MenuButton();\r
this.btnPlay.Name = "btnPlay";\r
this.btnPlay.Size = new System.Drawing.Size(54, 54);\r
this.btnPlay.TabIndex = 1;\r
+ this.btnPlay.TabStop = false;\r
this.btnPlay.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;\r
this.btnPlay.UseVisualStyleBackColor = false;\r
this.btnPlay.Click += new System.EventHandler(this.btnPlay_Click);\r
this.btnStop.Name = "btnStop";\r
this.btnStop.Size = new System.Drawing.Size(54, 54);\r
this.btnStop.TabIndex = 16;\r
+ this.btnStop.TabStop = false;\r
this.btnStop.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;\r
this.btnStop.UseVisualStyleBackColor = false;\r
this.btnStop.Click += new System.EventHandler(this.btnStop_Click);\r
this.btnPause.Name = "btnPause";\r
this.btnPause.Size = new System.Drawing.Size(54, 54);\r
this.btnPause.TabIndex = 11;\r
+ this.btnPause.TabStop = false;\r
this.btnPause.TextImageRelation = System.Windows.Forms.TextImageRelation.ImageBeforeText;\r
this.btnPause.UseVisualStyleBackColor = false;\r
this.btnPause.Click += new System.EventHandler(this.btnPause_Click);\r
\r
private void PlayerForm_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) {\r
if (e.KeyCode == Keys.Left || e.KeyCode == Keys.Right || e.KeyCode == Keys.Space || e.KeyCode == Keys.Escape) {\r
- e.IsInputKey = true;\r
+ e.IsInputKey = false;\r
}\r
}\r
\r
}\r
\r
private void PlayerForm_Load(object sender, EventArgs e) {\r
- DisableHotKeysDefaults(this.Controls);\r
+ //DisableHotKeysDefaults(this.Controls);\r
+\r
InterceptKeys.Start();\r
InterceptKeys.GlobalKeyEvent += HandleHotKey;\r
\r
}\r
\r
private void PlayerForm_KeyDown(object sender, KeyEventArgs e) {\r
- e.Handled = true;\r
- e.SuppressKeyPress = true; \r
+ if (dgSegments.IsCurrentCellInEditMode)\r
+ return;\r
+ if (e.KeyCode == Keys.Left || e.KeyCode == Keys.Right || e.KeyCode == Keys.Space || e.KeyCode == Keys.Escape) {\r
+ e.Handled = true;\r
+ e.SuppressKeyPress = true;\r
+ }\r
}\r
\r
private bool HandleHotKey(Keys keyCode) {\r
\r
\r
private void dgSegments_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e) {\r
- //MovieSegment actualSegment = bsSegments.Current as MovieSegment;\r
- //if (actualSegment == null)\r
- // return;\r
- //if (e.ColumnIndex == 0) {\r
- // m_play.Pause();\r
- // m_play.Seek(actualSegment.TCIn.ZeroBasedFrames);\r
- //}\r
- //if (e.ColumnIndex == 1) {\r
- // m_play.Pause();\r
- // m_play.Seek(actualSegment.TCOut.ZeroBasedFrames);\r
- //}\r
+ MovieSegment actualSegment = bsSegments.Current as MovieSegment;\r
+ if (actualSegment == null)\r
+ return;\r
+ if (e.ColumnIndex == 0) {\r
+ m_play.Pause();\r
+ m_play.Seek(actualSegment.TCIn.Frames - m_play.MediaDescription.FirstFrame.Frames);\r
+ }\r
+ if (e.ColumnIndex == 1) {\r
+ m_play.Pause();\r
+ int pos = actualSegment.TCOut.Frames - m_play.MediaDescription.FirstFrame.Frames;\r
+ //Az utolsó kocka nem jelenik meg egyébként\r
+ if (pos == m_play.MediaDescription.Duration.Frames)\r
+ pos--;\r
+ m_play.Seek(pos);\r
+ m_play.Play();\r
+ }\r
\r
}\r
}\r
return ResourceManager.GetString("SZUNETELTETETT", resourceCulture);\r
}\r
}\r
+ \r
+ /// <summary>\r
+ /// Looks up a localized string similar to Vége.\r
+ /// </summary>\r
+ internal static string VEGE {\r
+ get {\r
+ return ResourceManager.GetString("VEGE", resourceCulture);\r
+ }\r
+ }\r
}\r
}\r
<data name="SZUNETELTETETT" xml:space="preserve">\r
<value>Szüneteltetett</value>\r
</data>\r
+ <data name="VEGE" xml:space="preserve">\r
+ <value>Vége</value>\r
+ </data>\r
</root>
\ No newline at end of file
{\r
"minimizeToTray": true,\r
"userDomain": {\r
- "address": "intra.echotv.hu",\r
+ "address": "10.10.254.11",\r
"userName": "echotest",\r
"password": "F3QcfkSEW7hq+FcEraq9xv4UdHHeVoOh7jBH1G1k9SzEayTXyiT4WQ7XKtBO/ygnCpRU97AXoKXKoqXIGP8QlVkFurRqwzo8mywEb1q2VW7dUjkJcLFtLDkqQjM39+N9"\r
}\r
--- /dev/null
+using System.Windows.Forms;\r
+\r
+namespace MaestroShared.Controls {\r
+ public class NoFocusCueButton : Button {\r
+ protected override bool ShowFocusCues {\r
+ get {\r
+ return false;\r
+ }\r
+ }\r
+ }\r
+}\r
<Compile Include="Configuration\ConfigurationInfo.cs" />\r
<Compile Include="Configuration\KeysJsonConverter.cs" />\r
<Compile Include="Configuration\KnownTypesBinder.cs" />\r
+ <Compile Include="Controls\NoFocusCueButton.cs">\r
+ <SubType>Component</SubType>\r
+ </Compile>\r
<Compile Include="Metadata\MetadataType.cs" />\r
<Compile Include="Metadata\MovieSegment.cs" />\r
<Compile Include="Metadata\Timecode.cs" />\r