Пример #1
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            Window.Current.CoreWindow.KeyDown += (sender, args) =>
                                                 GlobalPageKeyDown?.Invoke(sender, args);
            if (RoamingSettingsHelper.GetSetting <bool>("IsFirstTime", true))
            {
                string releaseNotes = "FIXES:\r\n\r\n" +
                                      "Fixed 2 random crashes.\n" +
                                      "Fixed invisible jumplist issue when in sort/grouped mode.\n" +
                                      "Fixed empty album issue.\n" +
                                      "Fixed issue with auto loading of library at startup.\n" +
                                      "Fixed issue where song wasn't played from external speakers/headphones.\n" +
                                      "NEW THINGS:\r\n\r\n" +
                                      "Added support for German Translation (thanks to Armin).\n" +
                                      "Added backward navigation support for mobiles.\n" +
                                      "IMPROVEMENTS:\r\n\r\n" +
                                      "Core improvements (shuffle and other things).\n" +
                                      "Icon was improved.\n";
                await SharedLogic.NotificationManager.ShowMessageBoxAsync(releaseNotes, "What's new in v2.6.0");

                RoamingSettingsHelper.SaveSetting("IsFirstTime", false);
            }
            if (e.Parameter is StorageFile)
            {
                Messenger.Instance.NotifyColleagues(MessageTypes.MsgExecuteCmd, new List <object> {
                    e.Parameter, 0.0, true, 50.0
                });
            }

            base.OnNavigatedTo(e);
        }
Пример #2
0
        private void InitializeTheme()
        {
            var value = RoamingSettingsHelper.GetSetting <string>("SelectedTheme", "Light");
            var theme = Enum.Parse(typeof(ApplicationTheme), value);

            RequestedTheme = (ApplicationTheme)theme;
        }
        public static async void LoadSettings(bool onlyVol = false, bool play = false)
        {
            var volume = RoamingSettingsHelper.GetSetting <double>(VolKey, 50.0);

            if (!onlyVol)
            {
                _path = RoamingSettingsHelper.GetSetting <string>(PathKey, "");
                string folders = RoamingSettingsHelper.GetSetting <string>(FoldersKey, "");
                folders.Split('|').ToList().ForEach(async str =>
                {
                    if (!string.IsNullOrEmpty(str))
                    {
                        var folder = await StorageFolder.GetFolderFromPathAsync(str);
                        SharedLogic.SettingsVm.LibraryFoldersCollection.Add(folder);
                    }
                });
                // SettingsVM.LibraryFoldersCollection.ToList().ForEach(new Action<StorageFolder>((StorageFolder folder) => { folderPaths += folder.Path + "|"; }));
                if (_path != "" && SharedLogic.VerifyFileExists(_path, 300))
                {
                    double position = RoamingSettingsHelper.GetSetting <double>(PosKey, 0);
                    SharedLogic.Player.PlayerState = PlayerState.Paused;
                    try
                    {
                        Messenger.Instance.NotifyColleagues(MessageTypes.MsgExecuteCmd,
                                                            new List <object> {
                            await StorageFile.GetFileFromPathAsync(_path), position, play, volume
                        });
                    }
                    catch (UnauthorizedAccessException ex)
                    {
                        BLogger.Logger.Error("Access denied while trying to play file on startup.", ex);
                    }
                }
            }
        }
Пример #4
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            Window.Current.CoreWindow.KeyDown += (sender, args) =>
                                                 GlobalPageKeyDown?.Invoke(sender, args);
            if (RoamingSettingsHelper.GetSetting <bool>("IsFirstTime", true))
            {
                string releaseNotes = "FIXES:\r\n\r\n" +
                                      "Fix play on tap for all touch devices.\n" +
                                      "Fixed all crashes.\r\n\r\n" +
                                      "NEW THINGS:\r\n\r\n" +
                                      "Removed enter to full screen on startup.\n" +
                                      "Removed back button from shortcuts.\n";
                await SharedLogic.NotificationManager.ShowMessageBoxAsync(releaseNotes, "What's new in v2.4.0");

                RoamingSettingsHelper.SaveSetting("IsFirstTime", false);
            }
            if (e.Parameter is StorageFile)
            {
                Messenger.Instance.NotifyColleagues(MessageTypes.MsgExecuteCmd, new List <object> {
                    e.Parameter, 0.0, true, 50.0
                });
            }

            base.OnNavigatedTo(e);
        }
