Ejemplo n.º 1
0
        public override void Reset()
        {
            base.Reset();
            if (db == null)
            {
                storage = new TestStorage(@"TestCasePlaySongSelect");

                var backingDatabase = storage.GetDatabase(@"client");

                rulesets = new RulesetDatabase(storage, backingDatabase);
                db       = new BeatmapDatabase(storage, backingDatabase, rulesets);

                var sets = new List <BeatmapSetInfo>();

                for (int i = 0; i < 100; i += 10)
                {
                    sets.Add(createTestBeatmapSet(i));
                }

                db.Import(sets);
            }

            Add(songSelect = new PlaySongSelect());

            AddStep(@"Sort by Artist", delegate { songSelect.FilterControl.Sort = SortMode.Artist; });
            AddStep(@"Sort by Title", delegate { songSelect.FilterControl.Sort = SortMode.Title; });
            AddStep(@"Sort by Author", delegate { songSelect.FilterControl.Sort = SortMode.Author; });
            AddStep(@"Sort by Difficulty", delegate { songSelect.FilterControl.Sort = SortMode.Difficulty; });
        }
Ejemplo n.º 2
0
        public override void Reset()
        {
            base.Reset();
            oldDb = Dependencies.Get <BeatmapDatabase>();
            if (db == null)
            {
                storage = new TestStorage(@"TestCasePlaySongSelect");
                db      = new BeatmapDatabase(storage);
                Dependencies.Cache(db, true);

                var sets = new List <BeatmapSetInfo>();

                for (int i = 0; i < 100; i += 10)
                {
                    sets.Add(createTestBeatmapSet(i));
                }

                db.Import(sets);
            }

            Add(songSelect = new PlaySongSelect());

            AddButton(@"Sort by Artist", delegate { songSelect.FilterControl.Sort = SortMode.Artist; });
            AddButton(@"Sort by Title", delegate { songSelect.FilterControl.Sort = SortMode.Title; });
            AddButton(@"Sort by Author", delegate { songSelect.FilterControl.Sort = SortMode.Author; });
            AddButton(@"Sort by Difficulty", delegate { songSelect.FilterControl.Sort = SortMode.Difficulty; });
        }
Ejemplo n.º 3
0
 public async Task Import(string path)
 {
     if (beatmaps != null)
     {
         beatmaps.Import(path);
     }
     else
     {
         await channel.SendMessage(new BeatmapImportMessage { Path = path });
     }
 }
Ejemplo n.º 4
0
        public async Task ImportAsync(string path)
        {
            if (beatmaps == null)
            {
                //we want to contact a remote osu! to handle the import.
                await SendMessageAsync(new BeatmapImportMessage { Path = path });

                return;
            }

            beatmaps.Import(path);
        }
Ejemplo n.º 5
0
        private void load(AudioManager audio, OsuConfigManager config, BeatmapDatabase beatmaps, Framework.Game game)
        {
            menuVoice = config.GetBindable <bool>(OsuSetting.MenuVoice);
            menuMusic = config.GetBindable <bool>(OsuSetting.MenuMusic);

            var trackManager = audio.Track;

            BeatmapSetInfo setInfo = null;

            if (!menuMusic)
            {
                var query = beatmaps.Query <BeatmapSetInfo>().Where(b => !b.DeletePending);
                int count = query.Count();
                if (count > 0)
                {
                    setInfo = query.ElementAt(RNG.Next(0, count - 1));
                }
            }

            if (setInfo == null)
            {
                var query = beatmaps.Query <BeatmapSetInfo>().Where(b => b.Hash == MENU_MUSIC_BEATMAP_HASH);

                setInfo = query.FirstOrDefault();

                if (setInfo == null)
                {
                    // we need to import the default menu background beatmap
                    beatmaps.Import(new OszArchiveReader(game.Resources.GetStream(@"Tracks/circles.osz")));

                    setInfo = query.First();

                    setInfo.DeletePending = true;
                    beatmaps.Update(setInfo, false);
                }
            }

            beatmaps.GetChildren(setInfo);
            Beatmap = beatmaps.GetWorkingBeatmap(setInfo.Beatmaps[0]);

            track = Beatmap.Track;
            trackManager.SetExclusive(track);

            welcome = audio.Sample.Get(@"welcome");
            seeya   = audio.Sample.Get(@"seeya");
        }
