/// <summary> /// Next Layout /// </summary> private void NextLayout() { Console.WriteLine("New Layout"); try { callback = null; PlayerSettings.firstLoadCheck = 1; FinishedRegionList.Clear(); //PlayerSettings.RegionList.Clear(); //PlayerSettings.MediaNodeList.Clear(); //PlayerSettings.AudioNodeList.Clear(); this.LayoutRoot.Children.Clear(); _layoutDuration = 0; if (_finishLayout != null) { _finishLayout(); } } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } }
/// <summary> /// Set Panle using Region Details /// </summary> /// <param name="index"></param> private void SetRegionPanel(int index) { try { callback = new FinishRegionCallback(CompleteRegion); string _regionID = _layout.RegionList[index].regionId; int _widht = _layout.RegionList[index].width; int _height = _layout.RegionList[index].height; int _Top = _layout.RegionList[index].top; int _left = _layout.RegionList[index].left; PanelControl panelCon = new PanelControl(_regionID, _layout, callback) { Width = _widht, Height = _height, HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Margin = new Thickness(_left, _Top, 0, 0) }; this.LayoutRoot.Children.Add(panelCon); } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } }
/// <summary> /// Call back method when media compleated /// </summary> /// <param name="regionId"></param> private void CompleateMedia(int regionId) { try { if (MediaList.Count == 1) { Trace.WriteLine(new LogMessage("Media - SignalElapsedEvent", "Media Complete"), LogType.Audit.ToString()); loopCounter = 0; CallToBack(); } else { this.Dispatcher.Invoke(() => { this.LayoutPanel.Children.Clear(); loopCounter++; if (MediaList.Count <= loopCounter) { loopCounter = 0; CallToBack(); } if (MediaList.Count >= loopCounter) { ViewRegionMedia(loopCounter); } }); } } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } }
public void CompleteRegion(int regionID) { try { ///Thread.Sleep(10000); Console.WriteLine("Finished Region " + regionID); bool isInList = FinishedRegionList.IndexOf(regionID) != -1; if (!isInList) { FinishedRegionList.Add(regionID); Console.WriteLine("Add Finished Region List in " + regionID); } // //FinishedRegionList = FinishedRegionList.Distinct().ToList(); Console.WriteLine("Finished Region List Count " + FinishedRegionList.Count); // critical section } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } }
private void SetRegionPanel(int index) { try { string _regionID = _ovelays.RegionList[index].regionId; int _widht = _ovelays.RegionList[index].width; int _height = _ovelays.RegionList[index].height; int _Top = _ovelays.RegionList[index].top; int _left = _ovelays.RegionList[index].left; PanelControl panelCon = new PanelControl(_regionID, _ovelays, null) { Width = _widht, Height = _height, HorizontalAlignment = HorizontalAlignment.Left, VerticalAlignment = VerticalAlignment.Top, Margin = new Thickness(_left, _Top, 0, 0) }; this.OvelaysRoot.Children.Add(panelCon); } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } }
private void LayoutControl_Unloaded(object sender, RoutedEventArgs e) { try { this.LayoutRoot.Children.Clear(); } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } }
private void FlashControl_Loaded(object sender, RoutedEventArgs e) { try { ViewFlash(); } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } }
/// <summary> /// get all Media duration in one region /// </summary> /// <param name="region"></param> private void RegionDuraion(int region) { try { if (RegionsMedia.Count > 0) { RegionsMedia.Clear(); } //Region ID string regionId = _layout.RegionList[region].regionId; //Get Media in to one region RegionsMedia = _layout.MediaNodeList.Where(x => x.regionId == regionId).ToList(); double regionDuration = 0; for (int length = 0; length < RegionsMedia.Count; length++) { string type = RegionsMedia[length].type; int duratuin = RegionsMedia[length].duration; if (type == "video" && duratuin == 0) { //IsVideo = true; TimeSpan videoDuration = PlayerSettings.GetVideoDuration(RegionsMedia[length].uri); regionDuration += videoDuration.TotalSeconds; } else { try { regionDuration += RegionsMedia[length].duration; } catch (Exception ex) { regionDuration += 0; } } if (RegionsMedia[length].transInDuration != 0) { regionDuration += (RegionsMedia[length].transInDuration / 1000); } if (RegionsMedia[length].transOutDuration != 0) { regionDuration += (RegionsMedia[length].transOutDuration / 1000); } } RegionDurationList.Add(regionDuration); } catch (Exception ex) { PlayerSettings.ErrorLog(ex); //DefaultSplashScreen(); } }
private void AudioControl_Loaded(object sender, RoutedEventArgs e) { try { RenderAudio(); } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } }
private void ViewLayout() { try { for (int listIndex = 0; listIndex < _ovelays.RegionList.Count; listIndex++) { SetRegionPanel(listIndex); } } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } }
private void PanelControl_Loaded(object sender, RoutedEventArgs e) { loopCounter = 0; try { //Filter Media in this Region MediaList = _layoutOption.MediaNodeList.Where(find => find.regionId == RegionId).ToList(); ViewRegionMedia(loopCounter); } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } }
/// <summary> /// Panel Unload /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void WebControl_Unloaded(object sender, RoutedEventArgs e) { try { //Dispose web web.Dispose(); this.webPanel.Children.Clear(); //Stop timer TimerMedia.Stop(); } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } }
private void PanelControl_Unloaded(object sender, RoutedEventArgs e) { try { this.LayoutPanel.Children.Clear(); //TimerRegionLoop.Stop(); MediaList.Clear(); AudioList.Clear(); Console.WriteLine("Region " + RegionId + " unload"); } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } }
private void OverlayControl_Loaded(object sender, RoutedEventArgs e) { try { //Reoder _ovelays.RegionList = _ovelays.RegionList.OrderBy(x => x.zIndex).ToList(); //Stat view ViewLayout(); this.Cursor = Cursors.None; } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } }
private void DestroyLayout() { try { this.Dispatcher.Invoke(() => { if (layout != null) { this.LayoutRoot.Children.Remove(layout); } }); } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } }
/// <summary> /// View Layouts /// </summary> /// <param name="LayoutID"></param> private void ViewLayout() { try { if (RegionDurationList.Count > 0) { RegionDurationList.Clear(); } if (_layout.RegionList.Count > 0) { try { for (int listIndex = 0; listIndex < _layout.RegionList.Count; listIndex++) { RegionDuraion(listIndex); SetRegionPanel(listIndex); } _layoutDuration = RegionDurationList.Max(); Console.WriteLine("Layout Durayion " + _layoutDuration); int _totolSecounds = Convert.ToInt32(_layoutDuration); dispatcherTimer.Interval = new TimeSpan(0, 0, _totolSecounds); dispatcherTimer.Start(); } catch (Exception ex) { PlayerSettings.ErrorLog(ex); //DefaultSplashScreen(); } } else { // DefaultSplashScreen(); } } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } }
private void DispatcherTimer_Tick(object sender, EventArgs e) { try { if (FinishedRegionList.Count >= _layout.RegionList.Count) { NextLayout(); } else { dispatcherTimer.Stop(); dispatcherTimer.Interval = new TimeSpan(0, 0, 1); dispatcherTimer.Start(); } } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } }
private void LayoutControl_Loaded(object sender, RoutedEventArgs e) { try { FinishedRegionList.Clear(); //this.LayoutRoot.Children.Clear(); //Read Layout List //RenderLayout.PrepareLayout(RenderSchedule.ListLayouts[_layoutListID]); RenderLayout.PrepareLayout(_layoutID, _layout); //Reoder _layout.RegionList = _layout.RegionList.OrderBy(x => x.zIndex).ToList(); //Timer dispatcherTimer.Tick += DispatcherTimer_Tick; //Stat view ViewLayout(); //PlayerSettings.firstLoadCheck = 1; this.Cursor = Cursors.None; var bc = new BrushConverter(); this.Background = (Brush)bc.ConvertFrom(_layout.backgroundColor); //set background image if (_layout.backgroundImage != "") { string BackgroundImage = _layout.backgroundImage; this.Background = new ImageBrush(new BitmapImage(new Uri(BackgroundImage))); } } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } }
/// <summary> /// View Region Details /// </summary> /// <param name="index"></param> private void ViewRegionMedia(int index) { //int index = Convert.ToInt32(indexObj); try { int mediaId = MediaList[index].mediaId; if (MediaList[index].audio) { BackgroundAudio(mediaId); } string renderType = MediaList[index].render; string type = MediaList[index].type; if (renderType == "html") { //RenderHtmlWeb(index); RenderWeb(index); } else { switch (type) { case "image": RenderImage(index); break; case "powerpoint": break; case "video": RenderVideo(index); break; case "localvideo": RenderLocalVideo(index); break; case "audio": RenderAudio(index); break; case "datasetview": case "embedded": case "ticker": case "text": case "webpage": RenderWeb(index); break; case "flash": RenderFlash(index); break; case "shellcommand": RenderSellCmd(index); break; default: throw new InvalidOperationException("Not a valid media node type:"); } } Console.WriteLine("Region " + RegionId + " Loaded"); } catch (Exception ex) { Trace.WriteLine(new LogMessage("Media Load", "Media Load Fail"), LogType.Audit.ToString()); PlayerSettings.ErrorLog(ex); } }
/// <summary> /// Prepare Layout(Get all Details in Layout) /// </summary> /// <param name="layoutId"></param> public static void PrepareLayout(string layoutId, LayoutOption _layoutOption) { try { string _layoutPath = PlayerSettings.libraryPath + layoutId + ".xlf"; //string _layoutPath = layoutId; XmlDocument layoutXml = new XmlDocument(); if (!string.IsNullOrEmpty(_layoutPath)) { using (FileStream fs = File.Open(_layoutPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { using (XmlReader reader = XmlReader.Create(fs)) { layoutXml.Load(reader); reader.Close(); } fs.Close(); } } _layoutOption.layoutId = int.Parse(layoutId); // Attributes of the main layout node XmlNode layoutNode = layoutXml.SelectSingleNode("/layout"); XmlAttributeCollection layoutAttributes = layoutNode.Attributes; _layoutOption.layoutWidth = int.Parse(layoutAttributes["width"].Value); _layoutOption.layoutHeight = int.Parse(layoutAttributes["height"].Value); //Layout Background Color if (layoutAttributes["bgcolor"] != null && layoutAttributes["bgcolor"].Value != "") { _layoutOption.backgroundColor = layoutAttributes["bgcolor"].Value; } else { _layoutOption.backgroundColor = "#000000"; } //Layout Background Color Image if (layoutAttributes["background"] != null && layoutAttributes["background"].Value != "") { _layoutOption.backgroundImage = PlayerSettings.libraryPath + @"\" + layoutAttributes["background"].Value; } else { _layoutOption.backgroundImage = ""; } // Get the regions XmlNodeList listRegions = layoutXml.SelectNodes("/layout/region"); //get region details foreach (XmlNode region in listRegions) { try { RenderRegion.RenderRegionDetails(region, _layoutOption); } catch (Exception ex) { PlayerSettings.ErrorLog(ex); } } } catch (Exception e) { PlayerSettings.ErrorLog(e); } }