Пример #5
0
        private async void LibraryViewModel_MusicLibraryLoaded(object sender, RoutedEventArgs e)
        {
            if (!libraryLoaded)
            {
                libraryLoaded = true;
                if (TracksCollection.Elements.Any(t => t.State == PlayerState.Playing))
                {
                    var sa = TracksCollection.Elements.Where(l => l.State == PlayerState.Playing);
                    foreach (var mp3 in sa)
                    {
                        mp3.State = PlayerState.Stopped;
                    }
                }
                string path = RoamingSettingsHelper.GetSetting <string>("path", "");
                if (TracksCollection.Elements.Any(t => t.Path == path))
                {
                    TracksCollection.Elements.FirstOrDefault(t => t.Path == path).State = PlayerState.Playing;
                }
                await CreateGenreMenu().ConfigureAwait(false);

                BLogger.Logger.Info("Library successfully loaded!");
                await NotificationManager.ShowMessageAsync("Library successfully loaded!");

                await Task.Delay(10000);

                Common.DirectoryWalker.SetupDirectoryWatcher(SettingsVM.LibraryFoldersCollection);
            }
        }
Пример #6
0
 void HandleExecuteCmdMessage(Message message)
 {
     if (message.Payload != null)
     {
         if (message.Payload is List <object> )
         {
             var    list   = message.Payload as List <object>;
             double volume = 0;
             if ((double)list[3] == 50.0)
             {
                 volume = RoamingSettingsHelper.GetSetting <double>("volume", 50.0);
             }
             else
             {
                 volume = (double)list[3];
             }
             Play(list[0] as StorageFile, null, (double)list[1], (bool)list[2], volume);
         }
         else
         {
             this.GetType().GetTypeInfo().GetDeclaredMethod(message.Payload as string)?.Invoke(this, new object[] { });
         }
         message.HandledStatus = MessageHandledStatus.HandledCompleted;
     }
 }
Пример #7
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            Window.Current.CoreWindow.KeyDown += (sender, args) =>
                                                 GlobalPageKeyDown?.Invoke(sender, args);
            if (RoamingSettingsHelper.GetSetting <bool>("IsFirstTime", true))
            {
                string releaseNotes = "FIXES:\r\n\r\n" +
                                      "We fixed the startup crash.\n" +
                                      "Fixed crash when changing theme.\n" +
                                      "Fixed crash when play songs from an album.\n" +
                                      "Fixed other various bugs and crashes.\r\n\r\n" +
                                      "NEW THINGS:\r\n\r\n" +
                                      "Added 'Now Playing' Screen with artist and album info fetching.\r\n\r\n" +
                                      "IMPROVEMENTS:\r\n\r\n" +
                                      "Greatly improved performance and navigation.\n" +
                                      "Improved Equalizer UI.\nImproved Blur\n" +
                                      "Improved UI (less glitches etc.)\r\n";
                await SharedLogic.NotificationManager.ShowMessageBoxAsync(releaseNotes, "What's new in v2.3.0");

                RoamingSettingsHelper.SaveSetting("IsFirstTime", false);
            }
            if (e.Parameter is StorageFile)
            {
                Messenger.Instance.NotifyColleagues(MessageTypes.MsgExecuteCmd, new List <object> {
                    e.Parameter, 0.0, true, 50.0
                });
            }

            base.OnNavigatedTo(e);
        }
Пример #8
0
        private async void HandleExecuteCmdMessage(Message message)
        {
            if (message.Payload == null)
            {
                return;
            }

            if (message.Payload is List <object> list)
            {
                double volume = 0;
                if ((double)list[3] == 50.0)
                {
                    volume = RoamingSettingsHelper.GetSetting <double>("volume", 50.0);
                }
                else
                {
                    volume = (double)list[3];
                }

                await Load(await SharedLogic.CreateMediafile(list[0] as StorageFile), (bool)list[2], (double)list[1], volume);
            }
            else
            {
                GetType().GetTypeInfo().GetDeclaredMethod(message.Payload as string)?.Invoke(this, new object[] { });
            }

            message.HandledStatus = MessageHandledStatus.HandledCompleted;
        }
