Exemplo n.º 1
0
        /// <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);
            }
        }
Exemplo n.º 2
0
        /// <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);
            }
        }
Exemplo n.º 3
0
 /// <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);
     }
 }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
        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);
            }
        }
Exemplo n.º 6
0
 private void LayoutControl_Unloaded(object sender, RoutedEventArgs e)
 {
     try
     {
         this.LayoutRoot.Children.Clear();
     }
     catch (Exception ex)
     {
         PlayerSettings.ErrorLog(ex);
     }
 }
Exemplo n.º 7
0
 private void FlashControl_Loaded(object sender, RoutedEventArgs e)
 {
     try
     {
         ViewFlash();
     }
     catch (Exception ex)
     {
         PlayerSettings.ErrorLog(ex);
     }
 }
Exemplo n.º 8
0
        /// <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();
            }
        }
Exemplo n.º 9
0
 private void AudioControl_Loaded(object sender, RoutedEventArgs e)
 {
     try
     {
         RenderAudio();
     }
     catch (Exception ex)
     {
         PlayerSettings.ErrorLog(ex);
     }
 }
Exemplo n.º 10
0
 private void ViewLayout()
 {
     try
     {
         for (int listIndex = 0; listIndex < _ovelays.RegionList.Count; listIndex++)
         {
             SetRegionPanel(listIndex);
         }
     }
     catch (Exception ex)
     {
         PlayerSettings.ErrorLog(ex);
     }
 }
Exemplo n.º 11
0
 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);
     }
 }
Exemplo n.º 12
0
 /// <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);
     }
 }
Exemplo n.º 13
0
        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);
            }
        }
Exemplo n.º 14
0
        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);
            }
        }
Exemplo n.º 15
0
 private void DestroyLayout()
 {
     try
     {
         this.Dispatcher.Invoke(() =>
         {
             if (layout != null)
             {
                 this.LayoutRoot.Children.Remove(layout);
             }
         });
     }
     catch (Exception ex)
     {
         PlayerSettings.ErrorLog(ex);
     }
 }
Exemplo n.º 16
0
        /// <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);
            }
        }
Exemplo n.º 17
0
 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);
     }
 }
Exemplo n.º 18
0
        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);
            }
        }
Exemplo n.º 19
0
        /// <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);
            }
        }
Exemplo n.º 20
0
        /// <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);
            }
        }