private void RefreshMediaFiles(object parameters)
        {
            try
            {
                if (parameters is MediaSource)
                {
                    MediaSource      ms      = (MediaSource)parameters;
                    CStorage         storage = new CStorage();
                    List <MediaFile> mfList  = storage.GetMediaFiles(ms.Path);

                    //  TODO: also here information from DB should be insert in MediaFile object (such as description and owner)
                    //          if information is absence some fields will be empty



                    MediaFiles.Clear();
                    foreach (MediaFile mf in mfList)
                    {
                        MediaFiles.Add(mf);
                    }
                }
                else
                {
                    return;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void ShowPublishedFiles(object parameters)
        {
            DataBase.DataProviders.DataProvider dataProvider = new DataBase.DataProviders.DataProvider();
            List <MediaFile> mediaFiles = dataProvider.GetMediaFileList();

            MediaFiles.Clear();
            foreach (MediaFile mf in mediaFiles)
            {
                MediaFiles.Add(mf);
            }
        }
        private void ShowImageMediaSources(object parameters)
        {
            RefreshMediaFiles(parameters);
            IEnumerable <MediaFile> query  = MediaFiles.Where(mf => mf.Type == CommonElements.Enums.MediaType.Image).OrderBy(mf => mf.Name);
            List <MediaFile>        result = query.ToList <MediaFile>();

            MediaFiles.Clear();
            foreach (MediaFile r in result)
            {
                MediaFiles.Add(r);
            }
        }
Beispiel #4
0
 public void ScanFileLocations(BackgroundWorker worker, DoWorkEventArgs e)
 {
     if (worker.CancellationPending)
     {
         e.Cancel = true;
     }
     else
     {
         try
         {
             int highestPercentageReached = 0;
             foreach (var file in FileLocations)
             {
                 int percentComplete = (int)((float)Array.IndexOf(FileLocations, file) / (float)Array.LastIndexOf(FileLocations, file) * 100);
                 if (percentComplete > highestPercentageReached)
                 {
                     highestPercentageReached = percentComplete;
                     worker.ReportProgress(percentComplete);
                 }
                 foreach (var ext in MusicExt)
                 {
                     string[] filePaths = Directory.GetFiles(file, ext, SearchOption.AllDirectories);
                     foreach (var files in filePaths)
                     {
                         MusicFiles.Add(new Music(files));
                     }
                 }
                 foreach (var ext in VideoExt)
                 {
                     string[] filePaths = Directory.GetFiles(file, ext, SearchOption.AllDirectories);
                     foreach (var files in filePaths)
                     {
                         VideoFiles.Add(new Video(files));
                     }
                 }
                 foreach (var ext in OtherExt)
                 {
                     string[] filePaths = Directory.GetFiles(file, ext, SearchOption.AllDirectories);
                     foreach (var files in filePaths)
                     {
                         MediaFiles.Add(new MediaFiles(files));
                     }
                 }
             }
         }
         catch (Exception exc)
         {
             throw new ArgumentException(exc.ToString());
         }
     }
 }
        private void GroupFileList(object parameters)
        {
            var query = MediaFiles.GroupBy(mf => mf.Type).Select(g => new { Name = g.Key, Files = g.ToList <MediaFile>() }).ToList();

            MediaFiles.Clear();
            foreach (var mf in query)
            {
                MediaFiles.Add(new MediaFile {
                    Name = mf.Name.ToString()
                });
                foreach (MediaFile f in mf.Files)
                {
                    MediaFiles.Add(f);
                }
            }
        }
Beispiel #6
0
        async Task <bool> Page_Load()
        {
            MediaFiles.Add(new MediaFile()
            {
                Url  = VideoSource,
                Type = MediaFileType.Video,
                MetadataExtracted = false,
                Availability      = ResourceAvailability.Remote,
            });
            CrossMediaManager.Current.MediaQueue.Repeat = RepeatType.RepeatOne;
            await CrossMediaManager.Current.Play(MediaFiles);

            SkipText = TextResources.Skip;
            await Task.Delay(4000);

            return(true);
        }
        /// <summary>
        ///		Muestra la lista de reproducción
        /// </summary>
        private void ShowReproductionList()
        {
            // Limpia la lista
            MediaFiles.Clear();
            CanDownload = false;
            // Añade los elementos
            foreach (MediaAlbumModel album in ReproductionList.Albums)
            {
                foreach (MediaFileModel file in album.Files)
                {
                    var fileViewModel = new MediaItemListViewModel(file);

                    // Añade el archivo
                    MediaFiles.Add(fileViewModel);
                    // Indica si hay algún archivo para descargar
                    if (fileViewModel.CanDownload)
                    {
                        CanDownload = true;
                    }
                }
            }
        }
Beispiel #8
0
        private void LoadSoundFiles()
        {
            MediaPlayer musicMedia = new MediaPlayer();

            musicMedia.Open(new Uri(@"Game/Resources/SoundEffects/Music.wav", UriKind.Relative));
            MediaPlayer footstepsMedia = new MediaPlayer();

            footstepsMedia.Open(new Uri(@"Game/Resources/SoundEffects/Footsteps.wav", UriKind.Relative));
            MediaPlayer eatMedia = new MediaPlayer();

            eatMedia.Open(new Uri(@"Game/Resources/SoundEffects/EatFruitSound.wav", UriKind.Relative));
            MediaPlayer ouchMedia = new MediaPlayer();

            ouchMedia.Open(new Uri(@"Game/Resources/SoundEffects/Ouch.wav", UriKind.Relative));
            MediaPlayer showPortalMedia = new MediaPlayer();

            showPortalMedia.Open(new Uri(@"Game/Resources/SoundEffects/OpenPortalSound.wav", UriKind.Relative));

            MediaFiles.Add(MediaType.Music, musicMedia);
            MediaFiles.Add(MediaType.Footsteps, footstepsMedia);
            MediaFiles.Add(MediaType.Eat, eatMedia);
            MediaFiles.Add(MediaType.Ouch, ouchMedia);
            MediaFiles.Add(MediaType.ShowPortal, showPortalMedia);
        }
        private static MediaFiles Files(string dir)
        {
            dis.Invoke(new Action(() =>
            {
                log.Info("Processing Directories and all Subdirectories.");
            }), DispatcherPriority.ContextIdle);

            Values.Singleton.MainThreadDispatcher.Invoke(new Action(() =>
            {
                Values.Singleton.ProcessingOverlayText.Text = "Processing Directories and All Subdirectories.";
                Application.Exit();
            }), DispatcherPriority.ContextIdle);

            MediaFiles MediaFiles = new MediaFiles();

            foreach (string s in Values.MediaExtensions)
            {
                foreach (string j in Directory.GetFiles(dir, "*." + s, SearchOption.AllDirectories))
                {
                    FileInfo fileInfo = new FileInfo(j);
                    if (!(fileInfo.Name.Contains($".done")))
                    {
                        dis.Invoke(new Action(() =>
                        {
                            log.Debug($"Found {fileInfo.Name}");
                        }), DispatcherPriority.ContextIdle);

                        Values.Singleton.MainThreadDispatcher.Invoke(new Action(() =>
                        {
                            Values.Singleton.ProcessingOverlayText.Text = $"Found {fileInfo.Name}";
                        }), DispatcherPriority.ContextIdle);
                    }
                    else
                    {
                        dis.Invoke(new Action(() =>
                        {
                            log.Debug($"Already Proccessed {fileInfo.Name}");
                        }), DispatcherPriority.ContextIdle);

                        Values.Singleton.MainThreadDispatcher.Invoke(new Action(() =>
                        {
                            Values.Singleton.ProcessingOverlayText.Text = $"Already Proccessed {fileInfo.Name}";
                        }), DispatcherPriority.ContextIdle);
                    }
                    bool should_add = true;
                    foreach (FileInfo f in Directory.GetParent(j).GetFiles())
                    {
                        if (f.Name.Contains($"{fileInfo.Name}.done"))
                        {
                            should_add = false;
                        }
                    }
                    if (should_add)
                    {
                        MediaFiles.Add(new MediaFile()
                        {
                            FilePath = j, ID = MediaFiles.Count + 1
                        });
                    }
                }
            }
            return(MediaFiles);
        }
Beispiel #10
0
 public void AddMediaFile(int i, MediaFile t)
 {
     MediaFiles.Add(i, t);
 }
Beispiel #11
0
 public void AddFileToMedialibrary(IFile file)
 {
     MediaFiles.Add(file);
 }
Beispiel #12
0
 public void Add(MediaFile item)
 {
     MediaFiles.Add(item);
 }