Пример #9
0
        public static async Task <bool> SaveCurrentLockscreenImage()
        {
            if (RoamingSettingsHelper.GetSetting <string>("DefaultImagePath", "") != "")
            {
                DefaultImage = await StorageFile.GetFileFromPathAsync(RoamingSettingsHelper.GetSetting <string>("DefaultImagePath", ""));

                return(true);
            }
            if (ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar"))
            {
                if (DefaultImage == null)
                {
                    bool success = false;
                    await CoreWindow.GetForCurrentThread().Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() =>
                    {
                        MessageDialog dialog = new MessageDialog("To enable this feature you must set a default lockscreen wallpaper.\rPress OK to continue or cancel to cancel.", "Choose a default lockscreen wallpaper");
                        dialog.Commands.Add(new UICommand("OK"));
                        dialog.Commands.Add(new UICommand("Cancel"));
                        var response = await dialog.ShowAsync();
                        if (response.Label == "OK")
                        {
                            FileOpenPicker defaultLockScreenImageDialog = new FileOpenPicker()
                            {
                                CommitButtonText = "Set default lockscreen image."
                            };
                            defaultLockScreenImageDialog.FileTypeFilter.Add(".jpg");
                            defaultLockScreenImageDialog.FileTypeFilter.Add(".png");
                            var image = await defaultLockScreenImageDialog.PickSingleFileAsync();
                            if (image != null)
                            {
                                DefaultImage = await image.CopyAsync(ApplicationData.Current.LocalFolder, "lockscreen.jpg", NameCollisionOption.ReplaceExisting);
                                RoamingSettingsHelper.SaveSetting("DefaultImagePath", DefaultImage.Path);
                                success = true;
                            }
                        }
                    });

                    return(success);
                }
            }
            else if (!File.Exists(ApplicationData.Current.TemporaryFolder.Path + "\\lockscreen.jpg"))
            {
                using (IRandomAccessStream imageStream = LockScreen.GetImageStream())
                    using (var reader = new DataReader(imageStream))
                    {
                        var lockscreenFile = await ApplicationData.Current.TemporaryFolder.CreateFileAsync("lockscreen.jpg", CreationCollisionOption.FailIfExists);

                        await reader.LoadAsync((uint)imageStream.Size);

                        var buffer = new byte[(int)imageStream.Size];
                        reader.ReadBytes(buffer);
                        await FileIO.WriteBytesAsync(lockscreenFile, buffer);

                        DefaultImage = lockscreenFile;
                        StorageApplicationPermissions.FutureAccessList.Add(DefaultImage);
                    }
                return(true);
            }
            return(false);
        }
Пример #10
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            Window.Current.CoreWindow.KeyDown += (sender, args) =>
                                                 GlobalPageKeyDown?.Invoke(sender, args);
            if (RoamingSettingsHelper.GetSetting <bool>("IsFirstTime", true))
            {
                string releaseNotes = "𝐖𝐡𝐚𝐭'𝐬 𝐅𝐢𝐱𝐞𝐝:\n\n" +
                                      "• Fixed issue where library import took too much time.\n" +
                                      "• Fixed issue where many album arts were not loaded.\n" +
                                      "• Fixed other bugs.\n\n" +
                                      "𝐖𝐡𝐚𝐭'𝐬 𝐍𝐞𝐰:\n\n" +
                                      "• Added ability to ignore DRM-Protected songs. (𝑒𝑥𝑝𝑟𝑖𝑚𝑒𝑛𝑡𝑎𝑙)\n" +
                                      "• Added sorting by tracknumber for album songs.\n";
                await SharedLogic.NotificationManager.ShowMessageBoxAsync(releaseNotes, "What's new in v2.6.2");

                RoamingSettingsHelper.SaveSetting("IsFirstTime", false);
            }
            if (e.Parameter is StorageFile)
            {
                Messenger.Instance.NotifyColleagues(MessageTypes.MsgExecuteCmd, new List <object> {
                    e.Parameter, 0.0, true, 50.0
                });
            }

            base.OnNavigatedTo(e);
        }
