コード例 #1
0
        /// <summary>
        /// load lib musik
        /// </summary>
        private async void InitMusic()
        {
            this.activeMusic         = new Music();
            this.activeMusicLibrary  = new MusicLibrary();
            this.musicStorageManager = new MusicStorageManager();
            MusicLibrary _loadedLibrary = await this.musicStorageManager.LoadMusicLibrary();

            if (_loadedLibrary != null)
            {
                this.activeMusicLibrary = _loadedLibrary;
                int librarySize = activeMusicLibrary.musicLibrary.Count;
                if (librarySize != 0)
                {
                    Random musicRandomer = new Random();
                    this.activeMusic = activeMusicLibrary.musicLibrary[musicRandomer.Next(0, librarySize)];
                    this.PlayingActiveMusic(activeMusic);
                    Debug.WriteLine("library is exist, selecting a random music >" + this.activeMusic.musicName);
                }
                else
                {
                    Debug.WriteLine("library is empty >");
                }
                this.MusicListView.DataContext  = activeMusicLibrary;
                this.MusicListView.SelectedItem = activeMusic;
            }
            else
            {
                Debug.WriteLine("unable to load library to stage >");
            }
        }
コード例 #2
0
ファイル: Music.cs プロジェクト: rjjatson/BeatBeatFitness
        public async Task <bool> UpdateMusicScore(Music _music, Music.MusicMode _mode, int _highScore)
        {
            try
            {
                MusicLibrary _musicLibrary = new MusicLibrary();
                _musicLibrary = await LoadMusicLibrary();

                if (_musicLibrary != null)
                {
                    for (int i = 0; i < _musicLibrary.musicLibrary.Count; i++)
                    {
                        if (_musicLibrary.musicLibrary[i].fileAccessToken == _music.fileAccessToken)
                        {
                            _musicLibrary.musicLibrary[i].musicPunchKey[(int)_mode].punchKeyHighScore = _highScore;
                            break;
                        }
                    }

                    await SaveMusicLibrary(_musicLibrary);
                }
                Debug.WriteLine("success updating score >");
            }
            catch (Exception exc)
            {
                Debug.WriteLine("fail updating score >" + exc.Message);
                return(false);
            }

            return(true);
        }
コード例 #3
0
ファイル: Music.cs プロジェクト: rjjatson/BeatBeatFitness
        /// <summary>
        /// Load music lib from sepcified storage location and returning its object
        /// </summary>
        /// <returns></returns>
        public async Task <MusicLibrary> LoadMusicLibrary()
        {
            try
            {
                XmlSerializer serializer   = new XmlSerializer(typeof(MusicLibrary));
                string        loadedString = string.Empty;
                try
                {
                    StorageFile saveFile = await this.saveFolder.GetFileAsync(this.musicLibraryFile);

                    loadedString = await FileIO.ReadTextAsync(saveFile);

                    Debug.WriteLine("success loading library > " + saveFile);
                }
                catch (Exception exc)
                {
                    Debug.WriteLine("loading music failed > " + exc.InnerException.Message.ToString());
                }

                if (loadedString != string.Empty)
                {
                    MusicLibrary loadedMusicLibrary = (MusicLibrary)serializer.Deserialize(new StringReader(loadedString));
                    return(loadedMusicLibrary);
                }
                else
                {
                    return(null);
                }
            }
            catch (Exception exct)
            {
                Debug.WriteLine("deserialization music lib fail > " + exct.InnerException.Message.ToString());
            }
            return(null);
        }
コード例 #4
0
ファイル: Music.cs プロジェクト: rjjatson/BeatBeatFitness
        /// <summary>
        /// save inputted music lirary obj to specified file location
        /// </summary>
        /// <param name="_musicLibrary"></param>
        /// <returns></returns>
        public async Task <bool> SaveMusicLibrary(MusicLibrary _musicLibrary)
        {
            try
            {
                XmlSerializer _serializer   = new XmlSerializer(typeof(MusicLibrary));
                StringWriter  _stringWriter = new StringWriter();
                _serializer.Serialize(_stringWriter, _musicLibrary);
                string      _serializedString = _stringWriter.ToString();
                StorageFile _saveFile         = await this.saveFolder.CreateFileAsync(this.musicLibraryFile, Windows.Storage.CreationCollisionOption.ReplaceExisting);

                await FileIO.WriteTextAsync(_saveFile, _serializedString);

                Debug.WriteLine("success saving library > " + _saveFile);
                return(true);
            }
            catch (Exception exc)
            {
                Debug.WriteLine("serializtion and saving music library failed >" + exc.InnerException.Message.ToString());
                return(false);
            }
        }