コード例 #1
0
        public PlaylistMeta Update(string id, Playlist list)
        {
            if (!playlistCache.TryGetValue(id, out var data))
            {
                var meta = new PlaylistMeta();
                PlaylistIO.UpdateMeta(meta, list);
                Add(id, list, meta);
                return(meta);
            }

            var wasNull = data.Playlist == null;

            data.Update(list);
            if (!wasNull)
            {
                foreach (var s in data.Songs)
                {
                    s.RemoveList(id);
                    if (!s.IsContainedInAList)
                    {
                        uniqueSongs.Remove(s.Resource);
                    }
                }
            }
            data.Songs = CreateSongsInfo(id, list);

            return(data.Meta);
        }
コード例 #2
0
 public PlaylistDatabase(PlaylistIO io) : this((IPlaylistIO)io)
 {
 }
コード例 #3
0
 public void Update(Playlist list)
 {
     Playlist = list;
     PlaylistIO.UpdateMeta(Meta, list);
 }
コード例 #4
0
 public PlaylistManager(PlaylistIO playlistPool)
 {
     this.playlistPool = playlistPool;
 }