Пример #11
0
        public static Immersive Get()
        {
            Immersive instance;
            var       container = RoamingSettingsHelper.GetContainer("Immersive");

            container.ReadGroupSettings(out instance);
            return(instance);
        }
Пример #12
0
 public SettingsViewModel()
 {
     IsPlaybarOnBottom      = RoamingSettingsHelper.GetSetting <bool>("IsPlaybarOnBottom", false);
     ChangeAccentByAlbumArt = RoamingSettingsHelper.GetSetting <bool>("ChangeAccentByAlbumArt", true);
     FileBatchSize          = RoamingSettingsHelper.GetSetting <int>("FileBatchSize", 100);
     TimeOpened             = DateTimeOffset.Now.ToString("yyyy-MM-dd HH:mm:ss");
     Messengers.Messenger.Instance.Register(Messengers.MessageTypes.MSG_LIBRARY_LOADED, new Action <Message>(HandleLibraryLoadedMessage));
 }
Пример #13
0
        /// <summary>
        /// Adds modified files got from querying in the <see cref="LibraryFoldersCollection"/>. The query parameters include time range from <see cref="TimeClosed"/> to <seealso cref="TimeOpened"/>.
        /// </summary>
        private async Task AddModifiedFilesAsync()
        {
            TimeClosed    = RoamingSettingsHelper.GetSetting <string>("timeclosed", "0");
            ModifiedFiles = await Common.DirectoryWalker.GetModifiedFiles(LibraryFoldersCollection, TimeClosed);

            if (ModifiedFiles.Any())
            {
                RenameAddOrDeleteFiles(ModifiedFiles);
            }
        }
Пример #14
0
        public CoreWindowLogic()
        {
            if (StorageApplicationPermissions.FutureAccessList.Entries.Count >= 999)
            {
                StorageApplicationPermissions.FutureAccessList.Clear();
            }
            InitSmtc();
            var volume = RoamingSettingsHelper.GetSetting <double>(volKey, 50.0);

            Player.Volume = volume;
        }
Пример #15
0
        public void Save()
        {
            var container    = RoamingSettingsHelper.GetContainer("Cities");
            var subContainer = container.GetContainer("Locate");

            container.Values["CurrentIndex"] = CurrentIndex;
            container.Values["EnableLocate"] = EnableLocate;
            if (LocatedCity != null)
            {
                try
                {
                    subContainer.WriteGroupSettings(LocatedCity);
                }
                catch (Exception)
                {
                }
            }
            else
            {
                try
                {
                    container.DeleteContainer("Locate");
                }
                catch (Exception)
                {
                }
            }
            var enumContainer = container.GetContainer("Routes");

            try
            {
                if (!Routes.IsNullorEmpty())
                {
                    int i = 0;
                    for (; i < Routes.Length;)
                    {
                        try
                        {
                            enumContainer.WriteSettingsValue(i.ToString(), Routes[i]);
                            i++;
                        }
                        catch (Exception)
                        {
                            continue;
                        }
                    }
                    enumContainer.Values["Count"] = i;
                }
            }
            catch (Exception)
            {
            }
            SaveCities(container);
        }
Пример #16
0
        public CoreWindowLogic()
        {
            if (StorageApplicationPermissions.FutureAccessList.Entries.Count >= 999)
            {
                StorageApplicationPermissions.FutureAccessList.Clear();
            }

            InitSmtc();
            SharedLogic.Player.Volume   = RoamingSettingsHelper.GetSetting <double>(VolKey, 50.0);
            Window.Current.SizeChanged += Current_SizeChanged;
        }
Пример #17
0
        public static Preferences Get()
        {
            Preferences ins;
            var         container = RoamingSettingsHelper.GetContainer("Preferences");

            container.ReadGroupSettings(out ins);
            if (ins.Theme != RequestedTheme.Default)
            {
                ins.MainColor = Colors.Transparent;
            }
            return(ins);
        }
