diff --git a/osu.Desktop/Program.cs b/osu.Desktop/Program.cs index d51f898870..db40f31c6f 100644 --- a/osu.Desktop/Program.cs +++ b/osu.Desktop/Program.cs @@ -4,6 +4,7 @@ using System; using System.IO; using System.Linq; +using System.Threading; using osu.Desktop.Beatmaps.IO; using osu.Framework; using osu.Framework.Desktop; @@ -25,17 +26,22 @@ namespace osu.Desktop public static int Main(string[] args) { LegacyFilesystemReader.Register(); + + var cwd = Directory.GetCurrentDirectory(); using (DesktopGameHost host = Host.GetSuitableHost(@"osu", true)) { if (!host.IsPrimaryInstance) { var importer = new BeatmapImporter(host); - + Directory.SetCurrentDirectory(cwd); foreach (var file in args) - if (!importer.Import(file).Wait(1000)) + { + Console.WriteLine(@"Importing {0}", file); + if (!importer.Import(Path.GetFullPath(file)).Wait(3000)) throw new TimeoutException(@"IPC took too long to send"); - Console.WriteLine(@"Sent import requests to running instance"); + Thread.Sleep(500); + } } else { diff --git a/osu.Game/Screens/Select/PlaySongSelect.cs b/osu.Game/Screens/Select/PlaySongSelect.cs index 6fa2337598..1688326725 100644 --- a/osu.Game/Screens/Select/PlaySongSelect.cs +++ b/osu.Game/Screens/Select/PlaySongSelect.cs @@ -205,7 +205,7 @@ namespace osu.Game.Screens.Select private void onDatabaseOnBeatmapSetAdded(BeatmapSetInfo s) { - Schedule(() => addBeatmapSet(s, Game)); + Schedule(() => addBeatmapSet(s, Game, true)); } protected override void OnEntering(GameMode last) @@ -334,7 +334,7 @@ namespace osu.Game.Screens.Select } } - private void addBeatmapSet(BeatmapSetInfo beatmapSet, BaseGame game) + private void addBeatmapSet(BeatmapSetInfo beatmapSet, BaseGame game, bool select = false) { beatmapSet = database.GetWithChildren(beatmapSet.ID); beatmapSet.Beatmaps.ForEach(b => @@ -359,7 +359,7 @@ namespace osu.Game.Screens.Select { carousel.AddGroup(group); - if (Beatmap == null) + if (Beatmap == null || select) carousel.SelectBeatmap(beatmapSet.Beatmaps.First()); else {