Example #1
0
 public AddCustomStreamView(NormalPlaylist playlist, MusicManager manager, Action <AddCustomStreamView> closeAction)
 {
     InitializeComponent();
     _closeAction = closeAction;
     _playlist    = playlist;
     _manager     = manager;
 }
Example #2
0
 public TrackImportWindow(ObservableCollection <NormalPlaylist> playlists, NormalPlaylist selectedplaylist, string trackname)
 {
     Playlists        = playlists;
     SelectedPlaylist = selectedplaylist;
     Trackname        = trackname;
     InitializeComponent();
 }
Example #3
0
        private Player()
        {
            mediaPlayer = new MediaPlayer();

            Songs = new ObservableCollection <Song>();
            State = new State();

            PlayList         = new NormalPlaylist();
            PlayList.Songs   = Songs.ToList();
            this.TypeOfPlay  = TypeOfPlay.Normal;
            State.TypeOfPlay = (int)TypeOfPlay.Normal;
        }
Example #4
0
        async Task ImportFiles(IEnumerable <string> paths, NormalPlaylist playlist, EventHandler finished = null)
        {
            var controller = await _baseWindow.WindowDialogService.CreateProgressDialog(string.Empty, false);

            var tracks = Playlists.ImportFiles(paths, (s, e) =>
            {
                controller.SetProgress(e.Percentage);
                controller.SetMessage(e.CurrentFile);
                controller.SetTitle(string.Format(Application.Current.Resources["FilesGetImported"].ToString(), e.FilesImported, e.TotalFiles));
            });

            await playlist.AddFiles(tracks);

            MusicManager.SaveToSettings();
            MySettings.Save();
            await controller.Close();

            if (finished != null)
            {
                Application.Current.Dispatcher.Invoke(() => finished(this, EventArgs.Empty));
            }
        }
Example #5
0
        public async void OpenFile(FileInfo file, bool play)
        {
            foreach (var playlist in MusicManager.Playlists)
            {
                foreach (var track in playlist.Tracks.Where(track => track.GetType() == typeof(LocalTrack) && ((LocalTrack)track).Path == file.FullName))
                {
                    if (play)
                    {
                        MusicManager.PlayTrack(track, playlist);
                    }
                    return;
                }
            }

            NormalPlaylist selectedplaylist = null;
            var            config           = AnyListenSettings.Instance.Config;

            if (config.RememberTrackImportPlaylist)
            {
                var items = MusicManager.Playlists.Where(x => x.Name == config.PlaylistToImportTrack).ToList();
                if (items.Any())
                {
                    selectedplaylist = items.First();
                }
                else
                {
                    config.RememberTrackImportPlaylist = false; config.PlaylistToImportTrack = null;
                }
            }

            if (selectedplaylist == null)
            {
                if (_remember && MusicManager.Playlists.Contains(_rememberedPlaylist))
                {
                    selectedplaylist = _rememberedPlaylist;
                }
                else
                {
                    var selectedPlaylist = _musicmanager.SelectedPlaylist.CanEdit ? (NormalPlaylist)_musicmanager.SelectedPlaylist : _musicmanager.Playlists[0];
                    var window           = new TrackImportWindow(_musicmanager.Playlists, selectedPlaylist, file.Name)
                    {
                        Owner = _baseWindow
                    };
                    if (window.ShowDialog() == false)
                    {
                        return;
                    }
                    selectedplaylist = window.SelectedPlaylist;
                    if (window.RememberChoice)
                    {
                        _remember           = true;
                        _rememberedPlaylist = window.SelectedPlaylist;
                        if (window.RememberAlsoAfterRestart)
                        {
                            config.RememberTrackImportPlaylist = true;
                            config.PlaylistToImportTrack       = selectedplaylist.Name;
                        }
                    }
                }
            }

            await ImportFiles(new[] { file.FullName }, selectedplaylist, (s, e) => OpenFile(file, play));
        }
Example #6
0
 public void RegisterPlaylist(NormalPlaylist playlist)
 {
     playlist.LoadList();
 }