public void Add(FileNameAndDemo fileNameAndMedia) { m_MediaQueue.Enqueue(fileNameAndMedia); //StopPlayIfDemo(); //OnItemsCountChanged(); }
//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(); }
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); } } }
public musicbox.FileNameAndDemo GetTopItem() { FileNameAndDemo retFileNameAndMedia = null; if (m_MediaQueue.Count > 0) { retFileNameAndMedia = m_MediaQueue.Peek(); } return(retFileNameAndMedia); }
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; * }*/ }
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); }
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)); } } } }