Пример #1
0
 /// <summary>
 /// 添加一个歌曲信息到全局容器
 /// </summary>
 /// <param name="infos">歌曲信息</param>
 public void InsertMusicInfo(MusicInfoModel info)
 {
     lock (MusicInfos)
     {
         int _lastIndex = MusicInfos.Count == 0 ? 0 : MusicInfos[MusicInfos.Count - 1].Index;
         info.Status = MusicInfoEnum.Ready;
         info.Index  = _lastIndex++;
         MusicInfos.Add(info);
     }
 }
Пример #2
0
 /// <summary>
 /// 一个安全添加歌曲信息的方法,并且填充 UI
 /// </summary>
 /// <param name="infos">需要添加的歌曲信息</param>
 public void InsertMusicInfoAndFillListView(MusicInfoModel info)
 {
     lock (MusicInfos)
     {
         int _lastIndex = MusicInfos.Count == 0 ? 0 : MusicInfos[MusicInfos.Count - 1].Index;
         info.Status = MusicInfoEnum.Ready;
         info.Index  = _lastIndex++;
         MusicInfos.Add(info);
         InsertItemToCenterListView(info);
     }
 }
Пример #3
0
        public void ClickLocalMusicExecute()
        {
            ListId = string.Empty;
            MusicInfos.Clear();
            var list = new LocalListManager().GetList();

            list.ForEach(item =>
            {
                var mim   = new MusicInfoManager();
                var music = mim.Find(item.Id);
                MusicInfos.Add(music.ToIMusic());
            });
            PlayerList.SetPreList(MusicInfos, "本地音乐");
            DataGridAnimation();
        }
Пример #4
0
        public void DefaultListExecute()
        {
            ListId = string.Empty;
            var orm  = new DefaultListManager();
            var list = orm.GetList();

            MusicInfos.Clear();
            list.ForEach(item =>
            {
                var mif   = new MusicInfoManager();
                var music = mif.Find(item.Id);
                MusicInfos.Add(music.ToIMusic());
            });
            PlayerList.SetPreList(MusicInfos, "默认列表");
            DataGridAnimation();
        }
Пример #5
0
 public void InsertMusicInfo(IMusic[] insertInfos, int index)
 {
     for (int i = 0; i < insertInfos.Length; i++)
     {
         if (insertInfos[i].Id == string.Empty)
         {
             continue;
         }
         if (i * index + index - 1 < MusicInfos.Count)
         {
             MusicInfos.Insert(i * index + index - 1, insertInfos[i]);
         }
         else
         {
             MusicInfos.Add(insertInfos[i]);
         }
     }
 }
Пример #6
0
        public void ClickCustomList(object parameter)
        {
            ListId = string.Empty;
            string title = parameter.ToString();
            var    ls    = new CustomListManager().GetList();

            MusicInfos.Clear();
            ls.ForEach(item =>
            {
                if (item.Title == title)
                {
                    var mim   = new MusicInfoManager();
                    var music = mim.Find(item.Id);
                    MusicInfos.Add(music.ToIMusic());
                }
            });
            PlayerList.SetPreList(MusicInfos, title);
            DataGridAnimation();
        }
Пример #7
0
        public void ClickPlatformList(object parameter)
        {
            string id = parameter.ToString();

            ListId = id;
            var ls = new PlatformListManager().GetList();

            MusicInfos.Clear();
            ls.ForEach(item =>
            {
                if (item.PlatformId == id)
                {
                    var mim   = new MusicInfoManager();
                    var music = mim.Find(item.MusicId);
                    MusicInfos.Add(music.ToIMusic());
                }
            });
            PlayerList.SetPreList(MusicInfos, new PlatformInfoManager().Find(id).Title);
            DataGridAnimation();
        }
Пример #8
0
 public void RefreshShowList(string title)
 {
     //如果当前BasePage的DataGrid展示的是默认列表,进行刷新
     if (PlayerList.PreListTitle != title)
     {
         return;
     }
     if (ListId == string.Empty)
     {
         if (title == "默认列表")
         {
             var orm  = new DefaultListManager();
             var list = orm.GetList();
             MusicInfos.Clear();
             list.ForEach(item =>
             {
                 var mif   = new MusicInfoManager();
                 var music = mif.Find(item.Id);
                 MusicInfos.Add(music.ToIMusic());
             });
         }
         else if (title == "本地音乐")
         {
             MusicInfos.Clear();
             var list = new LocalListManager().GetList();
             list.ForEach(item =>
             {
                 var mim   = new MusicInfoManager();
                 var music = mim.Find(item.Id);
                 MusicInfos.Add(music.ToIMusic());
             });
         }
         else
         {
             var ls = new CustomListManager().GetList();
             MusicInfos.Clear();
             ls.ForEach(item =>
             {
                 if (item.Title == title)
                 {
                     var mim   = new MusicInfoManager();
                     var music = mim.Find(item.Id);
                     MusicInfos.Add(music.ToIMusic());
                 }
             });
         }
     }
     else
     {
         var ls = new PlatformListManager().GetList();
         MusicInfos.Clear();
         ls.ForEach(item =>
         {
             if (item.PlatformId == ListId)
             {
                 var mim   = new MusicInfoManager();
                 var music = mim.Find(item.MusicId);
                 MusicInfos.Add(music.ToIMusic());
             }
         });
     }
 }