private void _engine_EngineOperation(object sender, EngineOperationEventArgs e) { Debug.WriteLine($"Plugin notification received for {e.Event}"); if (e.Event == null) { return; } if (MediaCategory != null && e.Event.Media?.MediaCategory != MediaCategory) { return; } try { if (e.Operation == TEngineOperation.Play) { var data = new CasparCGDataCollection(); foreach (var dataItem in Data) { switch (dataItem.Value) { case DataValueKind.CurrentItemName: data.SetData(dataItem.Name, e.Event.EventName); break; case DataValueKind.CurrentItemDurationInSeconds: data.SetData(dataItem.Name, e.Event.Duration.TotalSeconds.ToString(CultureInfo.InvariantCulture)); break; case DataValueKind.NextItemName: data.SetData(dataItem.Name, e.Event.GetSuccessor()?.EventName ?? string.Empty); break; case DataValueKind.NextShowName: data.SetData(dataItem.Name, FindNextShowName(e.Event)?.EventName ?? string.Empty); break; case DataValueKind.NextNextItemName: data.SetData(dataItem.Name, e.Event.GetSuccessor()?.GetSuccessor()?.EventName ?? string.Empty); break; case DataValueKind.NextNextShowName: data.SetData(dataItem.Name, FindNextNextShowName(e.Event)?.EventName ?? string.Empty); break; } } Engine.Execute($"{CommandOnPlay} {data.ToAMCPEscapedXml()}"); } } catch (Exception exception) { Logger.Error(exception); } }
private void _engine_EngineOperation(object sender, EngineOperationEventArgs e) { Debug.WriteLine($"Plugin notification received for {e.Event}"); if (e.Operation == TEngineOperation.Load) { } //if (e.Operation == TAS.Common.TEngineOperation.Play) //{ // IServerMedia media = e.Event?.Media as IServerMedia; // if (media == null) // return; // if (!string.IsNullOrWhiteSpace(media.IdAux) || media.MediaCategory == TAS.Common.TMediaCategory.Commercial) // { // UriBuilder uri = new UriBuilder(@"http://localhost/live/app/registerEvent.php"); // Dictionary<string, string> parameters = new Dictionary<string, string>(); // parameters.Add("playoutServerTimestamp", (e.Event.StartTime.Ticks / TimeSpan.TicksPerMillisecond).ToString()); // if (!string.IsNullOrWhiteSpace(media.IdAux)) // parameters.Add("eventType", media.IdAux); // else // parameters.Add("eventType", "STARTING"); // parameters.Add("eventDuration", ((int)e.Event.Duration.TotalMilliseconds).ToString()); // uri.Query = string.Join("&", parameters.Select(kv => string.Format("{0}={1}", kv.Key, kv.Value))); // HttpWebRequest req = (HttpWebRequest)WebRequest.Create(uri.Uri); // req.Proxy = null; // using (MemoryStream jsonData = new MemoryStream()) // using (var writer = new System.IO.StreamWriter(jsonData)) // { // new Newtonsoft.Json.JsonSerializer() { Formatting = Newtonsoft.Json.Formatting.Indented, PreserveReferencesHandling = Newtonsoft.Json.PreserveReferencesHandling.None } // .Serialize(writer, EventProxy.FromEvent(e.Event)); // req.Method = "POST"; // req.ContentLength = jsonData.Length; // req.ContentType = "application/json"; // Stream reqStream = req.GetRequestStream(); // jsonData.WriteTo(reqStream); // reqStream.Close(); // } // Debug.WriteLine(req.GetResponse()); // } //} }
private void _engineOperation(object sender, EngineOperationEventArgs a) { if (a.Operation == TEngineOperation.Play) { if (a.Event.Layer == VideoLayer.Program) { if (_trackPlayingEvent) Application.Current.Dispatcher.BeginInvoke((Action)delegate() { var pe = _engine.PlayingEvent(); if (pe != null) SetOnTopView(pe); }, null); } NotifyPropertyChanged("VisibleEvents"); } NotifyPropertyChanged("CommandStartLoaded"); if (a.Event != null && _selected != null && a.Event == _selected.Event) Application.Current.Dispatcher.BeginInvoke((Action)_onSelectedChanged, null); }
private void _onEngineOperation(object sender, EngineOperationEventArgs e) { if (e.Operation == TEngineOperation.Clear) PlayingEvent = null; else if (e.Event != null && e.Event.Layer == VideoLayer.Program && (e.Operation == TEngineOperation.Load || e.Operation == TEngineOperation.Play || e.Operation == TEngineOperation.Start || e.Operation == TEngineOperation.Stop) ) { PlayingEvent = _engine.PlayingEvent(); } }