Exemplo n.º 1
0
        private void OnDragDrop(object sender, PlayerControlEventArgs <DragEventArgs> e)
        {
            string[] filter     = form.openFileDialog.Filter.Split('|');
            string[] extensions = filter[1].Replace(";", "").Replace(" ", "").Split('*');

            var files = (string[])e.InputArgs.Data.GetData(DataFormats.FileDrop);

            if (files == null)
            {
                return;
            }

            if (files.Length == 1)
            {
                var filename = files[0];

                if (Directory.Exists(filename))
                {
                    var media = GetAllMediaFiles(filename);
                    form.CloseMedia();
                    form.ClearPlaylist();
                    form.AddFiles(
                        media.Where(file => extensions.Contains(PathHelper.GetExtension(file.ToLower())))
                        .OrderBy(f => f, new NaturalSortComparer())
                        .Where(f => PathHelper.GetExtension(f).Length > 0)
                        .ToArray());
                    form.SetPlaylistIndex(0);
                    return;
                }

                if (IsPlaylistFile(filename))
                {
                    form.OpenPlaylist(filename);
                    return;
                }

                if (PathHelper.GetExtension(filename).Length < 1 || !extensions.Contains(Path.GetExtension(filename)))
                {
                    return;
                }

                form.ActiveFile(filename);
                form.SetPlaylistIndex(0);
            }
            else
            {
                form.AddFiles(
                    files.Where(file => extensions.Contains(PathHelper.GetExtension(file.ToLower())))
                    .OrderBy(f => f, new NaturalSortComparer())
                    .Where(f => PathHelper.GetExtension(f).Length > 0)
                    .ToArray());
                form.SetPlaylistIndex(0);
            }

            e.Handled = true;
        }
Exemplo n.º 2
0
        private void RepeatPlaylist()
        {
            var lastItem = m_Form.Playlist.Last();

            if (m_Form.CurrentItem != lastItem)
            {
                return;
            }
            if (Media.Position != Media.Duration)
            {
                return;
            }
            m_Form.ResetPlayCount();
            m_Form.SetPlaylistIndex(0);
        }