Beispiel #1
0
        public void Add(FileNameAndDemo fileNameAndMedia)
        {
            m_MediaQueue.Enqueue(fileNameAndMedia);

            //StopPlayIfDemo();
            //OnItemsCountChanged();
        }
Beispiel #2
0
        //locked
        //[MethodImpl(MethodImplOptions.Synchronized)]
        private void ItemPlayStart()
        {
            //IPlayItem playItem;
            FileNameAndDemo playMedia = m_MediaQueue.Peek();
            string          extension = Path.GetExtension(playMedia.FileName);

            Debug.Assert(extension.Length > 0);
            _Media media = m_IMediaManager.GetMedia(extension);

            //IMPORTANT DirectXException Handling
            switch (media.MediaType)
            {
            case MediaTypes.Audio:
                m_PlayItem = new AudioPlayItem(playMedia.FileName, playMedia.Demo);
                break;

            case MediaTypes.Video:
                m_PlayItem = new VideoPlayItem(playMedia.FileName, playMedia.Demo);
                break;

            case MediaTypes.Karaoke:
                m_PlayItem = new KarPlayItem(playMedia.FileName, playMedia.Demo);
                break;
            }

            /*MediaItemInfo tempItemInfo;
             * Program.TryGetPlayItemInfoByExtension(
             *  Path.GetExtension(playMedia.FullName).ToLower(), out tempItemInfo);*/
            //_Media media;
            //MediaManager.Instance.TryGetMedia(playMedia.FileName, out media);
            m_PlayItem.Volume = m_PlayItem.IsDemo ? media.DemoVolume : media.OrderVolume;
            m_PlayItem.Play();
        }
Beispiel #3
0
            void pbItems_Paint(object sender, PaintEventArgs e)
            {
                Rectangle tempRect = new Rectangle(m_Parent.pbPlayListItems.Location, m_Parent.pbPlayListItems.Size);

                FileNameAndDemo[] fileNameAndDemoArr = PlayManager.Instance.GetItems();
                Graphics          g = e.Graphics;

                if (fileNameAndDemoArr.Length > 0)
                {
                    FileNameAndDemo topItem = fileNameAndDemoArr[0];
                    TextRenderer.DrawText(g, Path.GetFileNameWithoutExtension(topItem.FileName),
                                          m_Font, new Rectangle(new Point(nHeaderItemXOffset, nHeaderItemYOffset),
                                                                new Size(tempRect.Width - 15, m_Font.Height)), Color.Red, TextFormatFlags.WordEllipsis);
                    //PlayMedia[] playerItems = Player.Instance.GetItemsWithoutTop();
                    Int32 nMin = Math.Min(m_ScrollableItemsCount, fileNameAndDemoArr.Length - 1);
                    for (Int32 i = 1; i < nMin + 1; i++)
                    {
                        //i = i - 1;
                        TextRenderer.DrawText(g, Path.GetFileNameWithoutExtension(fileNameAndDemoArr[i + m_nOffset].FileName),
                                              m_Font,
                                              new Rectangle(new Point(nItemXOffset, nItemYOffset + (i - 1) * (m_Font.Height + nBetweenItemsDistance)),
                                                            new Size(tempRect.Width - 15, m_Font.Height + nBetweenItemsDistance)), Color.WhiteSmoke, TextFormatFlags.WordEllipsis);
                    }
                }
            }
Beispiel #4
0
        public musicbox.FileNameAndDemo GetTopItem()
        {
            FileNameAndDemo retFileNameAndMedia = null;

            if (m_MediaQueue.Count > 0)
            {
                retFileNameAndMedia = m_MediaQueue.Peek();
            }
            return(retFileNameAndMedia);
        }
Beispiel #5
0
        public void ClearPlaylist()
        {
            if (m_MediaQueue.Count > 0)
            {
                FileNameAndDemo fileNameAndMediaAndDemo = m_MediaQueue.Peek();
                m_MediaQueue.Clear();
                m_MediaQueue.Enqueue(fileNameAndMediaAndDemo);
                OnItemsCountChanged();
            }

            /*if (m_PlayItem != null)
             * {
             *  m_PlayItem.CurrentPosition = m_PlayItem.Duration;
             * }*/
        }
Beispiel #6
0
 public musicbox.FileNameAndDemo[] GetItemsWithoutTop()
 {
     FileNameAndDemo[] returnArr;
     FileNameAndDemo[] playMediaArr = m_MediaQueue.ToArray();
     if (playMediaArr.Length > 1)
     {
         List <FileNameAndDemo> tempList = new List <FileNameAndDemo>(playMediaArr);
         tempList.RemoveAt(0);
         returnArr = tempList.ToArray();
     }
     else
     {
         returnArr = new FileNameAndDemo[0];
     }
     return(returnArr);
 }
Beispiel #7
0
            void pbTitles_Paint(object sender, PaintEventArgs e)
            {
                FileNameAndDemo fileNameAndMediaAndDemo = PlayManager.Instance.GetTopItem();

                if (fileNameAndMediaAndDemo != null)
                {
                    if (fileNameAndMediaAndDemo.Demo)
                    {
                        Graphics g = e.Graphics;
                        using (Font fnt = new Font("Arial", 24, FontStyle.Regular))
                        {
                            SizeF textSize = g.MeasureString(m_DemoStringInTitle, fnt);
                            g.DrawString(m_DemoStringInTitle, fnt,
                                         Brushes.Red, new RectangleF(500, 42, textSize.Width, textSize.Height));
                        }
                    }
                }
            }