Esempio n. 1
0
        private static void BitSwarm_MetadataReceived(object source, BitSwarm.MetadataReceivedArgs e)
        {
            lock (lockRefresh)
            {
                torrent = e.Torrent;
                view    = View.Torrent;
                Console.Clear();
                Console.WriteLine(bitSwarm.DumpTorrent());
                PrintMenu();
            }

            System.Threading.Thread tmp = new System.Threading.Thread(() =>
            {
                lock (lockRefresh)
                {
                    System.Threading.Thread.Sleep(3000);
                    Console.Clear();
                    Console.WriteLine(bitSwarm.DumpStats());
                    PrintMenu();
                    view = View.Stats;
                }
            });
            tmp.IsBackground = true;
            tmp.Start();
        }
Esempio n. 2
0
        private void BitSwarm_MetadataReceived(object source, BitSwarm.MetadataReceivedArgs e)
        {
            if (InvokeRequired)
            {
                BeginInvoke(new Action(() => BitSwarm_MetadataReceived(source, e)));
                return;
            }
            else
            {
                torrent      = e.Torrent;
                output.Text += bitSwarm.DumpTorrent().Replace("\n", "\r\n");

                for (int i = 0; i < torrent.file.paths.Count; i++)
                {
                    listBox1.Items.Add(torrent.file.paths[i]);
                }

                listBox1.BeginUpdate();
                for (int i = 0; i < listBox1.Items.Count; i++)
                {
                    listBox1.SetSelected(i, true);
                }
                listBox1.EndUpdate();
                button2.Enabled = true;
            }
        }
Esempio n. 3
0
        private void OnMetadataReceived(BitSwarm.MetadataReceivedArgs e, Action <string> writeLog, Action <IList <string> > onMetadataReceived)
        {
            const string EventType = "MetadataReceived";

            for (int i = 0; i < e.Torrent.data.files.Length; i++)
            {
                var file = e.Torrent.data.files[i];
                if (file == null)
                {
                    continue;
                }
                writeLog($"[{EventType}] {file.Filename} ({ByteSize.FromBytes(file.Size)})");
            }
            onMetadataReceived(_torrent.file.paths);
        }
Esempio n. 4
0
        private void MetadataReceived(object source, BitSwarm.MetadataReceivedArgs e)
        {
            Log("Metadata Received");
            torrent = e.Torrent;

            List <string> paths   = new List <string>();
            List <long>   lengths = new List <long>();

            foreach (string path in torrent.file.paths)
            {
                paths.Add(path);
            }

            foreach (long length in torrent.file.lengths)
            {
                lengths.Add(length);
            }

            MediaFilesClbk?.BeginInvoke(paths, lengths, null, null);
        }
Esempio n. 5
0
        private static void BitSwarm_MetadataReceived(object source, BitSwarm.MetadataReceivedArgs e)
        {
            string selectedFile = null;

            List <string> movieFiles = Utils.GetMoviesSorted(e.Torrent.file.paths);

            // Choose file from available video files
            WriteLine($"======= Available files ({movieFiles.Count}) =======");
            foreach (var file in movieFiles)
            {
                selectedFile = file;
                WriteLine(" + " + selectedFile);
                break;
            }

            // Prepare BitSwarm & LibVLC for the selected file
            bitSwarm.IncludeFiles(new List <string>()
            {
                selectedFile
            });
            using var media = new Media(libVLC, new StreamMediaInput(e.Torrent.GetTorrentStream(selectedFile)));
            mediaPlayer     = new MediaPlayer(media);

            // Start VLC Player
            Thread player = new Thread(() => { mediaPlayer.Play(); });

            player.IsBackground = true;
            player.Start();

            // Simulate Seek after 40secs at 50% of the movie
            //Thread seekSample = new Thread(() =>
            //{
            //    Thread.Sleep(40000);
            //    WriteLine("Seeking Sample at 50%");
            //    mediaPlayer.Position = 0.5f;
            //});
            //seekSample.IsBackground = true;
            //seekSample.Start();
        }
Esempio n. 6
0
        private void MetadataReceived(object source, BitSwarm.MetadataReceivedArgs e)
        {
            Torrent     = e.Torrent;
            sortedPaths = Utils.GetMoviesSorted(Torrent.file.paths);

            Log("Metadata Received");
            Torrent = e.Torrent;

            List <string> paths   = new List <string>();
            List <long>   lengths = new List <long>();

            foreach (string path in Torrent.file.paths)
            {
                paths.Add(path);
            }

            foreach (long length in Torrent.file.lengths)
            {
                lengths.Add(length);
            }

            player.MediaFilesClbk?.BeginInvoke(paths, lengths, null, null);
        }