public void RemoveTracksFromPlaylist(List <Paths> tracks)
 {
     using (IXmlParsable parser = new JsonPlaylistParser(PlaylistPath, _playlistName + extention))
     {
         parser.RemoveItems(tracks);
     }
 }
 public void AddTrackToPlaylist(Paths track)
 {
     using (IXmlParsable parser = new JsonPlaylistParser(PlaylistPath, _playlistName + extention))
     {
         parser.AddItem(track);
     }
 }
 public void AddTracksToPlaylist(List <Paths> tracks)
 {
     using (IXmlParsable parser = new JsonPlaylistParser(PlaylistPath, _playlistName + extention))
     {
         parser.AddItems(tracks);
     }
 }
 public List <Track> FetchTracksFromPlaylist()
 {
     using (IXmlParsable parser = new JsonPlaylistParser(PlaylistPath, _playlistName + extention))
     {
         return(Track_Finder.TrackFinder.ConvertPathsToTracks((List <Paths>)parser.FetchItems()));
     }
 }
示例#5
0
        public List <Track> Load(bool append, bool restore = false)
        {
            string path = InternalStorageHelper.InternalPlaylistAllLocation;

            System.IO.Directory.CreateDirectory(path);
            using (IXmlParsable parser = new JsonPlaylistParser(path, "All.json"))
            {
                List <Track> tracks = null;
                if (!append)
                {
                    tracks = JsonCacheParser.Read();
                }
                if (tracks == null)
                {
                    List <Paths> songs = SearchForSongs();
                    if (restore)
                    {
                        if (System.IO.File.Exists(Path.Combine(path, "All.json")))
                        {
                            File.Delete(Path.Combine(path, "All.json"));
                        }
                    }
                    parser.AddItems(songs);
                    tracks = TrackFinder.ConvertPathsToTracks(songs);
                    CacheSongs(tracks);
                }

                return(tracks);
            }
        }
示例#6
0
        private void InitList()
        {
            ISharedPreferences p = this.GetSharedPreferences(Startup.Prefs, FileCreationMode.Private);

            if (p.GetBoolean(Startup.REMEMBER, true))
            {
                ServiceSharedPref prefs    = new ServiceSharedPref(this);
                string            pullfrom = prefs.PullDataFrom();
                if (pullfrom == ServiceSharedPref.PULLDATAFROM_ALLTRACKS)
                {
                    using (IXmlParsable parser = new JsonPlaylistParser(InternalStorageHelper.InternalPlaylistAllLocation, "All.json"))
                    {
                        tracks = (List <Paths>)parser.FetchItems();
                    }
                }
                else if (pullfrom == ServiceSharedPref.PULLDATAFROM_FOLDER)
                {
                    string folderName = prefs.PullDataPath();
                    tracks = Track_Finder.TrackFinder.GetSongsFromFolder(folderName);
                }
                else
                {
                    string playlistName = prefs.PullDataPath();
                    Playlist_Manager.PlaylistManager manager = new Playlist_Manager.PlaylistManager(playlistName);
                    tracks = Track_Finder.TrackFinder.ConvertToPaths(manager.FetchTracksFromPlaylist());
                }
                song = prefs.PullLastSong();
            }
            else
            {
                if (p.GetString(Startup.VIEWMETHOD, Startup.ALLTRACKS) == Startup.PLAYLIST)
                {
                    string playlistName = p.GetString(Startup.PLAYLISTNAME, string.Empty);
                    Playlist_Manager.PlaylistManager manager = new Playlist_Manager.PlaylistManager(playlistName);
                    tracks = Track_Finder.TrackFinder.ConvertToPaths(manager.FetchTracksFromPlaylist());
                }
                else
                {
                    using (IXmlParsable parser = new JsonPlaylistParser(InternalStorageHelper.InternalPlaylistAllLocation, "All.json"))
                    {
                        tracks = (List <Paths>)parser.FetchItems();
                    }
                }
            }
        }
        private void BuildXmlFile(List <Paths> tracks)
        {
            IXmlParsable parser = new JsonPlaylistParser(PlaylistPath, PlaylistName + extention, tracks);

            parser.Dispose();
        }