Пример #18
0
        public MainPage()
        {
            InitializeComponent();
            if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent("Windows.UI.ViewManagement.StatusBar"))
            {
                TitleBlock.Visibility = Visibility.Collapsed;
            }
            Current = this;
            Windows.UI.Core.SystemNavigationManager.GetForCurrentView().BackRequested += MainPage_BackRequested;
            MainFrame.Navigate(typeof(NowWeatherPage), this);
            license = new License.License();
            var t = ThreadPool.RunAsync(async(w) =>
            {
                var c = Convert.ToUInt64(RoamingSettingsHelper.ReadSettingsValue("MeetDataSourceOnce"));
#if BETA
                if (true)
                {
                    RoamingSettingsHelper.WriteSettingsValue("MeetDataSourceOnce", SystemInfoHelper.GetPackageVersionNum());
                    await Task.Delay(1000);
                    await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, new Windows.UI.Core.DispatchedHandler(() =>
                    {
                        VersionText.Text           = SystemInfoHelper.GetPackageVer();
                        UpdateTitle.Text           = "BETA Version Note";
                        UpdateDetailText.Text      = "You are in BETA version NOW, all the features are unlocked and you should be clear what you are doing. You can contact with developers to quit BETA version. This BETA version is unstable and you MUST be aware of all the consequence that may arise.";
                        UpdateDetailText.FontSize  = 18;
                        UpdateLogButton.Visibility = Visibility.Collapsed;
                        ShowUpdateDetail();
                    }));
                }
#else
                if (c < SystemInfoHelper.GetPackageVersionNum())

                //if (true)
                {
                    RoamingSettingsHelper.WriteSettingsValue("MeetDataSourceOnce", SystemInfoHelper.GetPackageVersionNum());
                    await Task.Delay(1000);
                    await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.High, new Windows.UI.Core.DispatchedHandler(() =>
                    {
                        VersionText.Text = SystemInfoHelper.GetPackageVer();
                        ShowUpdateDetail();
                    }));
                }
#endif
                else
                {
                    HideUpdateButton_Click(null, null);
                }
            });
        }
Пример #19
0
        protected async override void OnNavigatedTo(NavigationEventArgs e)
        {
            Window.Current.CoreWindow.KeyDown += (sender, args) =>
                                                 GlobalPageKeyDown?.Invoke(sender, args);
            if (RoamingSettingsHelper.GetSetting <bool>("IsFirstTime", true))
            {
                string releaseNotes = "FIXES:\r\n\r\n" +
                                      "Fixed issue with output device not changing when headphones are connected.\n" +
                                      "Fixed NowPlayingList loses its ItemTemplate when window size is changed.\n" +
                                      "Fixed crash after library load.\n" +
                                      "Fixed playlist import.\n" +
                                      "Fixed audio stutter when minimizing to background (only mobile).\n" +
                                      "Fixed crash when deleting duplicates.\r\n\r\n" +
                                      "NEW THINGS:\r\n\r\n" +
                                      "Added new Keyboard Shortcuts ('Keybindings' section in Settings).\n" +
                                      "Added full translation support.\n" +
                                      "Added ability to export playlist (only to .m3u & .pls for now).\n" +
                                      "Added silent upcoming song notifications.\n" +
                                      "Added translations for Czech and Sinhala languages.\n" +
                                      "Added equalizer presets (experimental).\n" +
                                      "Added real-time music library updates when filesystem changes (only works when app is running).\n" +
                                      "Added 'Contribute' section in settings to help in contributing.\n" +
                                      "Added auto playback stop in BreadPlayer when a song is played in Groove Player.\n" +
                                      "Added navigate to now playing screen when song is played on mobile.\n" +
                                      "Added auto removal of duplicates when importing songs.\n" +
                                      "Added navigate to now playing screen when song's tags are clicked in mini player.\r\n\r\n" +
                                      "IMPROVEMENTS:\r\n\r\n" +
                                      "Improved hamburger menu list item response on tap/click.\n" +
                                      "Improved all animations and transitions.\n" +
                                      "Improved navigation performance.\n" +
                                      "Improved library import.\n" +
                                      "Improved overall UI and increased readability.\n" +
                                      "Improved startup performance by 50% (only PC).\r\n";
                await SharedLogic.NotificationManager.ShowMessageBoxAsync(releaseNotes, "What's new in v2.3.0 (after 120+ commits)");

                RoamingSettingsHelper.SaveSetting("IsFirstTime", false);
            }
            if (e.Parameter is StorageFile)
            {
                Messenger.Instance.NotifyColleagues(MessageTypes.MsgExecuteCmd, new List <object> {
                    e.Parameter, 0.0, true, 50.0
                });
            }

            base.OnNavigatedTo(e);
        }