Ejemplo n.º 6
0
        private void load()
        {
            if (!Host.IsPrimaryInstance)
            {
                Logger.Log(@"osu! does not support multiple running instances.", LoggingTarget.Runtime, LogLevel.Error);
                Environment.Exit(0);
            }

            if (args?.Length > 0)
            {
                var paths = args.Where(a => !a.StartsWith(@"-"));
                Task.Run(() => BeatmapDatabase.Import(paths));
            }

            Dependencies.Cache(this);

            PlayMode = LocalConfig.GetBindable <PlayMode>(OsuConfig.PlayMode);
        }
Ejemplo n.º 7
0
        private void dragDrop(DragEventArgs e)
        {
            // this method will only be executed if e.Effect in dragEnter gets set to something other that None.
            var dropData  = (object[])e.Data.GetData(DataFormats.FileDrop);
            var filePaths = dropData.Select(f => f.ToString()).ToArray();

            if (filePaths.All(f => Path.GetExtension(f) == @".osz"))
            {
                Task.Run(() => BeatmapDatabase.Import(filePaths));
            }
            else if (filePaths.All(f => Path.GetExtension(f) == @".osr"))
            {
                Task.Run(() =>
                {
                    var score = ScoreDatabase.ReadReplayFile(filePaths.First());
                    Schedule(() => LoadScore(score));
                });
            }
        }
Ejemplo n.º 8
0
        public override void Reset()
        {
            base.Reset();
            oldDb = Dependencies.Get<BeatmapDatabase>();
            if (db == null)
            {
                storage = new TestStorage(@"TestCasePlaySongSelect");
                db = new BeatmapDatabase(storage);
                Dependencies.Cache(db, true);

                var sets = new List<BeatmapSetInfo>();

                for (int i = 0; i < 100; i += 10)
                    sets.Add(createTestBeatmapSet(i));

                db.Import(sets);
            }
            Add(new PlaySongSelect());
        }
Ejemplo n.º 9
0
        private void load()
        {
            if (!Host.IsPrimaryInstance)
            {
                Logger.Log(@"osu! does not support multiple running instances.", LoggingTarget.Runtime, LogLevel.Error);
                Environment.Exit(0);
            }

            if (args?.Length > 0)
            {
                var paths = args.Where(a => !a.StartsWith(@"-"));
                Task.Run(() => BeatmapDatabase.Import(paths.ToArray()));
            }

            Dependencies.Cache(this);

            configRuleset         = LocalConfig.GetBindable <int>(OsuSetting.Ruleset);
            Ruleset.Value         = RulesetDatabase.GetRuleset(configRuleset.Value);
            Ruleset.ValueChanged += r => configRuleset.Value = r.ID ?? 0;
        }
Ejemplo n.º 10
0
        public override void Reset()
        {
            base.Reset();
            oldDb = Dependencies.Get <BeatmapDatabase>();
            if (db == null)
            {
                storage = new TestStorage(@"TestCasePlaySongSelect");
                db      = new BeatmapDatabase(storage);
                Dependencies.Cache(db, true);

                var sets = new List <BeatmapSetInfo>();

                for (int i = 0; i < 100; i += 10)
                {
                    sets.Add(createTestBeatmapSet(i));
                }

                db.Import(sets);
            }
            Add(new PlaySongSelect());
        }
Ejemplo n.º 11
0
 protected async void ImportBeatmapsAsync(IEnumerable <string> paths)
 {
     await Task.Run(() => BeatmapDatabase.Import(paths));
 }