Beispiel #1
0
        private void resetTranscoderFile(TranscoderFile file)
        {
            if (InvokeRequired)
            {
                Invoke(new ResetTranscoderFileCallback(resetTranscoderFile), file);
                return;
            }

            var index = TranscoderFiles.IndexOf(file);

            TranscoderFiles.ResetItem(index);
        }
Beispiel #2
0
        async void MainForm_DragDrop(object sender, DragEventArgs e)
        {
            var paths = e.Data.GetData(DataFormats.FileDrop) as String[];

            await Task.Run(() => {
                var tfiles = new List <TranscoderFile>(paths.Length * 30);                // over-estimate 30 songs per album

                foreach (var path in paths)
                {
                    if (Directory.Exists(path))
                    {
                        var files = Directory.GetFiles(path, "*", SearchOption.AllDirectories);
                        tfiles.AddRange(files.Where(file => TranscoderFile.IsTranscodableFile(file)).Select(file => new TranscoderFile(file, path)));
                    }
                    else if (File.Exists(path) && TranscoderFile.IsTranscodableFile(path))
                    {
                        tfiles.Add(new TranscoderFile(path));
                    }
                }
                ;

                AddFiles(tfiles);
            });
        }