Пример #20
0
        private void DeleteButton_Click(object sender, RoutedEventArgs e)
        {
            switch (ConfirmDelete.Visibility)
            {
            case Visibility.Visible:
                RoamingSettingsHelper.ClearAllSettings();
                LocalSettingsHelper.ClearAllSettings();
                App.Current.Exit();
                break;

            case Visibility.Collapsed:
                ConfirmDelete.Visibility = Visibility.Visible;
                DeleteButton.Content     = "OK!";
                break;

            default:
                break;
            }
        }
Пример #21
0
        public async Task LoadFolders()
        {
            if (LibraryFoldersCollection.Count <= 0)
            {
                var folderPaths = RoamingSettingsHelper.GetSetting <string>("folders", null);
                if (folderPaths != null)
                {
                    foreach (var folder in folderPaths.Split('|'))
                    {
                        if (!string.IsNullOrEmpty(folder))
                        {
                            var storageFolder = await StorageFolder.GetFolderFromPathAsync(folder);

                            LibraryFoldersCollection.Add(storageFolder);
                        }
                    }
                }
            }
        }
Пример #22
0
        public static async void SetThemeColor(string albumartPath)
        {
            await BreadDispatcher.InvokeAsync(async() =>
            {
                if (SharedLogic.SettingsVm.ChangeAccentByAlbumArt == false)
                {
                    ChangeColor(GetAccentColor());
                    return;
                }
                if (RoamingSettingsHelper.GetSetting <string>("SelectedTheme", "Light") == "Light" && SharedLogic.SettingsVm.ChangeAccentByAlbumArt)
                {
                    try
                    {
                        Color color;
                        if (!string.IsNullOrEmpty(albumartPath) && albumartPath != "default")
                        {
                            color = await SharedLogic.GetDominantColor(await StorageFile.GetFileFromPathAsync(albumartPath));
                        }
                        else if (albumartPath == "default" && SharedLogic.Player.CurrentlyPlayingFile != null)
                        {
                            color = await SharedLogic.GetDominantColor(await StorageFile.GetFileFromPathAsync(SharedLogic.Player.CurrentlyPlayingFile.AttachedPicture));
                        }
                        else
                        {
                            color = GetAccentColor();
                        }

                        ChangeColor(color);
                    }
                    catch (Exception ex)
                    {
                        BLogger.Logger.Error("Failed to update accent.", ex);
                        await SharedLogic.NotificationManager.ShowMessageAsync(ex.Message);
                    }
                    //ThemeChanged?.Invoke(null, new Events.ThemeChangedEventArgs(oldColor, color));
                }
                else
                {
                    ChangeColor(GetAccentColor());
                }
            });
        }
Пример #23
0
        private void SetNowPlayingSong()
        {
            string path = RoamingSettingsHelper.GetSetting <string>("path", "");

            if (!TracksCollection.Elements.Any(t => t.Path == path && t.State == PlayerState.Playing))
            {
                if (TracksCollection.Elements.Any(t => t.State == PlayerState.Playing))
                {
                    var sa = TracksCollection.Elements.Where(l => l.State == PlayerState.Playing);
                    foreach (var mp3 in sa)
                    {
                        mp3.State = PlayerState.Stopped;
                    }
                }
                if (TracksCollection.Elements.Any(t => t.Path == path))
                {
                    TracksCollection.Elements.FirstOrDefault(t => t.Path == path).State = PlayerState.Playing;
                }
            }
        }
Пример #24
0
        private void SaveCities(Windows.Storage.ApplicationDataContainer container)
        {
            int i = 0;

            if (!SavedCities.IsNullorEmpty())
            {
                foreach (var item in SavedCities)
                {
                    var sub = RoamingSettingsHelper.GetContainer(i.ToString());
                    try
                    {
                        sub.WriteGroupSettings(item);
                        i++;
                    }
                    catch (Exception)
                    {
                        continue;
                    }
                }
            }
            container.Values["Count"] = i;
        }
Пример #25
0
        public static async void Replay(bool onlyVol = false)
        {
            try
            {
                SettingsVM.TimeClosed = RoamingSettingsHelper.GetSetting <string>(timeclosedKey, "0");
                var volume = RoamingSettingsHelper.GetSetting <double>(volKey, 50);
                if (onlyVol)
                {
                    Player.Volume = volume;
                }
                else
                {
                    path = RoamingSettingsHelper.GetSetting <string>(pathKey, "");
                    if (path != "")
                    {
                        double position = RoamingSettingsHelper.GetSetting <double>(posKey, 0);
                        Player.PlayerState = PlayerState.Paused;
                        try
                        {
                            Messengers.Messenger.Instance.NotifyColleagues(Messengers.MessageTypes.MSG_EXECUTE_CMD, new List <object> {
                                await StorageFile.GetFileFromPathAsync(path), position, false, volume
                            });

                            //ShellVM.Play(await StorageFile.GetFileFromPathAsync(path), null, position, false, volume);
                        }
                        catch (UnauthorizedAccessException) { }
                    }
                }

                //var folderPaths = RoamingSettingsHelper.GetSetting<ThreadSafeObservableCollection<StorageFolder>>(foldersKey, null);
                //if (folderPaths != null)
                //{
                //    SettingsVM.LibraryFoldersCollection = folderPaths;
                //}
            }
            catch { }
        }
Пример #26
0
        public static async void LoadSettings(bool onlyVol = false, bool play = false)
        {
            var volume = RoamingSettingsHelper.GetSetting <double>(volKey, 50.0);

            if (!onlyVol)
            {
                path = RoamingSettingsHelper.GetSetting <string>(pathKey, "");
                if (path != "" && VerifyFileExists(path, 300))
                {
                    double position = RoamingSettingsHelper.GetSetting <double>(posKey, 0);
                    Player.PlayerState = PlayerState.Paused;
                    try
                    {
                        Messengers.Messenger.Instance.NotifyColleagues(Messengers.MessageTypes.MSG_EXECUTE_CMD, new List <object> {
                            await StorageFile.GetFileFromPathAsync(path), position, play, volume
                        });
                    }
                    catch (UnauthorizedAccessException) { }
                }
            }

            var folderPaths = RoamingSettingsHelper.GetSetting <string>(foldersKey, null);

            if (folderPaths != null)
            {
                foreach (var folder in folderPaths.Split('|'))
                {
                    if (!string.IsNullOrEmpty(folder))
                    {
                        var storageFolder = await StorageFolder.GetFolderFromPathAsync(folder);

                        SettingsVM.LibraryFoldersCollection.Add(storageFolder);
                    }
                }
            }
        }
Пример #27
0
        public static async void LoadSettings(bool onlyVol = false, bool play = false)
        {
            var volume = RoamingSettingsHelper.GetSetting <double>(volKey, 50.0);

            if (!onlyVol)
            {
                path = RoamingSettingsHelper.GetSetting <string>(pathKey, "");
                if (path != "" && VerifyFileExists(path, 300))
                {
                    double position = RoamingSettingsHelper.GetSetting <double>(posKey, 0);
                    Player.PlayerState = PlayerState.Paused;
                    try
                    {
                        Messengers.Messenger.Instance.NotifyColleagues(Messengers.MessageTypes.MSG_EXECUTE_CMD, new List <object> {
                            await StorageFile.GetFileFromPathAsync(path), position, play, volume
                        });
                    }
                    catch (UnauthorizedAccessException ex)
                    {
                        BLogger.Logger.Error("Access denied while trying to play file on startup.", ex);
                    }
                }
            }
        }
Пример #28
0
 private void GetSettings()
 {
     Sort = RoamingSettingsHelper.GetSetting <string>("Sort", "Unsorted");
 }
Пример #29
0
 private void GetSettings()
 {
     Shuffle          = RoamingSettingsHelper.GetSetting <bool>("Shuffle", false);
     IsPlayBarVisible = RoamingSettingsHelper.GetSetting <bool>("IsPlayBarVisible", true);
     Repeat           = RoamingSettingsHelper.GetSetting <string>("Repeat", "No Repeat");
 }
Пример #30
0
        public void Save()
        {
            var container = RoamingSettingsHelper.GetContainer("Immersive");

            container.WriteGroupSettings(this);
        }