diff --git a/PpCalculator/CtbCalculator.cs b/PpCalculator/CtbCalculator.cs new file mode 100644 index 00000000..ff0da2cb --- /dev/null +++ b/PpCalculator/CtbCalculator.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using osu.Game.Rulesets; +using osu.Game.Rulesets.Catch; +using osu.Game.Rulesets.Catch.Objects; +using osu.Game.Rulesets.Objects; +using osu.Game.Rulesets.Scoring; +using osu.Game.Rulesets.Taiko; +using osu.Game.Rulesets.Taiko.Objects; + +namespace PpCalculator +{ + public class CtbCalculator : PpCalculator + { + public override Ruleset Ruleset { get; } = new CatchRuleset(); + + protected override int GetMaxCombo(IReadOnlyList hitObjects) => + hitObjects.Count(h => h is Fruit) + + hitObjects.OfType().SelectMany(j => j.NestedHitObjects).Count(h => !(h is TinyDroplet)); + + protected override Dictionary GenerateHitResults(double accuracy, IReadOnlyList hitObjects, int countMiss, int? countMeh, int? countGood, int? countKatsu = null) + { + var maxCombo = GetMaxCombo(hitObjects); + int maxTinyDroplets = hitObjects.OfType().Sum(s => s.NestedHitObjects.OfType().Count()); + int maxDroplets = hitObjects.OfType().Sum(s => s.NestedHitObjects.OfType().Count()) - maxTinyDroplets; + int maxFruits = hitObjects.OfType().Count() + 2 * hitObjects.OfType().Count() + hitObjects.OfType().Sum(s => s.RepeatCount); + + // Either given or max value minus misses + int countDroplets = countGood ?? Math.Max(0, maxDroplets - countMiss); + + // Max value minus whatever misses are left. Negative if impossible missCount + int countFruits = maxFruits - (countMiss - (maxDroplets - countDroplets)); + + // Either given or the max amount of hit objects with respect to accuracy minus the already calculated fruits and drops. + // Negative if accuracy not feasable with missCount. + int countTinyDroplets = countMeh ?? (int)Math.Round(accuracy * (maxCombo + maxTinyDroplets)) - countFruits - countDroplets; + + // Whatever droplets are left + int countTinyMisses = countKatsu ?? maxTinyDroplets - countTinyDroplets; + + return new Dictionary + { + { HitResult.Great, countFruits }, + { HitResult.LargeTickHit, countDroplets }, + { HitResult.SmallTickHit, countTinyDroplets }, + { HitResult.SmallTickMiss, countTinyMisses }, + { HitResult.Miss, countMiss } + }; + } + + protected override double GetAccuracy(Dictionary statistics) + { + double hits = statistics[HitResult.Great] + statistics[HitResult.LargeTickHit] + statistics[HitResult.SmallTickHit]; + double total = hits + statistics[HitResult.Miss] + statistics[HitResult.SmallTickMiss]; + + return hits / total; + } + } +} \ No newline at end of file diff --git a/PpCalculator/ManiaCalculator.cs b/PpCalculator/ManiaCalculator.cs index 5e86d107..3cca5262 100644 --- a/PpCalculator/ManiaCalculator.cs +++ b/PpCalculator/ManiaCalculator.cs @@ -12,7 +12,7 @@ public class ManiaCalculator : PpCalculator protected override int GetMaxCombo(IReadOnlyList hitObjects) => 0; - protected override Dictionary GenerateHitResults(double accuracy, IReadOnlyList hitObjects, int countMiss, int? countMeh, int? countGood) + protected override Dictionary GenerateHitResults(double accuracy, IReadOnlyList hitObjects, int countMiss, int? countMeh, int? countGood, int? countKatsu = null) { var totalHits = hitObjects.Count; diff --git a/PpCalculator/OsuCalculator.cs b/PpCalculator/OsuCalculator.cs index 783e9069..439ceecc 100644 --- a/PpCalculator/OsuCalculator.cs +++ b/PpCalculator/OsuCalculator.cs @@ -18,7 +18,7 @@ protected override int GetMaxCombo(IReadOnlyList hitObjects) => - protected override Dictionary GenerateHitResults(double accuracy, IReadOnlyList hitObjects, int countMiss, int? countMeh, int? countGood) + protected override Dictionary GenerateHitResults(double accuracy, IReadOnlyList hitObjects, int countMiss, int? countMeh, int? countGood, int? countKatsu = null) { int countGreat; @@ -48,7 +48,7 @@ protected override Dictionary GenerateHitResults(double accuracy return new Dictionary { { HitResult.Great, countGreat }, - { HitResult.Good, countGood ?? 0 }, + { HitResult.Ok, countGood ?? 0 }, { HitResult.Meh, countMeh ?? 0 }, { HitResult.Miss, countMiss } }; @@ -56,7 +56,7 @@ protected override Dictionary GenerateHitResults(double accuracy protected override double GetAccuracy(Dictionary statistics) { var countGreat = statistics[HitResult.Great]; - var countGood = statistics[HitResult.Good]; + var countGood = statistics[HitResult.Ok]; var countMeh = statistics[HitResult.Meh]; var countMiss = statistics[HitResult.Miss]; var total = countGreat + countGood + countMeh + countMiss; diff --git a/PpCalculator/PpCalculator.cs b/PpCalculator/PpCalculator.cs index 6909a814..6a6c357f 100644 --- a/PpCalculator/PpCalculator.cs +++ b/PpCalculator/PpCalculator.cs @@ -38,12 +38,14 @@ public virtual string[] Mods public virtual int? Mehs { get; set; } public virtual int? Goods { get; set; } + public int? Katsus { get; set; } protected virtual ScoreInfo ScoreInfo { get; set; } = new ScoreInfo(); protected virtual PerformanceCalculator PerformanceCalculator { get; set; } + protected List TimedDifficultyAttributes { get; set; } - public int? RulesetId => Ruleset.LegacyID; + public int? RulesetId => Ruleset.RulesetInfo.ID; public void PreProcess(ProcessorWorkingBeatmap workingBeatmap) @@ -84,6 +86,8 @@ public double Calculate(double startTime, double endTime = double.NaN, Dictionar return result; } + private DifficultyAttributes DummyAtributtes { get; } = new DifficultyAttributes(); + public double Calculate(double? endTime = null, Dictionary categoryAttribs = null) { if (WorkingBeatmap == null) @@ -118,7 +122,7 @@ public double Calculate(double? endTime = null, Dictionary categ int beatmapMaxCombo = GetMaxCombo(hitObjects); var maxCombo = Combo ?? (int)Math.Round(PercentCombo / 100 * beatmapMaxCombo); - var statistics = GenerateHitResults(Accuracy / 100, hitObjects, Misses, Mehs, Goods); + var statistics = GenerateHitResults(Accuracy / 100, hitObjects, Misses, Mehs, Goods, Katsus); var score = Score; var accuracy = GetAccuracy(statistics); @@ -131,14 +135,17 @@ public double Calculate(double? endTime = null, Dictionary categ if (createPerformanceCalculator) { - PerformanceCalculator = ruleset.CreatePerformanceCalculator(WorkingBeatmap, ScoreInfo); + (PerformanceCalculator, TimedDifficultyAttributes) = ruleset.CreatePerformanceCalculator(WorkingBeatmap, ScoreInfo); ResetPerformanceCalculator = false; } try { - return endTime.HasValue - ? PerformanceCalculator.Calculate(endTime.Value, categoryAttribs) + + return endTime.HasValue + ? PerformanceCalculator.Calculate(endTime.Value, + TimedDifficultyAttributes.LastOrDefault(a => endTime.Value >= a.Time)?.Attributes ?? TimedDifficultyAttributes.First().Attributes, + categoryAttribs) : PerformanceCalculator.Calculate(categoryAttribs); } catch (InvalidOperationException) @@ -189,7 +196,7 @@ protected int GetComboToTime(IBeatmap beatmap, int toTime) => protected abstract int GetMaxCombo(IReadOnlyList hitObjects); - protected abstract Dictionary GenerateHitResults(double accuracy, IReadOnlyList hitObjects, int countMiss, int? countMeh, int? countGood); + protected abstract Dictionary GenerateHitResults(double accuracy, IReadOnlyList hitObjects, int countMiss, int? countMeh, int? countGood, int? countKatsu = null); protected abstract double GetAccuracy(Dictionary statistics); diff --git a/PpCalculator/PpCalculator.csproj b/PpCalculator/PpCalculator.csproj index 8fb07e38..c6d8bcb7 100644 --- a/PpCalculator/PpCalculator.csproj +++ b/PpCalculator/PpCalculator.csproj @@ -1,20 +1,16 @@ - + - - netstandard2.0 - PackageReference - AnyCPU;x64 - - - - - - - - - false - true - - + + netstandard2.1 + Library + AnyCPU;x86 + + + + + + + + diff --git a/PpCalculator/PpCalculatorHelpers.cs b/PpCalculator/PpCalculatorHelpers.cs index 743dd705..d570d995 100644 --- a/PpCalculator/PpCalculatorHelpers.cs +++ b/PpCalculator/PpCalculatorHelpers.cs @@ -14,7 +14,7 @@ private PpCalculatorHelpers() { } /// gamemode id /// 0 = osu /// 1 = Taiko - /// 2 = Ctb(unsupported - returns null) + /// 2 = Ctb /// 3 = Mania /// /// @@ -29,7 +29,7 @@ public static PpCalculator GetPpCalculator(int rulesetId) case 1: return new TaikoCalculator(); case 2: - return null; + return new CtbCalculator(); case 3: return new ManiaCalculator(); } diff --git a/PpCalculator/ProcessorWorkingBeatmap.cs b/PpCalculator/ProcessorWorkingBeatmap.cs index fc094e94..d3ffbc97 100644 --- a/PpCalculator/ProcessorWorkingBeatmap.cs +++ b/PpCalculator/ProcessorWorkingBeatmap.cs @@ -14,7 +14,6 @@ using System.IO; using System.Linq; using System.Threading; -using osu.Framework.Graphics.Video; using osu.Game.IO; using osu.Game.Rulesets.Objects.Types; @@ -35,7 +34,7 @@ public double Length return 0; var hitObject = beatmap.HitObjects.Last(); - return (hitObject as IHasEndTime)?.EndTime ?? hitObject.StartTime; + return (hitObject as IHasDuration)?.EndTime ?? hitObject.StartTime; } } @@ -84,9 +83,7 @@ private static Beatmap readFromFile(string filename,int retryCount=0) protected override IBeatmap GetBeatmap() => beatmap; protected override Texture GetBackground() => null; - protected override VideoSprite GetVideo() => null; - - protected override Track GetTrack() => null; + protected override Track GetBeatmapTrack() => null; public static Ruleset GetRulesetFromLegacyID(int id) { diff --git a/PpCalculator/TaikoCalculator.cs b/PpCalculator/TaikoCalculator.cs index 5677152d..523b65a7 100644 --- a/PpCalculator/TaikoCalculator.cs +++ b/PpCalculator/TaikoCalculator.cs @@ -16,7 +16,7 @@ public class TaikoCalculator : PpCalculator protected override int GetMaxCombo(IReadOnlyList hitObjects) => hitObjects.OfType().Count(); - protected override Dictionary GenerateHitResults(double accuracy, IReadOnlyList hitObjects, int countMiss, int? countMeh, int? countGood) + protected override Dictionary GenerateHitResults(double accuracy, IReadOnlyList hitObjects, int countMiss, int? countMeh, int? countGood, int? countKatsu = null) { var totalResultCount = GetMaxCombo(hitObjects); @@ -38,7 +38,7 @@ protected override Dictionary GenerateHitResults(double accuracy return new Dictionary { { HitResult.Great, countGreat }, - { HitResult.Good, (int)countGood }, + { HitResult.Ok, (int)countGood }, { HitResult.Meh, 0 }, { HitResult.Miss, countMiss } }; @@ -47,7 +47,7 @@ protected override Dictionary GenerateHitResults(double accuracy protected override double GetAccuracy(Dictionary statistics) { var countGreat = statistics[HitResult.Great]; - var countGood = statistics[HitResult.Good]; + var countGood = statistics[HitResult.Ok]; var countMiss = statistics[HitResult.Miss]; var total = countGreat + countGood + countMiss; diff --git a/PpCalculatorTests/PpCalculatorTests.cs b/PpCalculatorTests/PpCalculatorTests.cs new file mode 100644 index 00000000..ba8702ec --- /dev/null +++ b/PpCalculatorTests/PpCalculatorTests.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.IO; +using CollectionManager.DataTypes; +using NUnit.Framework; +using osu.Framework.IO.Network; +using Beatmap = StreamCompanionTypes.DataTypes.Beatmap; + + +namespace PpCalculator.Tests +{ + [TestFixture()] + public class PpCalculatorTests + { + private const string base_url = "https://osu.ppy.sh"; + + [Test] + [TestCase(5, 0, 0, 595, "HD,DT", 628.534, 1185330)] + [TestCase(9, 0, 0, 858, "HD,DT", 698.977, 2333273)] + public void CalculateOsuTest(int c100, int c50, int cMiss, int combo, string mods, double expectedPp, int mapId) + => CalculateTest(c100, c50, cMiss, combo, mods, expectedPp, mapId, new OsuCalculator()); + + [Test] + [TestCase(76, 0, 2, 1679, "HD,DT", 594.078, 1251239)] + [TestCase(36, 0, 0, 2110, "HD,DT", 521.732, 2495119)] + public void CalculateTaikoTest(int c100, int c50, int cMiss, int combo, string mods, double expectedPp, int mapId) + => CalculateTest(c100, c50, cMiss, combo, mods, expectedPp, mapId, new TaikoCalculator()); + + [Test] + [TestCase(73, 79, 0, 1241, "HR", 822.357, 1972148)] + [TestCase(25, 216, 0, 567, "HD,HR", 378.109, 2424031)] + public void CalculateCtbTest(int c100, int c50, int cMiss, int combo, string mods, double expectedPp, int mapId) + => CalculateTest(c100, c50, cMiss, combo, mods, expectedPp, mapId, new CtbCalculator()); + + [Ignore("Star rating is diferent in osu and on site itself, resulting in slightly changed pp values(calculator SR has same values as one in osu! itself)")] + [Test] + [TestCase(1, 0, 0, 2782, "", 641.782, 1270895, 993209)] + [TestCase(6, 2, 4, 1830, "", 768.33, 2513195, 948258)] + public void CalculateManiaTest(int c100, int c50, int cMiss, int combo, string mods, double expectedPp, int mapId, int score) + => CalculateTest(c100, c50, cMiss, combo, mods, expectedPp, mapId, new ManiaCalculator(), score); + + public void CalculateTest(int c100, int c50, int cMiss, int combo, string mods, double expectedPp, int mapId, PpCalculator ppCalculator, int score = 0) + { + ppCalculator.PreProcess(GetMapPath(mapId)); + ppCalculator.Goods = c100; + ppCalculator.Mehs = c50; + ppCalculator.Misses = cMiss; + ppCalculator.Combo = combo; + ppCalculator.Score = score; + ppCalculator.Mods = mods.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); + + var calculatedPp = ppCalculator.Calculate(); + + Assert.That(calculatedPp, Is.EqualTo(expectedPp).Within(0.01)); + } + + private string GetMapPath(int mapId) + { + if (!Directory.Exists("cache")) + Directory.CreateDirectory("cache"); + + string cachePath = Path.Combine("cache", $"{mapId}.osu"); + if (!File.Exists(cachePath)) + { + new FileWebRequest(cachePath, $"{base_url}/osu/{mapId}").Perform(); + } + + return cachePath; + } + } +} diff --git a/PpCalculatorTests/PpCalculatorTests.csproj b/PpCalculatorTests/PpCalculatorTests.csproj new file mode 100644 index 00000000..c6a83b10 --- /dev/null +++ b/PpCalculatorTests/PpCalculatorTests.csproj @@ -0,0 +1,46 @@ + + + + net5.0-windows + false + false + + + + + + + 3.12.0 + + + 3.15.1 + + + 5.2.1 + + + + + + + + + + + + + False + + + False + + + False + + + False + + + + + diff --git a/StreamCompanion.Common/Extensions/ProcessExtensions.cs b/StreamCompanion.Common/Extensions/ProcessExtensions.cs new file mode 100644 index 00000000..a8463272 --- /dev/null +++ b/StreamCompanion.Common/Extensions/ProcessExtensions.cs @@ -0,0 +1,17 @@ +using System.Diagnostics; + +namespace StreamCompanion.Common +{ + public static class ProcessExt + { + public static Process OpenUrl(string url) + { + var psi = new ProcessStartInfo + { + FileName = url, + UseShellExecute = true + }; + return Process.Start(psi); + } + } +} \ No newline at end of file diff --git a/StreamCompanion.Common/StreamCompanion.Common.csproj b/StreamCompanion.Common/StreamCompanion.Common.csproj index b0a32aae..015f8943 100644 --- a/StreamCompanion.Common/StreamCompanion.Common.csproj +++ b/StreamCompanion.Common/StreamCompanion.Common.csproj @@ -1,62 +1,16 @@ - - - + - Debug - AnyCPU - {3D5B2DBB-615F-43E4-8F2B-C54F4D92DC41} + netstandard2.1 Library - Properties - StreamCompanion.Common - StreamCompanion.Common - v4.7.1 - 512 - true + false - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - - - - - - - - - - - - - - - - - - + 5.2.1 runtime + + - - \ No newline at end of file diff --git a/Updater/Updater.csproj b/Updater/Updater.csproj index 2477a4f0..0a9e8a93 100644 --- a/Updater/Updater.csproj +++ b/Updater/Updater.csproj @@ -1,38 +1,18 @@ - - - + - Debug - AnyCPU - {09464784-372D-495F-9FF3-351DA55B4FD9} + net5.0 WinExe - Updater StreamCompanion Updater - v4.0 - 512 - true - Client + false + false + false - - x86 - true - full - false + ..\build\Debug\ - DEBUG;TRACE - prompt - 4 - x86 - pdbonly - true ..\build\Release\ - TRACE - prompt - 4 - compiled.ico @@ -40,43 +20,18 @@ - true ..\build\Debug\ - DEBUG;TRACE - full - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset ..\build\Release\ - TRACE - true - pdbonly - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - + - + + - \ No newline at end of file diff --git a/VersionControler/VersionControler.csproj b/VersionControler/VersionControler.csproj index cefd2e1e..b17382df 100644 --- a/VersionControler/VersionControler.csproj +++ b/VersionControler/VersionControler.csproj @@ -1,133 +1,29 @@ - - - + - Debug - AnyCPU - {F4BDACA6-F1FC-4A6D-AD1C-33E4D579DC21} + net5.0 Exe - Properties - VersionControler - VersionControler - v4.5 - 512 - - - x86 - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 + false + false - x86 - pdbonly - true - bin\Release\ - TRACE - prompt 0 - - true - bin\Debug remote\ - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - true - - - true - bin\Debug\ - DEBUG;TRACE - full - x86 - prompt + MinimumRecommendedRules.ruleset - true - bin\Release\ - TRACE - true 0 - pdbonly - x86 - prompt MinimumRecommendedRules.ruleset - true - - - true - bin\x86\Debug remote\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - true - true - bin\Debug\ - DEBUG;TRACE - full - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset - true - bin\Release\ - TRACE - true 0 - pdbonly - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset - true - - true - bin\x64\Debug remote\ - DEBUG;TRACE - full - x64 - 7.3 - prompt - MinimumRecommendedRules.ruleset - true - - - - - - - - - - - - - - - + + - - \ No newline at end of file diff --git a/build/nuget.exe b/build/nuget.exe index 606c36a9..ad35fa4b 100644 Binary files a/build/nuget.exe and b/build/nuget.exe differ diff --git a/buildRelease-CI.cmd b/buildRelease-CI.cmd index 1ef5c7c1..5b756216 100644 --- a/buildRelease-CI.cmd +++ b/buildRelease-CI.cmd @@ -13,12 +13,6 @@ mkdir Output REM copy files to new folder cp -r ./Release/* ./Output/ -REM move sqlite dll -cp ./Output/x86/* ./Output/ -REM remove sqlite folders -rm -rf ./Output/x86 -rm -rf ./Output/x64 - REM remove debug symbols rm ./Output/*.pdb rm ./Output/Plugins/*.pdb diff --git a/osu!StreamCompanion.sln b/osu!StreamCompanion.sln index 30addd67..76e82a71 100644 --- a/osu!StreamCompanion.sln +++ b/osu!StreamCompanion.sln @@ -1,43 +1,42 @@ - Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.28803.452 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osu!StreamCompanion", "osu!StreamCompanion\osu!StreamCompanion.csproj", "{86251162-A899-4498-BF7F-6F18D6C624EA}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "osu!StreamCompanion", "osu!StreamCompanion\osu!StreamCompanion.csproj", "{86251162-A899-4498-BF7F-6F18D6C624EA}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VersionControler", "VersionControler\VersionControler.csproj", "{F4BDACA6-F1FC-4A6D-AD1C-33E4D579DC21}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "VersionControler", "VersionControler\VersionControler.csproj", "{F4BDACA6-F1FC-4A6D-AD1C-33E4D579DC21}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "submodules", "submodules", "{B0951F6C-E0DC-4242-A32E-0B48711AF12D}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Updater", "Updater\Updater.csproj", "{09464784-372D-495F-9FF3-351DA55B4FD9}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Updater", "Updater\Updater.csproj", "{09464784-372D-495F-9FF3-351DA55B4FD9}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "plugins", "plugins", "{7357CB17-E9D7-493F-BC1B-354F717D7AA3}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClickCounter", "plugins\ClickCounter\ClickCounter.csproj", "{DBB78CD2-7515-4920-BA93-28860EFD54B6}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClickCounter", "plugins\ClickCounter\ClickCounter.csproj", "{DBB78CD2-7515-4920-BA93-28860EFD54B6}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osuOverlayPlugin", "plugins\osuOverlay\osuOverlayPlugin\osuOverlayPlugin.csproj", "{E79D7BC8-AAD4-4BC1-9578-3FABB851B997}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "osuOverlayPlugin", "plugins\osuOverlay\osuOverlayPlugin\osuOverlayPlugin.csproj", "{E79D7BC8-AAD4-4BC1-9578-3FABB851B997}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osuPost", "plugins\osuPost\osuPost.csproj", "{909409E5-7DED-43FC-95D7-913C7576E91C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "osuPost", "plugins\osuPost\osuPost.csproj", "{909409E5-7DED-43FC-95D7-913C7576E91C}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ScGui", "plugins\ScGui\ScGui.csproj", "{4FAB5F27-FF28-4A41-BDD7-1BFF4D0DC71E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ScGui", "plugins\ScGui\ScGui.csproj", "{4FAB5F27-FF28-4A41-BDD7-1BFF4D0DC71E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModsHandler", "plugins\ModsHandler\ModsHandler.csproj", "{53702F40-8EDA-4A2B-ABBF-F85548FF7442}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ModsHandler", "plugins\ModsHandler\ModsHandler.csproj", "{53702F40-8EDA-4A2B-ABBF-F85548FF7442}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModImageGenerator", "plugins\ModImageGenerator\ModImageGenerator.csproj", "{16BB58FA-897B-4A75-BEDC-D42428EB8312}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ModImageGenerator", "plugins\ModImageGenerator\ModImageGenerator.csproj", "{16BB58FA-897B-4A75-BEDC-D42428EB8312}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BeatmapPpReplacements", "plugins\BeatmapPpReplacements\BeatmapPpReplacements.csproj", "{0C50FF12-C298-424F-8B56-E65BCDDAB159}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BeatmapPpReplacements", "plugins\BeatmapPpReplacements\BeatmapPpReplacements.csproj", "{0C50FF12-C298-424F-8B56-E65BCDDAB159}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FileMapDataSender", "plugins\FileMapDataSender\FileMapDataSender.csproj", "{32A61CD7-FA30-40CB-8A23-788BBD65D4A7}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FileMapDataSender", "plugins\FileMapDataSender\FileMapDataSender.csproj", "{32A61CD7-FA30-40CB-8A23-788BBD65D4A7}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TcpSocketDataSender", "plugins\TcpSocketDataSender\TcpSocketDataSender.csproj", "{50E3D207-3812-433A-8F9A-757FF55C991A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TcpSocketDataSender", "plugins\TcpSocketDataSender\TcpSocketDataSender.csproj", "{50E3D207-3812-433A-8F9A-757FF55C991A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PlaysReplacements", "plugins\PlaysReplacements\PlaysReplacements.csproj", "{3D20C5F7-1CFC-4313-8B21-D3FA298F82A9}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PlaysReplacements", "plugins\PlaysReplacements\PlaysReplacements.csproj", "{3D20C5F7-1CFC-4313-8B21-D3FA298F82A9}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OsuSongsFolderWatcher", "plugins\OsuSongsFolderWatcher\OsuSongsFolderWatcher.csproj", "{111A3460-AC37-402C-98B6-D6A1A6B5C214}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OsuSongsFolderWatcher", "plugins\OsuSongsFolderWatcher\OsuSongsFolderWatcher.csproj", "{111A3460-AC37-402C-98B6-D6A1A6B5C214}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MSNEventSource", "plugins\MSNEventSource\MSNEventSource.csproj", "{0BE726DB-D370-4D9D-988A-2B79AF562283}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MSNEventSource", "plugins\MSNEventSource\MSNEventSource.csproj", "{0BE726DB-D370-4D9D-988A-2B79AF562283}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OsuMemoryEventSource", "plugins\OsuMemoryEventSource\OsuMemoryEventSource.csproj", "{1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "OsuMemoryEventSource", "plugins\OsuMemoryEventSource\OsuMemoryEventSource.csproj", "{1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PpCalculator", "PpCalculator\PpCalculator.csproj", "{3D97E9C4-A884-4664-A40C-F19C4533AA00}" EndProject @@ -53,19 +52,19 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "osu.Game.Rulesets.Taiko", " EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "osu.Game.Rulesets.Osu", "submodules\osu\osu.Game.Rulesets.Osu\osu.Game.Rulesets.Osu.csproj", "{330603A4-F36B-4073-82D3-41A95A6D35B2}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LiveVisualizer", "plugins\LiveVisualizer\LiveVisualizer.csproj", "{6FB20D7D-F84A-41DE-B086-DA920C7B5E86}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "LiveVisualizer", "plugins\LiveVisualizer\LiveVisualizer.csproj", "{6FB20D7D-F84A-41DE-B086-DA920C7B5E86}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebSocketDataSender", "plugins\WebSocketDataSender\WebSocketDataSender.csproj", "{6074BC0F-2C6A-485C-A5C4-5AEF3A3B8263}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "WebSocketDataSender", "plugins\WebSocketDataSender\WebSocketDataSender.csproj", "{6074BC0F-2C6A-485C-A5C4-5AEF3A3B8263}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "osuOverlay", "osuOverlay", "{5DDAA708-B9C7-4E2B-80EB-840FB612B124}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "osuOverlayLoader", "plugins\osuOverlay\osuOverlayLoader\osuOverlayLoader.csproj", "{7F30AE10-182D-48C2-B6DB-2A96E8180335}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "BackgroundImageProvider", "plugins\BackgroundImageProvider\BackgroundImageProvider.csproj", "{DF0879B6-D76D-4FCD-B825-8956FFF19143}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BackgroundImageProvider", "plugins\BackgroundImageProvider\BackgroundImageProvider.csproj", "{DF0879B6-D76D-4FCD-B825-8956FFF19143}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ModsHandlerTests", "plugins\ModsHandlerTests\ModsHandlerTests.csproj", "{1FCFBD79-804A-45BC-9433-C3F4B554A0AF}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ModsHandlerTests", "plugins\ModsHandlerTests\ModsHandlerTests.csproj", "{1FCFBD79-804A-45BC-9433-C3F4B554A0AF}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "StreamCompanion.Common", "StreamCompanion.Common\StreamCompanion.Common.csproj", "{3D5B2DBB-615F-43E4-8F2B-C54F4D92DC41}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StreamCompanion.Common", "StreamCompanion.Common\StreamCompanion.Common.csproj", "{3D5B2DBB-615F-43E4-8F2B-C54F4D92DC41}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PpCalculatorTests", "PpCalculatorTests\PpCalculatorTests.csproj", "{C1B3D0A1-CABE-4139-93AC-96F132B44DE6}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -84,14 +83,14 @@ Global {86251162-A899-4498-BF7F-6F18D6C624EA}.Debug|Any CPU.Build.0 = Debug|Any CPU {86251162-A899-4498-BF7F-6F18D6C624EA}.Debug|x64.ActiveCfg = Debug|x64 {86251162-A899-4498-BF7F-6F18D6C624EA}.Debug|x64.Build.0 = Debug|x64 - {86251162-A899-4498-BF7F-6F18D6C624EA}.Debug|x86.ActiveCfg = Debug|x86 - {86251162-A899-4498-BF7F-6F18D6C624EA}.Debug|x86.Build.0 = Debug|x86 + {86251162-A899-4498-BF7F-6F18D6C624EA}.Debug|x86.ActiveCfg = Debug|Any CPU + {86251162-A899-4498-BF7F-6F18D6C624EA}.Debug|x86.Build.0 = Debug|Any CPU {86251162-A899-4498-BF7F-6F18D6C624EA}.Release|Any CPU.ActiveCfg = Release|Any CPU {86251162-A899-4498-BF7F-6F18D6C624EA}.Release|Any CPU.Build.0 = Release|Any CPU {86251162-A899-4498-BF7F-6F18D6C624EA}.Release|x64.ActiveCfg = Release|x64 {86251162-A899-4498-BF7F-6F18D6C624EA}.Release|x64.Build.0 = Release|x64 - {86251162-A899-4498-BF7F-6F18D6C624EA}.Release|x86.ActiveCfg = Release|x86 - {86251162-A899-4498-BF7F-6F18D6C624EA}.Release|x86.Build.0 = Release|x86 + {86251162-A899-4498-BF7F-6F18D6C624EA}.Release|x86.ActiveCfg = Release|Any CPU + {86251162-A899-4498-BF7F-6F18D6C624EA}.Release|x86.Build.0 = Release|Any CPU {86251162-A899-4498-BF7F-6F18D6C624EA}.Remote debug|Any CPU.ActiveCfg = Release|Any CPU {86251162-A899-4498-BF7F-6F18D6C624EA}.Remote debug|Any CPU.Build.0 = Release|Any CPU {86251162-A899-4498-BF7F-6F18D6C624EA}.Remote debug|x64.ActiveCfg = Release|x64 @@ -102,8 +101,8 @@ Global {F4BDACA6-F1FC-4A6D-AD1C-33E4D579DC21}.Debug|Any CPU.Build.0 = Debug|Any CPU {F4BDACA6-F1FC-4A6D-AD1C-33E4D579DC21}.Debug|x64.ActiveCfg = Debug|x64 {F4BDACA6-F1FC-4A6D-AD1C-33E4D579DC21}.Debug|x64.Build.0 = Debug|x64 - {F4BDACA6-F1FC-4A6D-AD1C-33E4D579DC21}.Debug|x86.ActiveCfg = Debug|x86 - {F4BDACA6-F1FC-4A6D-AD1C-33E4D579DC21}.Debug|x86.Build.0 = Debug|x86 + {F4BDACA6-F1FC-4A6D-AD1C-33E4D579DC21}.Debug|x86.ActiveCfg = Debug|Any CPU + {F4BDACA6-F1FC-4A6D-AD1C-33E4D579DC21}.Debug|x86.Build.0 = Debug|Any CPU {F4BDACA6-F1FC-4A6D-AD1C-33E4D579DC21}.Release|Any CPU.ActiveCfg = Release|Any CPU {F4BDACA6-F1FC-4A6D-AD1C-33E4D579DC21}.Release|Any CPU.Build.0 = Release|Any CPU {F4BDACA6-F1FC-4A6D-AD1C-33E4D579DC21}.Release|x64.ActiveCfg = Release|x64 @@ -353,13 +352,13 @@ Global {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}.Debug|Any CPU.ActiveCfg = Debug|x86 {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}.Debug|x64.ActiveCfg = Debug|x64 {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}.Debug|x64.Build.0 = Debug|x64 - {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}.Debug|x86.ActiveCfg = Debug|x86 - {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}.Debug|x86.Build.0 = Debug|x86 + {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}.Debug|x86.ActiveCfg = Debug|Any CPU + {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}.Debug|x86.Build.0 = Debug|Any CPU {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}.Release|Any CPU.ActiveCfg = Release|x86 {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}.Release|x64.ActiveCfg = Release|x64 {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}.Release|x64.Build.0 = Release|x64 - {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}.Release|x86.ActiveCfg = Release|x86 - {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}.Release|x86.Build.0 = Release|x86 + {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}.Release|x86.ActiveCfg = Release|Any CPU + {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}.Release|x86.Build.0 = Release|Any CPU {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}.Remote debug|Any CPU.ActiveCfg = Release|x86 {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}.Remote debug|Any CPU.Build.0 = Release|x86 {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67}.Remote debug|x64.ActiveCfg = Release|x64 @@ -510,24 +509,6 @@ Global {6074BC0F-2C6A-485C-A5C4-5AEF3A3B8263}.Remote debug|x64.Build.0 = Release|x64 {6074BC0F-2C6A-485C-A5C4-5AEF3A3B8263}.Remote debug|x86.ActiveCfg = Release|Any CPU {6074BC0F-2C6A-485C-A5C4-5AEF3A3B8263}.Remote debug|x86.Build.0 = Release|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Debug|x64.ActiveCfg = Debug|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Debug|x64.Build.0 = Debug|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Debug|x86.ActiveCfg = Debug|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Debug|x86.Build.0 = Debug|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Release|Any CPU.Build.0 = Release|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Release|x64.ActiveCfg = Release|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Release|x64.Build.0 = Release|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Release|x86.ActiveCfg = Release|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Release|x86.Build.0 = Release|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Remote debug|Any CPU.ActiveCfg = Release|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Remote debug|Any CPU.Build.0 = Release|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Remote debug|x64.ActiveCfg = Release|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Remote debug|x64.Build.0 = Release|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Remote debug|x86.ActiveCfg = Release|Any CPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335}.Remote debug|x86.Build.0 = Release|Any CPU {DF0879B6-D76D-4FCD-B825-8956FFF19143}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {DF0879B6-D76D-4FCD-B825-8956FFF19143}.Debug|Any CPU.Build.0 = Debug|Any CPU {DF0879B6-D76D-4FCD-B825-8956FFF19143}.Debug|x64.ActiveCfg = Debug|Any CPU @@ -582,6 +563,24 @@ Global {3D5B2DBB-615F-43E4-8F2B-C54F4D92DC41}.Remote debug|x64.Build.0 = Release|Any CPU {3D5B2DBB-615F-43E4-8F2B-C54F4D92DC41}.Remote debug|x86.ActiveCfg = Release|Any CPU {3D5B2DBB-615F-43E4-8F2B-C54F4D92DC41}.Remote debug|x86.Build.0 = Release|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Debug|x64.ActiveCfg = Debug|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Debug|x64.Build.0 = Debug|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Debug|x86.ActiveCfg = Debug|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Debug|x86.Build.0 = Debug|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Release|Any CPU.Build.0 = Release|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Release|x64.ActiveCfg = Release|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Release|x64.Build.0 = Release|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Release|x86.ActiveCfg = Release|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Release|x86.Build.0 = Release|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Remote debug|Any CPU.ActiveCfg = Release|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Remote debug|Any CPU.Build.0 = Release|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Remote debug|x64.ActiveCfg = Release|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Remote debug|x64.Build.0 = Release|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Remote debug|x86.ActiveCfg = Release|Any CPU + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6}.Remote debug|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -610,9 +609,9 @@ Global {6FB20D7D-F84A-41DE-B086-DA920C7B5E86} = {7357CB17-E9D7-493F-BC1B-354F717D7AA3} {6074BC0F-2C6A-485C-A5C4-5AEF3A3B8263} = {7357CB17-E9D7-493F-BC1B-354F717D7AA3} {5DDAA708-B9C7-4E2B-80EB-840FB612B124} = {7357CB17-E9D7-493F-BC1B-354F717D7AA3} - {7F30AE10-182D-48C2-B6DB-2A96E8180335} = {5DDAA708-B9C7-4E2B-80EB-840FB612B124} {DF0879B6-D76D-4FCD-B825-8956FFF19143} = {7357CB17-E9D7-493F-BC1B-354F717D7AA3} {1FCFBD79-804A-45BC-9433-C3F4B554A0AF} = {7357CB17-E9D7-493F-BC1B-354F717D7AA3} + {C1B3D0A1-CABE-4139-93AC-96F132B44DE6} = {B0951F6C-E0DC-4242-A32E-0B48711AF12D} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {90CD718D-2503-4BBC-867D-E8EF9C9DBC77} diff --git a/osu!StreamCompanion/Code/Core/DiContainer.cs b/osu!StreamCompanion/Code/Core/DiContainer.cs index 59eb3cc0..b392aa68 100644 --- a/osu!StreamCompanion/Code/Core/DiContainer.cs +++ b/osu!StreamCompanion/Code/Core/DiContainer.cs @@ -6,6 +6,7 @@ using System.Linq; using System.Reflection; using System.Runtime.InteropServices; +using System.Runtime.Loader; using System.Windows.Forms; using Grace.DependencyInjection; using osu_StreamCompanion.Code.Core.Loggers; @@ -24,8 +25,14 @@ namespace osu_StreamCompanion.Code.Core { internal static class DiContainer { - private static string PluginsLocation = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Plugins"); + static DiContainer() + { + AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; + } + private static string PluginsLocation = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Plugins"); + private static string AdditionalDllsLocation = Path.Combine(PluginsLocation, "Dlls"); + private static string[] customProbingPaths = {PluginsLocation, AdditionalDllsLocation}; public static DependencyInjectionContainer Container => LazyContainer.Value; private static Lazy LazyContainer = new Lazy(() => { @@ -137,7 +144,8 @@ private static List GetAssemblies(IEnumerable fileList, ILogge { try { - assemblies.Add(Assembly.LoadFile(file)); + var assemblyName = new AssemblyName(Path.GetFileNameWithoutExtension(file)); + assemblies.Add(AssemblyLoadContext.Default.LoadFromAssemblyName(assemblyName)); } catch (BadImageFormatException e) { @@ -174,6 +182,22 @@ private static List GetAssemblies(IEnumerable fileList, ILogge return assemblies; } + private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) + { + var name = args.Name.Split(",", StringSplitOptions.TrimEntries)[0]; + + foreach (var probingPath in customProbingPaths) + { + var filePath = Path.Combine(probingPath, $"{name}.dll"); + if (File.Exists(filePath)) + { + return Assembly.LoadFrom(filePath); + } + } + + return null; + } + private static List GetTypes(Assembly asm) { List plugins = new List(); diff --git a/osu!StreamCompanion/Code/Core/Loggers/SentryLogger.cs b/osu!StreamCompanion/Code/Core/Loggers/SentryLogger.cs index 49dfc7f5..2b0b40d0 100644 --- a/osu!StreamCompanion/Code/Core/Loggers/SentryLogger.cs +++ b/osu!StreamCompanion/Code/Core/Loggers/SentryLogger.cs @@ -1,8 +1,7 @@ using System; using System.Collections.Generic; using osu_StreamCompanion.Code.Helpers; -using SharpRaven; -using SharpRaven.Data; +using Sentry; using StreamCompanionTypes.Enums; using StreamCompanionTypes.Interfaces.Services; @@ -10,34 +9,30 @@ namespace osu_StreamCompanion.Code.Core.Loggers { public class SentryLogger : IContextAwareLogger { - public static string RavenDsn = + public static string SentryDsn = "https://3187b2a91f23411ab7ec5f85ad7d80b8@sentry.pioo.space/2"; - public static RavenClient RavenClient { get; } = new RavenClient(RavenDsn); + public static SentryClient SentryClient { get; } = new SentryClient(new SentryOptions + { + Dsn = SentryDsn, + Release = Program.ScVersion + }); public static Dictionary ContextData { get; } = new Dictionary(); private object _lockingObject = new object(); - public SentryLogger() - { - RavenClient.Release = Program.ScVersion; - } + public void Log(object logMessage, LogLevel logLevel, params string[] vals) { - if (logLevel == LogLevel.Critical) + if (logLevel == LogLevel.Critical && logMessage is Exception exception && !(exception is NonLoggableException)) { - SentryEvent sentryEvent; - if (logMessage is Exception) - { - if (logMessage is NonLoggableException) - return; - sentryEvent = new SentryEvent((Exception)logMessage); - } - else - sentryEvent = new SentryEvent(string.Format(logMessage.ToString(), vals)); + var sentryEvent = new SentryEvent(exception); lock (_lockingObject) { - sentryEvent.Extra = ContextData; - RavenClient.Capture(sentryEvent); + foreach (var contextKeyValue in ContextData) + { + sentryEvent.SetExtra(contextKeyValue.Key, contextKeyValue.Value); + } + SentryClient.CaptureEvent(sentryEvent); } } } diff --git a/osu!StreamCompanion/Code/Core/Maps/Processing/MapStringFormatter.cs b/osu!StreamCompanion/Code/Core/Maps/Processing/MapStringFormatter.cs index d8a6da8b..c50b33d9 100644 --- a/osu!StreamCompanion/Code/Core/Maps/Processing/MapStringFormatter.cs +++ b/osu!StreamCompanion/Code/Core/Maps/Processing/MapStringFormatter.cs @@ -19,7 +19,8 @@ public class MapStringFormatter : IDisposable private readonly MainMapDataGetter _mainMapDataGetter; private ISettings _settings; - private Thread ConsumerThread; + private Task WorkerTask; + private CancellationTokenSource workerCancellationTokenSource = new CancellationTokenSource(); private ConcurrentStack TasksMsn = new ConcurrentStack(); private ConcurrentStack TasksMemory = new ConcurrentStack(); @@ -31,10 +32,9 @@ public MapStringFormatter(MainMapDataGetter mainMapDataGetter, List(new[] { "Raw", "TitleRoman", "ArtistRoman", "TitleUnicode", "ArtistUnicode", "Creator", "DiffName", "Mp3Name", "Md5", "OsuFileName", "MaxBpm", "MinBpm", "Tags", "State", "Circles", "Sliders", "Spinners", "EditDate", "ApproachRate", "CircleSize", "HpDrainRate", "OverallDifficulty", "SliderVelocity", "DrainingTime", "TotalTime", "PreviewTime", "MapId", "MapSetId", "ThreadId", "MapRating", "Offset", "StackLeniency", "Mode", "Source", "AudioOffset", "LetterBox", "Played", "LastPlayed", "IsOsz2", "Dir", "LastSync", "DisableHitsounds", "DisableSkin", "DisableSb", "BgDim", "Somestuff", "StarsOsu", "BeatmapChecksum", "MainBpm" }); - _tableStruct.Type = new List(new[] { "VARCHAR", "VARCHAR", "VARCHAR", "VARCHAR", "VARCHAR", "VARCHAR", "VARCHAR", "VARCHAR", "VARCHAR", "VARCHAR", "DOUBLE", "DOUBLE", "VARCHAR", "INTEGER", "INTEGER", "INTEGER", "INTEGER", "DATETIME", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "INTEGER", "INTEGER", "INTEGER", "INTEGER", "INTEGER", "INTEGER", "INTEGER", "INTEGER", "DOUBLE", "INTEGER", "VARCHAR", "INTEGER", "VARCHAR", "BOOL", "DATETIME", "BOOL", "VARCHAR", "DATETIME", "BOOL", "BOOL", "BOOL", "INTEGER", "INTEGER", "BLOB", "VARCHAR", "DOUBLE" }); - _tableStruct.TypeModifiers = new List(new[] { "NOT NULL", "NOT NULL", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "", "NOT NULL", "NOT NULL", "NOT NULL", "NOT NULL ", "NOT NULL", "NOT NULL", "NOT NULL", "NOT NULL", "", "NOT NULL", "NOT NULL", "NOT NULL", "NOT NULL", "", "NOT NULL", "", "NOT NULL", "NOT NULL", "", "", "", "NOT NULL", "NOT NULL", "NOT NULL", "NOT NULL", "" }); + _tableStruct.Fieldnames = new List(new[] { "Raw", "TitleRoman", "ArtistRoman", "TitleUnicode", "ArtistUnicode", "Creator", "DiffName", "Mp3Name", "Md5", "OsuFileName", "MaxBpm", "MinBpm", "Tags", "State", "Circles", "Sliders", "Spinners", "EditDate", "ApproachRate", "CircleSize", "HpDrainRate", "OverallDifficulty", "SliderVelocity", "DrainingTime", "TotalTime", "PreviewTime", "MapId", "MapSetId", "ThreadId", "MapRating", "Offset", "StackLeniency", "Mode", "Source", "AudioOffset", "LetterBox", "Played", "LastPlayed", "IsOsz2", "Dir", "LastSync", "DisableHitsounds", "DisableSkin", "DisableSb", "BgDim", "Somestuff", "StarsOsu", "MainBpm" }); + _tableStruct.Type = new List(new[] { "VARCHAR", "VARCHAR", "VARCHAR", "VARCHAR", "VARCHAR", "VARCHAR", "VARCHAR", "VARCHAR", "VARCHAR", "VARCHAR", "DOUBLE", "DOUBLE", "VARCHAR", "INTEGER", "INTEGER", "INTEGER", "INTEGER", "DATETIME", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "DOUBLE", "INTEGER", "INTEGER", "INTEGER", "INTEGER", "INTEGER", "INTEGER", "INTEGER", "INTEGER", "DOUBLE", "INTEGER", "VARCHAR", "INTEGER", "VARCHAR", "BOOL", "DATETIME", "BOOL", "VARCHAR", "DATETIME", "BOOL", "BOOL", "BOOL", "INTEGER", "INTEGER", "BLOB", "DOUBLE" }); + _tableStruct.TypeModifiers = new List(new[] { "NOT NULL", "NOT NULL", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "NOT NULL ", "", "NOT NULL", "NOT NULL", "NOT NULL", "NOT NULL ", "NOT NULL", "NOT NULL", "NOT NULL", "NOT NULL", "", "NOT NULL", "NOT NULL", "NOT NULL", "NOT NULL", "", "NOT NULL", "", "NOT NULL", "NOT NULL", "", "", "", "NOT NULL", "NOT NULL", "NOT NULL", "" }); try { @@ -149,8 +150,6 @@ private void CreateTables() NonQuery("CREATE UNIQUE INDEX \"MapLocationIndex1\" ON \"withID\" (\r\n\t\"Dir\",\r\n\t\"OsuFileName\"\r\n)"); NonQuery("CREATE UNIQUE INDEX \"MapLocationIndex2\" ON \"withoutID\" (\r\n\t\"Dir\",\r\n\t\"OsuFileName\"\r\n)"); - NonQuery("CREATE UNIQUE INDEX \"BeatmapChecksumIndex1\" ON \"withID\" (\r\n\t\"BeatmapChecksum\")"); - NonQuery("CREATE UNIQUE INDEX \"BeatmapChecksumIndex2\" ON \"withoutID\" (\r\n\t\"BeatmapChecksum\")"); NonQuery("CREATE INDEX \"MapIdIndex1\" ON \"WithId\"(\r\n\"MapId\"\r\n)"); } @@ -250,18 +249,18 @@ public void RemoveBeatmap(string hash) NonQuery(sql); } - public void RemoveBeatmaps(IList checksums) + public void RemoveBeatmaps(IList hashes) { var strHashes = new StringBuilder(); - foreach (var hash in checksums) + foreach (var hash in hashes) { strHashes.AppendFormat("'{0}',", hash); } - var sql = string.Format("DELETE FROM withID WHERE BeatmapChecksum IN ({0})", strHashes.ToString().TrimEnd(',')); + var sql = string.Format("DELETE FROM withID WHERE Md5 IN ({0})", strHashes.ToString().TrimEnd(',')); NonQuery(sql); - sql = string.Format("DELETE FROM withoutID WHERE BeatmapChecksum IN ({0})", strHashes.ToString().TrimEnd(',')); + sql = string.Format("DELETE FROM withoutID WHERE Md5 IN ({0})", strHashes.ToString().TrimEnd(',')); NonQuery(sql); } @@ -345,7 +344,6 @@ private void FillBeatmapParameters(IBeatmap beatmap) _insertSql.Parameters.Add("@BgDim", DbType.Int16).Value = beatmap.BgDim; _insertSql.Parameters.Add("@Somestuff", DbType.Int16).Value = beatmap.Somestuff; _insertSql.Parameters.Add("@StarsOsu", DbType.Binary).Value = beatmap.SerializeStars(); - _insertSql.Parameters.Add("@BeatmapChecksum", DbType.String).Value = beatmap.GetChecksum(); _insertSql.Parameters.Add("@MainBpm", DbType.Double).Value = beatmap.MainBpm; } public Beatmap GetBeatmap(int mapId) diff --git a/osu!StreamCompanion/Code/Core/SqliteControler.cs b/osu!StreamCompanion/Code/Core/SqliteControler.cs index 4ecd5857..5352562f 100644 --- a/osu!StreamCompanion/Code/Core/SqliteControler.cs +++ b/osu!StreamCompanion/Code/Core/SqliteControler.cs @@ -15,17 +15,15 @@ namespace osu_StreamCompanion.Code.Core public class SqliteControler : IDatabaseController { private readonly SqliteConnector _sqlConnector; - private Dictionary _beatmapChecksums; + private Dictionary _beatmapChecksums; - private class MapIdMd5Pair + private class MapIdFoundPair { public int MapId { get; } - public string Md5 { get; } public bool Found { get; set; } - public MapIdMd5Pair(int mapId, string md5) + public MapIdFoundPair(int mapId) { MapId = mapId; - Md5 = md5; } } public SqliteControler(SqliteConnector sqLiteConnector) @@ -61,7 +59,7 @@ public void StartMassStoring() return; lock (_sqlConnector) { - string sql = "SELECT Md5, MapId, BeatmapChecksum FROM (SELECT Md5, MapId, BeatmapChecksum FROM `withID` UNION SELECT Md5, MapId, BeatmapChecksum FROM `withoutID`)"; + string sql = "SELECT Md5, MapId FROM (SELECT Md5, MapId FROM `withID` UNION SELECT Md5, MapId FROM `withoutID`)"; SQLiteDataReader reader; try { @@ -79,41 +77,14 @@ public void StartMassStoring() throw; } - _beatmapChecksums = new Dictionary(); + _beatmapChecksums = new Dictionary(); while (reader.Read()) { var hash = reader.GetString(0); var mapId = reader.GetInt32(1); - var checksum = reader.GetString(2); - if (_beatmapChecksums.ContainsKey(checksum)) + if (!_beatmapChecksums.ContainsKey(hash)) { - //REALLY..? I don't think so. - var map1 = _sqlConnector.GetBeatmap(hash); - var map2 = _sqlConnector.GetBeatmap(_beatmapChecksums[checksum].Md5); - var map1Checksum = map1.GetChecksum(); - var map2Checksum = map2.GetChecksum(); - if (map1Checksum == map2Checksum) - { - //:( fair enough - var ex = new SQLiteException(SQLiteErrorCode.Constraint, "uh, oh... beatmap checksum collision"); - ex.Data.Add("mapId1", map1.MapId); - ex.Data.Add("hash1", map1.Md5); - ex.Data.Add("mapId2", map2.MapId); - ex.Data.Add("hash2", map2.Md5); - ex.Data.Add("checksum", map1Checksum); - throw ex; - } - - _beatmapChecksums.Remove(map1Checksum); - _beatmapChecksums.Remove(map2Checksum); - - _beatmapChecksums.Add(map1Checksum, new MapIdMd5Pair(map1.MapId, map1.Md5)); - _beatmapChecksums.Add(map2Checksum, new MapIdMd5Pair(map2.MapId, map2.Md5)); - - } - else - { - _beatmapChecksums.Add(checksum, new MapIdMd5Pair(mapId, hash)); + _beatmapChecksums.Add(hash, new MapIdFoundPair(mapId)); } } reader.Dispose(); @@ -153,20 +124,12 @@ public void StoreBeatmap(IBeatmap beatmap) { if (_sqlConnector.MassInsertIsActive) { - var checksum = beatmap.GetChecksum(); - if (_beatmapChecksums.ContainsKey(checksum)) + var md5 = beatmap.Md5; + if (_beatmapChecksums.TryGetValue(md5, out var foundPair)) { - _beatmapChecksums[checksum].Found = true; + foundPair.Found = true; return; } - else - { - var existingEntry = _beatmapChecksums.FirstOrDefault(x => x.Value.Md5 == beatmap.Md5); - if (!existingEntry.Equals(default(KeyValuePair))) - { - _beatmapChecksums.Remove(existingEntry.Key); - } - } } _sqlConnector.StoreBeatmap(beatmap); } diff --git a/osu!StreamCompanion/Code/Helpers/BeatmapHelpers.cs b/osu!StreamCompanion/Code/Helpers/BeatmapHelpers.cs index f9b3c897..c34aec33 100644 --- a/osu!StreamCompanion/Code/Helpers/BeatmapHelpers.cs +++ b/osu!StreamCompanion/Code/Helpers/BeatmapHelpers.cs @@ -70,7 +70,6 @@ public static void Read(this IBeatmap beatmap, SQLiteDataReader reader) beatmap.BgDim = reader.GetInt16(i); i++; beatmap.Somestuff = reader.GetInt16(i); i++; beatmap.DeSerializeStars((byte[])reader.GetValue(i)); i++; - i++; // beatmapChecksum beatmap.MainBpm = reader.SafeGetDouble(i); i++; } diff --git a/osu!StreamCompanion/Code/Modules/Donation/DonationSettings.Designer.cs b/osu!StreamCompanion/Code/Modules/Donation/DonationSettings.Designer.cs index ed1dbe8e..6ccb9f56 100644 --- a/osu!StreamCompanion/Code/Modules/Donation/DonationSettings.Designer.cs +++ b/osu!StreamCompanion/Code/Modules/Donation/DonationSettings.Designer.cs @@ -28,6 +28,7 @@ protected override void Dispose(bool disposing) /// private void InitializeComponent() { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(DonationSettings)); this.label5 = new System.Windows.Forms.Label(); this.label6 = new System.Windows.Forms.Label(); this.label_donateEmail = new System.Windows.Forms.Label(); @@ -38,35 +39,39 @@ private void InitializeComponent() // label5 // this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(3, 12); + this.label5.Location = new System.Drawing.Point(4, 14); + this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(281, 13); + this.label5.Size = new System.Drawing.Size(320, 15); this.label5.TabIndex = 23; this.label5.Text = "Developing and maintaining StreamCompanion takes time."; // // label6 // this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(3, 37); + this.label6.Location = new System.Drawing.Point(4, 43); + this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(92, 13); + this.label6.Size = new System.Drawing.Size(105, 15); this.label6.TabIndex = 24; this.label6.Text = "Consider donating"; // // label_donateEmail // this.label_donateEmail.AutoSize = true; - this.label_donateEmail.Location = new System.Drawing.Point(98, 61); + this.label_donateEmail.Location = new System.Drawing.Point(114, 70); + this.label_donateEmail.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label_donateEmail.Name = "label_donateEmail"; - this.label_donateEmail.Size = new System.Drawing.Size(108, 13); + this.label_donateEmail.Size = new System.Drawing.Size(123, 15); this.label_donateEmail.TabIndex = 26; this.label_donateEmail.Text = "nessgrou@gmail.com"; // // pictureBox1 // this.pictureBox1.Cursor = System.Windows.Forms.Cursors.Hand; - this.pictureBox1.Image = global::osu_StreamCompanion.Properties.Resources.btn_donate_92x26; - this.pictureBox1.Location = new System.Drawing.Point(101, 32); + this.pictureBox1.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox1.Image"))); + this.pictureBox1.Location = new System.Drawing.Point(118, 37); + this.pictureBox1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.pictureBox1.Name = "pictureBox1"; this.pictureBox1.Size = new System.Drawing.Size(92, 26); this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.AutoSize; @@ -76,14 +81,15 @@ private void InitializeComponent() // // DonationSettings // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.pictureBox1); this.Controls.Add(this.label_donateEmail); this.Controls.Add(this.label6); this.Controls.Add(this.label5); + this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.Name = "DonationSettings"; - this.Size = new System.Drawing.Size(316, 90); + this.Size = new System.Drawing.Size(369, 104); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); diff --git a/osu!StreamCompanion/Code/Modules/Donation/DonationSettings.cs b/osu!StreamCompanion/Code/Modules/Donation/DonationSettings.cs index 9a787555..310a5365 100644 --- a/osu!StreamCompanion/Code/Modules/Donation/DonationSettings.cs +++ b/osu!StreamCompanion/Code/Modules/Donation/DonationSettings.cs @@ -1,5 +1,7 @@ using System; +using System.Diagnostics; using System.Windows.Forms; +using StreamCompanion.Common; namespace osu_StreamCompanion.Code.Modules.Donation { @@ -13,8 +15,7 @@ public DonationSettings() private void pictureBox1_Click(object sender, EventArgs e) { - System.Diagnostics.Process.Start(@"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CX2ZC3JKVAK74"); - + ProcessExt.OpenUrl(@"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CX2ZC3JKVAK74"); } } } diff --git a/osu!StreamCompanion/Code/Modules/Donation/DonationSettings.resx b/osu!StreamCompanion/Code/Modules/Donation/DonationSettings.resx index 1af7de15..eca6f4aa 100644 --- a/osu!StreamCompanion/Code/Modules/Donation/DonationSettings.resx +++ b/osu!StreamCompanion/Code/Modules/Donation/DonationSettings.resx @@ -1,64 +1,4 @@ - - - + @@ -117,4 +57,34 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + iVBORw0KGgoAAAANSUhEUgAAAFwAAAAaCAYAAAA67jspAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAFJ0lEQVRoQ+2XX1AVVRzHzzQ9 + 9eBDj7000/8QNcG0TApB0lsoKoSMyUCJAaYkFAxmCyYZaZcwmMZYm7zmnyugxniVINTLZIrTLXJquqVp + XrB0iMYyuzYx0Lff7yx73Yvb2+E+7cNn9vz+nXP2u7vnnBUABML9GDldjuGjT2C4c5qDSkhT1pY1Zq0F + /gph+Mhs/PtjE3DtAnB9wEElpClryxqz1mK4txwjZ94DBj8DLvuAS20OKmFNSVvWmLUWQ58mAX27gYt7 + HcaT/j0Y6pwF8c/hBCDkcYgBrLX42zcVOL/VIQaw1uL6wYeAs3UOMYC1FuG2KUCwRjl6TQ4SExOjcM2Z + CXdlJoKHSm1rxptA6yqEjlbYxmIBay2uHZgMfFupHH1ToRTZ/3F9BN+uN5CbPc/we/Jt68YTHtfXVGAb + iwWstfhz3yTg69XK0WuXyxvEmc03OFsP/Lwf2iv5Mjbof8G2dryQgm9baRuLBay1uNoaDwSeV47+Zp4h + uE0s2LXRuPnGLGmHj+fBW/s0chfOlH6+sm2tkfnvLoBWNFu2XSkzpG3GuQ+9al6kD46bfQRbl0ifFbOO + Y9Y+uQ/uy4yrhLUWvzdPBE4tUY6+cZlxYzaxcM9KGdNrsqWtFSUbNi1D/n20/o8uR1rh45Eathn3uqUy + x11lPIRgM4lOcffLqbRHPAbf9nKjj83FMh7wpMvx2CfrqwsQaKevjWq41tqnz1Mp++D5mOOqhLUWV7xx + wOfpyjE3TbsYTi6WMc4J7nlStv0t62lj2QCcXiOvbLOf41zDba1sKfDDW0YOXdnna8iQcW11BvzNrwHf + 0KZI8XBvlRFvzJTjsU/aTbSM9dKywjXFKfLBRfqk2tDJ+qhxVcJai992Pwh003++YvQNWXLidrFwp/FG + e9058NW7ZDt8gjYzaw7ZUiCKsy3bTSuicqSv8RnD/r4WgV050CsfhVYwA67ZD0fHx+aP2v+HOa5KWGvx + 684HgCPTlaOvXygnbhcLNBnrbGD3s/SGjuYdS4rOI1veOMXZtrZNrD69Ypq0eVz/jhUIdlTfVDPWdqUl + QVuTDb+38iZCh5ZF8lTBWouBHfcDnbRxKkavni9vcKw/fDAeuRn0BqbNQvjYAgRbjC/BX0f/A5Y8ttnP + cbalWFvo07TkWH3c9jYU0XKxCujJRrhr7k01Y22tZBFK8ubIfJPBjsU0v0cQ/Ij2j9E8VbDW4vL2+4D2 + u5WjVxlLhf/tuAjedfFwJSdIf2B/GU2CNuzuZGgvja7pZZNkHl/ZZj/HuT8p1jtzo8aw+nKzUuUJhet9 + NRORm26M4y5NxuDeeyP5vBEHGmkZJTvUaWysWv6UyBxLcuiUlMlLgDGuSlhrcelDmozvDuXomrEZWnGl + TJd/mqHuKmNdG80N97wI75bl0cdCstlv5rDfV5cascf6gr7VKMlPM+rpC/J7CuiklCvt0E56sJTDfbLN + yD66piL4yVpoK406XvfdFfMR/vLVyBgqYa3FLx/cA7Tdrp5TfKLYFM13rwNfPAd00MnImssTOrGITglr + jTy+ss1+M4f9x5+KrrP6uhLopFF6o54fqDkHczzuk23G7IPrvio2fOb8rOMqhLUWF3US/MBtDjGAtRb9 + TbS+tN7qEANYa9G39S6gRTjEANZa9G2bhJHmW2wTHNTBGvfp9Gs/0F6Eqzsm2CY5qIM1Zq3F0JVzuKBP + xh+eCc6bPg6wpqwta8xak5dFP4/Lhwvx0/txONdwp4NCWFPWljUGIP4DWjaiyf3MZJ8AAAAASUVORK5C + YII= + + \ No newline at end of file diff --git a/osu!StreamCompanion/Code/Modules/FileSaveLocation/FileSaveLocationSettings.Designer.cs b/osu!StreamCompanion/Code/Modules/FileSaveLocation/FileSaveLocationSettings.Designer.cs index 2f018f4a..9ea306d2 100644 --- a/osu!StreamCompanion/Code/Modules/FileSaveLocation/FileSaveLocationSettings.Designer.cs +++ b/osu!StreamCompanion/Code/Modules/FileSaveLocation/FileSaveLocationSettings.Designer.cs @@ -35,17 +35,19 @@ private void InitializeComponent() // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(3, 6); + this.label1.Location = new System.Drawing.Point(4, 7); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(183, 13); + this.label1.Size = new System.Drawing.Size(206, 15); this.label1.TabIndex = 0; this.label1.Text = "StreamCompanion files save location:"; // // button_OpenFilesFolder // - this.button_OpenFilesFolder.Location = new System.Drawing.Point(192, 2); + this.button_OpenFilesFolder.Location = new System.Drawing.Point(224, 2); + this.button_OpenFilesFolder.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.button_OpenFilesFolder.Name = "button_OpenFilesFolder"; - this.button_OpenFilesFolder.Size = new System.Drawing.Size(180, 23); + this.button_OpenFilesFolder.Size = new System.Drawing.Size(210, 27); this.button_OpenFilesFolder.TabIndex = 2; this.button_OpenFilesFolder.Text = "Open"; this.button_OpenFilesFolder.UseVisualStyleBackColor = true; @@ -53,12 +55,13 @@ private void InitializeComponent() // // FileSaveLocationSettings // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.button_OpenFilesFolder); this.Controls.Add(this.label1); + this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.Name = "FileSaveLocationSettings"; - this.Size = new System.Drawing.Size(392, 26); + this.Size = new System.Drawing.Size(457, 30); this.ResumeLayout(false); this.PerformLayout(); diff --git a/osu!StreamCompanion/Code/Modules/FileSaveLocation/FileSaveLocationSettings.resx b/osu!StreamCompanion/Code/Modules/FileSaveLocation/FileSaveLocationSettings.resx index 1af7de15..f298a7be 100644 --- a/osu!StreamCompanion/Code/Modules/FileSaveLocation/FileSaveLocationSettings.resx +++ b/osu!StreamCompanion/Code/Modules/FileSaveLocation/FileSaveLocationSettings.resx @@ -1,64 +1,4 @@ - - - + diff --git a/osu!StreamCompanion/Code/Modules/FirstRun/FirstRunFrm.Designer.cs b/osu!StreamCompanion/Code/Modules/FirstRun/FirstRunFrm.Designer.cs index 4adf7f0b..54c39365 100644 --- a/osu!StreamCompanion/Code/Modules/FirstRun/FirstRunFrm.Designer.cs +++ b/osu!StreamCompanion/Code/Modules/FirstRun/FirstRunFrm.Designer.cs @@ -33,11 +33,12 @@ private void InitializeComponent() // // FirstRunFrm // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(407, 259); + this.ClientSize = new System.Drawing.Size(475, 299); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.MaximizeBox = false; this.Name = "FirstRunFrm"; this.Text = "StreamCompanion Setup"; diff --git a/osu!StreamCompanion/Code/Modules/FirstRun/FirstRunFrm.resx b/osu!StreamCompanion/Code/Modules/FirstRun/FirstRunFrm.resx index b45592d2..56058524 100644 --- a/osu!StreamCompanion/Code/Modules/FirstRun/FirstRunFrm.resx +++ b/osu!StreamCompanion/Code/Modules/FirstRun/FirstRunFrm.resx @@ -1,64 +1,4 @@ - - - + @@ -117,8 +57,8 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + + AAABAAUAGBgAAAEAIACICQAAVgAAACAgAAABACAAqBAAAN4JAABAQAAAAQAgAChCAACGGgAAgIAAAAEA IAAoCAEArlwAAAAAAAABACAAhFAAANZkAQAoAAAAGAAAADAAAAABACAAAAAAAAAJAADXDQAA1w0AAAAA diff --git a/osu!StreamCompanion/Code/Modules/FirstRun/Phases/FirstRunFinish.Designer.cs b/osu!StreamCompanion/Code/Modules/FirstRun/Phases/FirstRunFinish.Designer.cs index 2e33227b..8e7971aa 100644 --- a/osu!StreamCompanion/Code/Modules/FirstRun/Phases/FirstRunFinish.Designer.cs +++ b/osu!StreamCompanion/Code/Modules/FirstRun/Phases/FirstRunFinish.Designer.cs @@ -29,10 +29,10 @@ protected override void Dispose(bool disposing) private void InitializeComponent() { this.panel1 = new System.Windows.Forms.Panel(); + this.label1 = new System.Windows.Forms.Label(); this.button_end = new System.Windows.Forms.Button(); this.label_Description2 = new System.Windows.Forms.Label(); this.pictureBox1 = new System.Windows.Forms.PictureBox(); - this.label1 = new System.Windows.Forms.Label(); this.panel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit(); this.SuspendLayout(); @@ -45,15 +45,27 @@ private void InitializeComponent() this.panel1.Controls.Add(this.pictureBox1); this.panel1.Dock = System.Windows.Forms.DockStyle.Fill; this.panel1.Location = new System.Drawing.Point(0, 0); + this.panel1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(399, 242); + this.panel1.Size = new System.Drawing.Size(465, 279); this.panel1.TabIndex = 2; // + // label1 + // + this.label1.Location = new System.Drawing.Point(158, 80); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(299, 28); + this.label1.TabIndex = 9; + this.label1.Text = "All setup steps completed"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // // button_end // - this.button_end.Location = new System.Drawing.Point(72, 211); + this.button_end.Location = new System.Drawing.Point(84, 243); + this.button_end.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.button_end.Name = "button_end"; - this.button_end.Size = new System.Drawing.Size(254, 28); + this.button_end.Size = new System.Drawing.Size(296, 32); this.button_end.TabIndex = 8; this.button_end.Text = "End setup"; this.button_end.UseVisualStyleBackColor = true; @@ -61,37 +73,31 @@ private void InitializeComponent() // // label_Description2 // - this.label_Description2.Location = new System.Drawing.Point(3, 134); + this.label_Description2.Location = new System.Drawing.Point(4, 155); + this.label_Description2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label_Description2.Name = "label_Description2"; - this.label_Description2.Size = new System.Drawing.Size(388, 24); + this.label_Description2.Size = new System.Drawing.Size(453, 28); this.label_Description2.TabIndex = 4; this.label_Description2.Text = "You can now close this setup."; // // pictureBox1 // - this.pictureBox1.Location = new System.Drawing.Point(3, 3); + this.pictureBox1.Location = new System.Drawing.Point(4, 3); + this.pictureBox1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.pictureBox1.Name = "pictureBox1"; - this.pictureBox1.Size = new System.Drawing.Size(128, 128); + this.pictureBox1.Size = new System.Drawing.Size(149, 148); this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.pictureBox1.TabIndex = 0; this.pictureBox1.TabStop = false; // - // label1 - // - this.label1.Location = new System.Drawing.Point(135, 69); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(256, 24); - this.label1.TabIndex = 9; - this.label1.Text = "All setup steps completed"; - this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // // FirstRunFinish // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.panel1); + this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.Name = "FirstRunFinish"; - this.Size = new System.Drawing.Size(399, 242); + this.Size = new System.Drawing.Size(465, 279); this.panel1.ResumeLayout(false); ((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit(); this.ResumeLayout(false); diff --git a/osu!StreamCompanion/Code/Modules/FirstRun/Phases/FirstRunFinish.resx b/osu!StreamCompanion/Code/Modules/FirstRun/Phases/FirstRunFinish.resx index 1af7de15..f298a7be 100644 --- a/osu!StreamCompanion/Code/Modules/FirstRun/Phases/FirstRunFinish.resx +++ b/osu!StreamCompanion/Code/Modules/FirstRun/Phases/FirstRunFinish.resx @@ -1,64 +1,4 @@ - - - + diff --git a/osu!StreamCompanion/Code/Modules/Logger/LoggerSettingsUserControl.Designer.cs b/osu!StreamCompanion/Code/Modules/Logger/LoggerSettingsUserControl.Designer.cs index 30020574..374ddd52 100644 --- a/osu!StreamCompanion/Code/Modules/Logger/LoggerSettingsUserControl.Designer.cs +++ b/osu!StreamCompanion/Code/Modules/Logger/LoggerSettingsUserControl.Designer.cs @@ -36,9 +36,10 @@ private void InitializeComponent() // label2 // this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(4, 6); + this.label2.Location = new System.Drawing.Point(5, 7); + this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(73, 13); + this.label2.Size = new System.Drawing.Size(81, 15); this.label2.TabIndex = 28; this.label2.Text = "Log verbosity:"; // @@ -46,30 +47,33 @@ private void InitializeComponent() // this.comboBox_logVerbosity.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.comboBox_logVerbosity.FormattingEnabled = true; - this.comboBox_logVerbosity.Location = new System.Drawing.Point(83, 3); + this.comboBox_logVerbosity.Location = new System.Drawing.Point(97, 3); + this.comboBox_logVerbosity.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.comboBox_logVerbosity.Name = "comboBox_logVerbosity"; - this.comboBox_logVerbosity.Size = new System.Drawing.Size(139, 21); + this.comboBox_logVerbosity.Size = new System.Drawing.Size(162, 23); this.comboBox_logVerbosity.TabIndex = 27; // // checkBox_consoleLogger // this.checkBox_consoleLogger.AutoSize = true; - this.checkBox_consoleLogger.Location = new System.Drawing.Point(7, 30); + this.checkBox_consoleLogger.Location = new System.Drawing.Point(8, 35); + this.checkBox_consoleLogger.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.checkBox_consoleLogger.Name = "checkBox_consoleLogger"; - this.checkBox_consoleLogger.Size = new System.Drawing.Size(96, 17); + this.checkBox_consoleLogger.Size = new System.Drawing.Size(106, 19); this.checkBox_consoleLogger.TabIndex = 29; this.checkBox_consoleLogger.Text = "Console logger"; this.checkBox_consoleLogger.UseVisualStyleBackColor = true; // // LoggerSettingsUserControl // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.checkBox_consoleLogger); this.Controls.Add(this.label2); this.Controls.Add(this.comboBox_logVerbosity); + this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.Name = "LoggerSettingsUserControl"; - this.Size = new System.Drawing.Size(307, 46); + this.Size = new System.Drawing.Size(358, 53); this.ResumeLayout(false); this.PerformLayout(); diff --git a/osu!StreamCompanion/Code/Modules/Logger/LoggerSettingsUserControl.resx b/osu!StreamCompanion/Code/Modules/Logger/LoggerSettingsUserControl.resx index 1af7de15..f298a7be 100644 --- a/osu!StreamCompanion/Code/Modules/Logger/LoggerSettingsUserControl.resx +++ b/osu!StreamCompanion/Code/Modules/Logger/LoggerSettingsUserControl.resx @@ -1,64 +1,4 @@ - - - + diff --git a/osu!StreamCompanion/Code/Modules/MapDataFinders/osuMemoryID/MemoryDataFinderSettings.Designer.cs b/osu!StreamCompanion/Code/Modules/MapDataFinders/osuMemoryID/MemoryDataFinderSettings.Designer.cs index 3004e64e..84ea6fc3 100644 --- a/osu!StreamCompanion/Code/Modules/MapDataFinders/osuMemoryID/MemoryDataFinderSettings.Designer.cs +++ b/osu!StreamCompanion/Code/Modules/MapDataFinders/osuMemoryID/MemoryDataFinderSettings.Designer.cs @@ -36,9 +36,10 @@ private void InitializeComponent() // checkBox_EnableMemoryFinder // this.checkBox_EnableMemoryFinder.AutoSize = true; - this.checkBox_EnableMemoryFinder.Location = new System.Drawing.Point(3, 36); + this.checkBox_EnableMemoryFinder.Location = new System.Drawing.Point(4, 42); + this.checkBox_EnableMemoryFinder.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.checkBox_EnableMemoryFinder.Name = "checkBox_EnableMemoryFinder"; - this.checkBox_EnableMemoryFinder.Size = new System.Drawing.Size(163, 17); + this.checkBox_EnableMemoryFinder.Size = new System.Drawing.Size(179, 19); this.checkBox_EnableMemoryFinder.TabIndex = 0; this.checkBox_EnableMemoryFinder.Text = "Enable memory data scanner"; this.checkBox_EnableMemoryFinder.UseVisualStyleBackColor = true; @@ -47,9 +48,10 @@ private void InitializeComponent() // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(3, 3); + this.label1.Location = new System.Drawing.Point(4, 3); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(428, 13); + this.label1.Size = new System.Drawing.Size(480, 15); this.label1.TabIndex = 1; this.label1.Text = "Option below gives accurate map search results when playing and adds !mods! comma" + "nd\r\n"; @@ -57,21 +59,23 @@ private void InitializeComponent() // label3 // this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(3, 20); + this.label3.Location = new System.Drawing.Point(4, 23); + this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(244, 13); + this.label3.Size = new System.Drawing.Size(269, 15); this.label3.TabIndex = 3; this.label3.Text = "This doesn\'t work on Stable (fallback) osu! version"; // // MemoryDataFinderSettings // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.label3); this.Controls.Add(this.label1); this.Controls.Add(this.checkBox_EnableMemoryFinder); + this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.Name = "MemoryDataFinderSettings"; - this.Size = new System.Drawing.Size(591, 53); + this.Size = new System.Drawing.Size(690, 61); this.Load += new System.EventHandler(this.MemoryDataFinderSettings_Load); this.ResumeLayout(false); this.PerformLayout(); diff --git a/osu!StreamCompanion/Code/Modules/MapDataFinders/osuMemoryID/MemoryDataFinderSettings.resx b/osu!StreamCompanion/Code/Modules/MapDataFinders/osuMemoryID/MemoryDataFinderSettings.resx index 1af7de15..f298a7be 100644 --- a/osu!StreamCompanion/Code/Modules/MapDataFinders/osuMemoryID/MemoryDataFinderSettings.resx +++ b/osu!StreamCompanion/Code/Modules/MapDataFinders/osuMemoryID/MemoryDataFinderSettings.resx @@ -1,64 +1,4 @@ - - - + diff --git a/osu!StreamCompanion/Code/Modules/MapDataParsers/Parser1/ParserSettings.Designer.cs b/osu!StreamCompanion/Code/Modules/MapDataParsers/Parser1/ParserSettings.Designer.cs index 19913f15..5bcf4697 100644 --- a/osu!StreamCompanion/Code/Modules/MapDataParsers/Parser1/ParserSettings.Designer.cs +++ b/osu!StreamCompanion/Code/Modules/MapDataParsers/Parser1/ParserSettings.Designer.cs @@ -38,7 +38,7 @@ private void InitializeComponent() // this.checkBox_disableDiskSaving.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); this.checkBox_disableDiskSaving.AutoSize = true; - this.checkBox_disableDiskSaving.Location = new System.Drawing.Point(246, 413); + this.checkBox_disableDiskSaving.Location = new System.Drawing.Point(3, 436); this.checkBox_disableDiskSaving.Name = "checkBox_disableDiskSaving"; this.checkBox_disableDiskSaving.Size = new System.Drawing.Size(153, 17); this.checkBox_disableDiskSaving.TabIndex = 2; @@ -48,7 +48,7 @@ private void InitializeComponent() // button_reset // this.button_reset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.button_reset.Location = new System.Drawing.Point(534, 407); + this.button_reset.Location = new System.Drawing.Point(534, 404); this.button_reset.Name = "button_reset"; this.button_reset.Size = new System.Drawing.Size(93, 23); this.button_reset.TabIndex = 3; @@ -58,18 +58,22 @@ private void InitializeComponent() // // patternList // + this.patternList.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.patternList.Location = new System.Drawing.Point(0, 0); this.patternList.Name = "patternList"; - this.patternList.Size = new System.Drawing.Size(640, 226); + this.patternList.Size = new System.Drawing.Size(640, 196); this.patternList.TabIndex = 0; // // patternEdit // + this.patternEdit.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + | System.Windows.Forms.AnchorStyles.Right))); this.patternEdit.Current = null; this.patternEdit.InGameOverlayIsAvailable = false; - this.patternEdit.Location = new System.Drawing.Point(0, 223); + this.patternEdit.Location = new System.Drawing.Point(0, 193); this.patternEdit.Name = "patternEdit"; - this.patternEdit.Size = new System.Drawing.Size(640, 213); + this.patternEdit.Size = new System.Drawing.Size(640, 237); this.patternEdit.TabIndex = 1; // // ParserSettings @@ -81,7 +85,7 @@ private void InitializeComponent() this.Controls.Add(this.checkBox_disableDiskSaving); this.Controls.Add(this.patternEdit); this.Name = "ParserSettings"; - this.Size = new System.Drawing.Size(640, 436); + this.Size = new System.Drawing.Size(640, 456); this.ResumeLayout(false); this.PerformLayout(); @@ -90,8 +94,8 @@ private void InitializeComponent() #endregion private PatternList patternList; - private PatternEdit patternEdit; private System.Windows.Forms.CheckBox checkBox_disableDiskSaving; private System.Windows.Forms.Button button_reset; + private PatternEdit patternEdit; } } diff --git a/osu!StreamCompanion/Code/Modules/TokensPreview/TokensPreviewSettings.Designer.cs b/osu!StreamCompanion/Code/Modules/TokensPreview/TokensPreviewSettings.Designer.cs index 5cbbf9b5..a363e466 100644 --- a/osu!StreamCompanion/Code/Modules/TokensPreview/TokensPreviewSettings.Designer.cs +++ b/osu!StreamCompanion/Code/Modules/TokensPreview/TokensPreviewSettings.Designer.cs @@ -29,9 +29,9 @@ protected override void Dispose(bool disposing) private void InitializeComponent() { this.p = new System.Windows.Forms.Panel(); + this.label2 = new System.Windows.Forms.Label(); this.label_ListedNum = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); this.p.SuspendLayout(); this.SuspendLayout(); // @@ -43,46 +43,51 @@ private void InitializeComponent() this.p.Controls.Add(this.label1); this.p.Dock = System.Windows.Forms.DockStyle.Fill; this.p.Location = new System.Drawing.Point(0, 0); + this.p.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.p.Name = "p"; - this.p.Size = new System.Drawing.Size(612, 399); + this.p.Size = new System.Drawing.Size(714, 460); this.p.TabIndex = 0; // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point); + this.label2.ForeColor = System.Drawing.Color.Red; + this.label2.Location = new System.Drawing.Point(114, 5); + this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(227, 13); + this.label2.TabIndex = 2; + this.label2.Text = "Change map in osu to populate this list"; + // // label_ListedNum // this.label_ListedNum.AutoSize = true; - this.label_ListedNum.Location = new System.Drawing.Point(48, 4); + this.label_ListedNum.Location = new System.Drawing.Point(56, 5); + this.label_ListedNum.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label_ListedNum.Name = "label_ListedNum"; - this.label_ListedNum.Size = new System.Drawing.Size(13, 13); + this.label_ListedNum.Size = new System.Drawing.Size(13, 15); this.label_ListedNum.TabIndex = 1; this.label_ListedNum.Text = "0"; // // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(4, 4); + this.label1.Location = new System.Drawing.Point(5, 5); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(38, 13); + this.label1.Size = new System.Drawing.Size(41, 15); this.label1.TabIndex = 0; this.label1.Text = "Listed:"; // - // label2 - // - this.label2.AutoSize = true; - this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(238))); - this.label2.ForeColor = System.Drawing.Color.Red; - this.label2.Location = new System.Drawing.Point(98, 4); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(227, 13); - this.label2.TabIndex = 2; - this.label2.Text = "Change map in osu to populate this list"; - // - // CommandsPreviewSettings + // TokensPreviewSettings // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.p); + this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.Name = "TokensPreviewSettings"; - this.Size = new System.Drawing.Size(612, 399); + this.Size = new System.Drawing.Size(714, 460); this.p.ResumeLayout(false); this.p.PerformLayout(); this.ResumeLayout(false); diff --git a/osu!StreamCompanion/Code/Modules/TokensPreview/TokensPreviewSettings.resx b/osu!StreamCompanion/Code/Modules/TokensPreview/TokensPreviewSettings.resx index 1af7de15..f298a7be 100644 --- a/osu!StreamCompanion/Code/Modules/TokensPreview/TokensPreviewSettings.resx +++ b/osu!StreamCompanion/Code/Modules/TokensPreview/TokensPreviewSettings.resx @@ -1,64 +1,4 @@ - - - + diff --git a/osu!StreamCompanion/Code/Modules/Updater/UpdateForm.Designer.cs b/osu!StreamCompanion/Code/Modules/Updater/UpdateForm.Designer.cs index a250b685..66dfbaf3 100644 --- a/osu!StreamCompanion/Code/Modules/Updater/UpdateForm.Designer.cs +++ b/osu!StreamCompanion/Code/Modules/Updater/UpdateForm.Designer.cs @@ -31,13 +31,13 @@ private void InitializeComponent() System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(UpdateForm)); this.progressBar1 = new System.Windows.Forms.ProgressBar(); this.panel_downloadProgress = new System.Windows.Forms.Panel(); + this.label_downloadProgress = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.label_currentVersion = new System.Windows.Forms.Label(); this.label_newVersion = new System.Windows.Forms.Label(); this.richTextBox_changelog = new System.Windows.Forms.RichTextBox(); this.button_update = new System.Windows.Forms.Button(); this.button_cancel = new System.Windows.Forms.Button(); - this.label_downloadProgress = new System.Windows.Forms.Label(); this.panel_downloadProgress.SuspendLayout(); this.SuspendLayout(); // @@ -45,62 +45,79 @@ private void InitializeComponent() // this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.progressBar1.Location = new System.Drawing.Point(12, 27); + this.progressBar1.Location = new System.Drawing.Point(14, 31); + this.progressBar1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.progressBar1.Name = "progressBar1"; - this.progressBar1.Size = new System.Drawing.Size(248, 23); + this.progressBar1.Size = new System.Drawing.Size(289, 27); this.progressBar1.TabIndex = 0; // // panel_downloadProgress // this.panel_downloadProgress.Controls.Add(this.label_downloadProgress); this.panel_downloadProgress.Controls.Add(this.progressBar1); - this.panel_downloadProgress.Location = new System.Drawing.Point(170, 58); + this.panel_downloadProgress.Location = new System.Drawing.Point(198, 67); + this.panel_downloadProgress.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.panel_downloadProgress.Name = "panel_downloadProgress"; - this.panel_downloadProgress.Size = new System.Drawing.Size(272, 62); + this.panel_downloadProgress.Size = new System.Drawing.Size(317, 72); this.panel_downloadProgress.TabIndex = 1; this.panel_downloadProgress.Visible = false; // + // label_downloadProgress + // + this.label_downloadProgress.Location = new System.Drawing.Point(14, 2); + this.label_downloadProgress.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label_downloadProgress.Name = "label_downloadProgress"; + this.label_downloadProgress.Size = new System.Drawing.Size(289, 25); + this.label_downloadProgress.TabIndex = 8; + this.label_downloadProgress.Text = "Initalizing download..."; + this.label_downloadProgress.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(12, 13); + this.label1.Location = new System.Drawing.Point(14, 15); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(227, 13); + this.label1.Size = new System.Drawing.Size(254, 15); this.label1.TabIndex = 2; this.label1.Text = "There\'s update avaliable for StreamCompanion"; // // label_currentVersion // this.label_currentVersion.AutoSize = true; - this.label_currentVersion.Location = new System.Drawing.Point(12, 36); + this.label_currentVersion.Location = new System.Drawing.Point(14, 42); + this.label_currentVersion.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label_currentVersion.Name = "label_currentVersion"; - this.label_currentVersion.Size = new System.Drawing.Size(13, 13); + this.label_currentVersion.Size = new System.Drawing.Size(17, 15); this.label_currentVersion.TabIndex = 3; this.label_currentVersion.Text = "--"; // // label_newVersion // this.label_newVersion.AutoSize = true; - this.label_newVersion.Location = new System.Drawing.Point(12, 60); + this.label_newVersion.Location = new System.Drawing.Point(14, 69); + this.label_newVersion.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label_newVersion.Name = "label_newVersion"; - this.label_newVersion.Size = new System.Drawing.Size(13, 13); + this.label_newVersion.Size = new System.Drawing.Size(17, 15); this.label_newVersion.TabIndex = 4; this.label_newVersion.Text = "--"; // // richTextBox_changelog // - this.richTextBox_changelog.Location = new System.Drawing.Point(0, 126); + this.richTextBox_changelog.Location = new System.Drawing.Point(0, 145); + this.richTextBox_changelog.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.richTextBox_changelog.Name = "richTextBox_changelog"; this.richTextBox_changelog.ReadOnly = true; - this.richTextBox_changelog.Size = new System.Drawing.Size(454, 143); + this.richTextBox_changelog.Size = new System.Drawing.Size(529, 164); this.richTextBox_changelog.TabIndex = 5; this.richTextBox_changelog.Text = ""; // // button_update // - this.button_update.Location = new System.Drawing.Point(12, 97); + this.button_update.Location = new System.Drawing.Point(14, 112); + this.button_update.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.button_update.Name = "button_update"; - this.button_update.Size = new System.Drawing.Size(73, 23); + this.button_update.Size = new System.Drawing.Size(85, 27); this.button_update.TabIndex = 6; this.button_update.Text = "Update"; this.button_update.UseVisualStyleBackColor = true; @@ -108,28 +125,20 @@ private void InitializeComponent() // // button_cancel // - this.button_cancel.Location = new System.Drawing.Point(91, 97); + this.button_cancel.Location = new System.Drawing.Point(106, 112); + this.button_cancel.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.button_cancel.Name = "button_cancel"; - this.button_cancel.Size = new System.Drawing.Size(73, 23); + this.button_cancel.Size = new System.Drawing.Size(85, 27); this.button_cancel.TabIndex = 7; this.button_cancel.Text = "Cancel"; this.button_cancel.UseVisualStyleBackColor = true; this.button_cancel.Click += new System.EventHandler(this.button_cancel_Click); // - // label_downloadProgress - // - this.label_downloadProgress.Location = new System.Drawing.Point(12, 2); - this.label_downloadProgress.Name = "label_downloadProgress"; - this.label_downloadProgress.Size = new System.Drawing.Size(248, 22); - this.label_downloadProgress.TabIndex = 8; - this.label_downloadProgress.Text = "Initalizing download..."; - this.label_downloadProgress.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; - // // UpdateForm // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(454, 268); + this.ClientSize = new System.Drawing.Size(530, 309); this.Controls.Add(this.button_cancel); this.Controls.Add(this.button_update); this.Controls.Add(this.richTextBox_changelog); @@ -139,6 +148,7 @@ private void InitializeComponent() this.Controls.Add(this.panel_downloadProgress); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.Name = "UpdateForm"; this.Text = "StreamCompanion - Update is avaliable!"; this.TopMost = true; diff --git a/osu!StreamCompanion/Code/Modules/Updater/UpdateForm.resx b/osu!StreamCompanion/Code/Modules/Updater/UpdateForm.resx index 26f26f78..2c29a201 100644 --- a/osu!StreamCompanion/Code/Modules/Updater/UpdateForm.resx +++ b/osu!StreamCompanion/Code/Modules/Updater/UpdateForm.resx @@ -1,64 +1,4 @@ - - - + @@ -117,8 +57,8 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + + AAABAAUAAAAAAAEAIACtaAAAVgAAAICAAAABACAAKAgBAANpAABAQAAAAQAgAChCAAArcQEAICAAAAEA IACoEAAAU7MBABAQAAABACAAaAQAAPvDAQCJUE5HDQoaCgAAAA1JSERSAAABAAAAAQAIBgAAAFxyqGYA diff --git a/osu!StreamCompanion/Code/Modules/osuPathReslover/osuPathResolverSettings.Designer.cs b/osu!StreamCompanion/Code/Modules/osuPathReslover/osuPathResolverSettings.Designer.cs index 6f5cc1b1..962d55ec 100644 --- a/osu!StreamCompanion/Code/Modules/osuPathReslover/osuPathResolverSettings.Designer.cs +++ b/osu!StreamCompanion/Code/Modules/osuPathReslover/osuPathResolverSettings.Designer.cs @@ -36,37 +36,41 @@ private void InitializeComponent() // label1 // this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(3, 6); + this.label1.Location = new System.Drawing.Point(4, 7); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(75, 13); + this.label1.Size = new System.Drawing.Size(83, 15); this.label1.TabIndex = 0; this.label1.Text = "osu! Directory:"; // // textBox_osuDir // - this.textBox_osuDir.Location = new System.Drawing.Point(81, 3); + this.textBox_osuDir.Location = new System.Drawing.Point(94, 3); + this.textBox_osuDir.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.textBox_osuDir.Name = "textBox_osuDir"; - this.textBox_osuDir.Size = new System.Drawing.Size(209, 20); + this.textBox_osuDir.Size = new System.Drawing.Size(243, 23); this.textBox_osuDir.TabIndex = 1; // // button_AutoDetect // - this.button_AutoDetect.Location = new System.Drawing.Point(297, 2); + this.button_AutoDetect.Location = new System.Drawing.Point(346, 2); + this.button_AutoDetect.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.button_AutoDetect.Name = "button_AutoDetect"; - this.button_AutoDetect.Size = new System.Drawing.Size(75, 23); + this.button_AutoDetect.Size = new System.Drawing.Size(88, 27); this.button_AutoDetect.TabIndex = 2; this.button_AutoDetect.Text = "Auto detect"; this.button_AutoDetect.UseVisualStyleBackColor = true; // // OsuPathResolverSettings // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.button_AutoDetect); this.Controls.Add(this.textBox_osuDir); this.Controls.Add(this.label1); + this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.Name = "OsuPathResolverSettings"; - this.Size = new System.Drawing.Size(392, 26); + this.Size = new System.Drawing.Size(457, 30); this.ResumeLayout(false); this.PerformLayout(); diff --git a/osu!StreamCompanion/Code/Modules/osuPathReslover/osuPathResolverSettings.resx b/osu!StreamCompanion/Code/Modules/osuPathReslover/osuPathResolverSettings.resx index 1af7de15..f298a7be 100644 --- a/osu!StreamCompanion/Code/Modules/osuPathReslover/osuPathResolverSettings.resx +++ b/osu!StreamCompanion/Code/Modules/osuPathReslover/osuPathResolverSettings.resx @@ -1,64 +1,4 @@ - - - + diff --git a/osu!StreamCompanion/Code/Windows/ErrorFrm.cs b/osu!StreamCompanion/Code/Windows/ErrorFrm.cs index 781c349d..c426605c 100644 --- a/osu!StreamCompanion/Code/Windows/ErrorFrm.cs +++ b/osu!StreamCompanion/Code/Windows/ErrorFrm.cs @@ -1,6 +1,7 @@ using System; using System.Diagnostics; using System.Windows.Forms; +using StreamCompanion.Common; namespace osu_StreamCompanion.Code.Windows { @@ -31,8 +32,8 @@ public Error(string Message, string exitText) private void button_message_Click(object sender, EventArgs e) { - System.Windows.Forms.Clipboard.SetText(string.Format(errorTemplate, textBox1.Text)); - Process.Start(@"https://osu.ppy.sh/forum/ucp.php?i=pm&mode=compose&u=304520"); + Clipboard.SetText(string.Format(errorTemplate, textBox1.Text)); + ProcessExt.OpenUrl(@"https://osu.ppy.sh/forum/ucp.php?i=pm&mode=compose&u=304520"); } } } diff --git a/osu!StreamCompanion/Code/Windows/ErrorFrm.designer.cs b/osu!StreamCompanion/Code/Windows/ErrorFrm.designer.cs index 865e6c33..dfebe65c 100644 --- a/osu!StreamCompanion/Code/Windows/ErrorFrm.designer.cs +++ b/osu!StreamCompanion/Code/Windows/ErrorFrm.designer.cs @@ -35,38 +35,42 @@ private void InitializeComponent() // // label1 // - this.label1.Location = new System.Drawing.Point(13, 8); + this.label1.Location = new System.Drawing.Point(15, 9); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(518, 46); + this.label1.Size = new System.Drawing.Size(604, 53); this.label1.TabIndex = 0; this.label1.Text = "Whoops! This error was sent to Piotrekol."; // // textBox1 // - this.textBox1.Location = new System.Drawing.Point(16, 57); + this.textBox1.Location = new System.Drawing.Point(19, 66); + this.textBox1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.textBox1.Multiline = true; this.textBox1.Name = "textBox1"; this.textBox1.ReadOnly = true; - this.textBox1.Size = new System.Drawing.Size(515, 189); + this.textBox1.Size = new System.Drawing.Size(600, 217); this.textBox1.TabIndex = 1; // // label_exitText // this.label_exitText.AutoSize = true; - this.label_exitText.Location = new System.Drawing.Point(12, 262); + this.label_exitText.Location = new System.Drawing.Point(14, 302); + this.label_exitText.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label_exitText.Name = "label_exitText"; - this.label_exitText.Size = new System.Drawing.Size(155, 13); + this.label_exitText.Size = new System.Drawing.Size(179, 15); this.label_exitText.TabIndex = 2; this.label_exitText.Text = "StreamCompanion will now exit."; // // Error // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(543, 284); + this.ClientSize = new System.Drawing.Size(634, 328); this.Controls.Add(this.label_exitText); this.Controls.Add(this.textBox1); this.Controls.Add(this.label1); + this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.Name = "Error"; this.Text = "Error"; this.ResumeLayout(false); diff --git a/osu!StreamCompanion/Code/Windows/ErrorFrm.resx b/osu!StreamCompanion/Code/Windows/ErrorFrm.resx index 1af7de15..f298a7be 100644 --- a/osu!StreamCompanion/Code/Windows/ErrorFrm.resx +++ b/osu!StreamCompanion/Code/Windows/ErrorFrm.resx @@ -1,64 +1,4 @@ - - - + diff --git a/osu!StreamCompanion/Program.cs b/osu!StreamCompanion/Program.cs index 313511bc..07e76c43 100644 --- a/osu!StreamCompanion/Program.cs +++ b/osu!StreamCompanion/Program.cs @@ -2,9 +2,7 @@ using osu_StreamCompanion.Code.Helpers; using osu_StreamCompanion.Code.Windows; using System; -using System.Collections; using System.Collections.Generic; -using System.Diagnostics; using System.Reflection; using System.Runtime.InteropServices; using System.Security.AccessControl; @@ -12,11 +10,12 @@ using System.Threading; using System.Windows.Forms; using osu_StreamCompanion.Code.Core.Loggers; -using SharpRaven.Data; using System.IO; using System.Net.Sockets; using StreamCompanionTypes.Enums; - +#if DEBUG +using System.Diagnostics; +#endif namespace osu_StreamCompanion { static class Program diff --git a/osu!StreamCompanion/Properties/AssemblyInfo.cs b/osu!StreamCompanion/Properties/AssemblyInfo.cs index d95911a5..cc1edb77 100644 --- a/osu!StreamCompanion/Properties/AssemblyInfo.cs +++ b/osu!StreamCompanion/Properties/AssemblyInfo.cs @@ -8,8 +8,8 @@ [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("osu!StreamCompanion")] -[assembly: AssemblyCopyright("Copyright © 2015-2016")] +[assembly: AssemblyProduct("StreamCompanion")] +[assembly: AssemblyCopyright("Copyright © 2015-2021")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/osu!StreamCompanion/osu!StreamCompanion.csproj b/osu!StreamCompanion/osu!StreamCompanion.csproj index 35fde25c..e73b2e43 100644 --- a/osu!StreamCompanion/osu!StreamCompanion.csproj +++ b/osu!StreamCompanion/osu!StreamCompanion.csproj @@ -1,376 +1,103 @@ - - - + - Debug - AnyCPU - {86251162-A899-4498-BF7F-6F18D6C624EA} + net5.0-windows WinExe - Properties osu_StreamCompanion - osu!StreamCompanion - v4.7.1 - 512 - - - - - publish\ - true - Disk - false - Foreground - 7 - Days - false - false - true - 0 - 1.0.0.%2a - false - false - true - - - x86 - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - false - - - x86 - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - false + false + true + false + Resources\compiled.ico + false + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true - true ..\build\Debug\ - DEBUG;TRACE - full - x86 - prompt MinimumRecommendedRules.ruleset - false true ..\build\Release\ - TRACE - true - pdbonly - x86 - prompt MinimumRecommendedRules.ruleset - false - - - Resources\compiled.ico - - - true - G:\SC\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - false - - - true - F:\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - false - true ..\build\Debug\ - DEBUG;TRACE true - full - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset ..\build\Release\ - TRACE - true - pdbonly - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset true bin\x64\Debug remote\ - DEBUG;TRACE - full - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset - - ..\packages\CollectionManager.1.0.7\lib\net471\CollectionManager.dll - - - ..\packages\Grace.7.1.0-Beta768\lib\net45\Grace.dll - - - ..\packages\Jace.1.0.0\lib\netstandard1.6\Jace.dll - - - ..\packages\Microsoft.Win32.Registry.4.5.0\lib\net461\Microsoft.Win32.Registry.dll - False - - - ..\packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll - - - ..\packages\SharpRaven.2.4.0\lib\net471\SharpRaven.dll - - - ..\packages\StreamCompanionTypes.5.2.1\lib\net471\StreamCompanionTypes.dll - True - - + C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.dll False - - ..\packages\System.ComponentModel.Annotations.4.7.0\lib\net461\System.ComponentModel.Annotations.dll - - - - - - - ..\packages\System.Data.SQLite.Core.1.0.111.0\lib\net46\System.Data.SQLite.dll - - - - ..\packages\System.Drawing.Common.4.7.0\lib\net461\System.Drawing.Common.dll - - - - - - - - - - - - - - - - - - - - - - - - + Component - - - - - - - - - - - + UserControl - - LoggerSettingsUserControl.cs - - - - + UserControl - - TokensPreviewSettings.cs - - - + UserControl - - DonationSettings.cs - - - - Form - - - FirstRunFrm.cs - - + UserControl - - FirstRunFinish.cs - - - - - + UserControl - - ParserSettings.cs - - + UserControl - - PatternEdit.cs - - + UserControl - - PatternList.cs - - - - + UserControl - - FileSaveLocationSettings.cs - - - - - - + UserControl - - MemoryDataFinderSettings.cs - - - - + UserControl - - osuPathResolverSettings.cs - - - - - - Form - - - UpdateForm.cs - - - - - Form - - - ErrorFrm.cs - - - - - LoggerSettingsUserControl.cs - - - TokensPreviewSettings.cs - - - DonationSettings.cs - - - FileSaveLocationSettings.cs - - - FirstRunFrm.cs - - - FirstRunFinish.cs - - - MemoryDataFinderSettings.cs - - - ParserSettings.cs - - - PatternEdit.cs - - - PatternList.cs - - - osuPathResolverSettings.cs - - - UpdateForm.cs - - - ErrorFrm.cs - - - ResXFileCodeGenerator - Designer - Resources.Designer.cs - - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True + True + True Resources.resx - + + True True Settings.settings - True - - - @@ -393,33 +120,45 @@ - - {3d5b2dbb-615f-43e4-8f2b-c54f4d92dc41} - StreamCompanion.Common - + - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + ..\build\Debug\ + x86 - - CALL "$(SolutionDir)build\msbuild.bat" "$(SolutionDir)VersionControler\VersionControler.csproj" /p:Configuration=Debug -"$(SolutionDir)VersionControler\bin\Debug\VersionControler.exe" "$(SolutionDir)osu!StreamCompanion\Program.cs" -1 "" "public static string ScVersion =" - + + ..\build\Release\ + x86 - - - - This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}. - - + + \ No newline at end of file diff --git a/osu!StreamCompanion/packages.config b/osu!StreamCompanion/packages.config index c92aa9d9..12bb538c 100644 --- a/osu!StreamCompanion/packages.config +++ b/osu!StreamCompanion/packages.config @@ -1,22 +1,22 @@  - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/BackgroundImageProvider/BackgroundImageProvider.csproj b/plugins/BackgroundImageProvider/BackgroundImageProvider.csproj index b2f590e2..29f6a521 100644 --- a/plugins/BackgroundImageProvider/BackgroundImageProvider.csproj +++ b/plugins/BackgroundImageProvider/BackgroundImageProvider.csproj @@ -1,58 +1,25 @@ - - - + - Debug - AnyCPU - {DF0879B6-D76D-4FCD-B825-8956FFF19143} + netstandard2.1 Library - Properties - BackgroundImageProvider - BackgroundImageProvider - v4.7.1 - 512 - true + false + false + false - - true - full - false + ..\..\build\Debug\Plugins\ - DEBUG;TRACE - prompt - 4 - pdbonly - true ..\..\build\Release\Plugins\ - TRACE - prompt - 4 - - - - - - - - - - - 5.2.1 runtime + - - {3d5b2dbb-615f-43e4-8f2b-c54f4d92dc41} - StreamCompanion.Common - False - + - \ No newline at end of file diff --git a/plugins/BackgroundImageProvider/packages.config b/plugins/BackgroundImageProvider/packages.config index 8ff00452..335824bb 100644 --- a/plugins/BackgroundImageProvider/packages.config +++ b/plugins/BackgroundImageProvider/packages.config @@ -1,14 +1,14 @@  - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/BeatmapPpReplacements/BeatmapPpReplacements.csproj b/plugins/BeatmapPpReplacements/BeatmapPpReplacements.csproj index ee89dfba..1f8f91f9 100644 --- a/plugins/BeatmapPpReplacements/BeatmapPpReplacements.csproj +++ b/plugins/BeatmapPpReplacements/BeatmapPpReplacements.csproj @@ -1,125 +1,40 @@ - - - + - Debug - AnyCPU - {0C50FF12-C298-424F-8B56-E65BCDDAB159} + netstandard2.1 Library - Properties - BeatmapPpReplacements - BeatmapPpReplacements - v4.7.1 - 512 - - PackageReference + false + false + true + false - true - full - false bin\Debug_temp\ - DEBUG;TRACE - prompt - 4 - false true - pdbonly - true bin\Release_temp\ - TRACE - prompt - 4 - false - true bin\Debug_temp\ - DEBUG;TRACE true - full - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset bin\Release_temp\ - TRACE - true - pdbonly - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - - {3d97e9c4-a884-4664-a40c-f19c4533aa00} - PpCalculator - + + 5.2.1 runtime + - - - mkdir "$(TargetDir)\..\$(ConfigurationName)" -mkdir "$(TargetDir)\..\$(ConfigurationName)\Dlls" - -copy "$(TargetDir)\FFmpeg.AutoGen.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\FFmpeg.AutoGen.dll" -copy "$(TargetDir)\Humanizer.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\Humanizer.dll" -copy "$(TargetDir)\JetBrains.Annotations.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\JetBrains.Annotations.dll" -copy "$(TargetDir)\ManagedBass.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\ManagedBass.dll" -copy "$(TargetDir)\ManagedBass.Fx.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\ManagedBass.Fx.dll" -copy "$(TargetDir)\Markdig.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\Markdig.dll" -copy "$(TargetDir)\netstandard.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\netstandard.dll" -copy "$(TargetDir)\Newtonsoft.Json.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\Newtonsoft.Json.dll" -copy "$(TargetDir)\nunit.framework.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\nunit.framework.dll" -copy "$(TargetDir)\osu.Framework.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\osu.Framework.dll" -copy "$(TargetDir)\osu.Game.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\osu.Game.dll" -copy "$(TargetDir)\osu.Game.Rulesets.Catch.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\osu.Game.Rulesets.Catch.dll" -copy "$(TargetDir)\osu.Game.Rulesets.Mania.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\osu.Game.Rulesets.Mania.dll" -copy "$(TargetDir)\osu.Game.Rulesets.Osu.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\osu.Game.Rulesets.Osu.dll" -copy "$(TargetDir)\osu.Game.Rulesets.Taiko.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\osu.Game.Rulesets.Taiko.dll" -copy "$(TargetDir)\osuTK.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\osuTK.dll" -copy "$(TargetDir)\PpCalculator.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\PpCalculator.dll" -copy "$(TargetDir)\Remotion.Linq.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\Remotion.Linq.dll" -copy "$(TargetDir)\SQLitePCLRaw.batteries_green.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\SQLitePCLRaw.batteries_green.dll" -copy "$(TargetDir)\SQLitePCLRaw.batteries_v2.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\SQLitePCLRaw.batteries_v2.dll" -copy "$(TargetDir)\SQLitePCLRaw.core.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\SQLitePCLRaw.core.dll" -copy "$(TargetDir)\SQLitePCLRaw.provider.e_sqlite3.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\SQLitePCLRaw.provider.e_sqlite3.dll" -copy "$(TargetDir)\System.Memory.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\System.Memory.dll" -copy "$(TargetDir)\System.ObjectModel.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\System.ObjectModel.dll" -copy "$(TargetDir)\System.Runtime.CompilerServices.Unsafe.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\System.Runtime.CompilerServices.Unsafe.dll" -copy "$(TargetDir)\System.Runtime.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\System.Runtime.dll" -copy "$(TargetDir)\System.Runtime.InteropServices.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\System.Runtime.InteropServices.dll" -copy "$(TargetDir)\System.Threading.Tasks.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\System.Threading.Tasks.dll" -copy "$(TargetDir)\System.ValueTuple.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\System.ValueTuple.dll" - -copy "$(TargetDir)\BeatmapPpReplacements.dll" "$(TargetDir)\..\$(ConfigurationName)\BeatmapPpReplacements.dll" - -mkdir "$(SolutionDir)\build\$(ConfigurationName)\Plugins\Dlls" -copy "$(TargetDir)\..\$(ConfigurationName)\*" "$(SolutionDir)\build\$(ConfigurationName)\Plugins\" -copy "$(TargetDir)\..\$(ConfigurationName)\Dlls\*" "$(SolutionDir)\build\$(ConfigurationName)\Plugins\Dlls\" - - + + + \ No newline at end of file diff --git a/plugins/ClickCounter/ClickCounter.csproj b/plugins/ClickCounter/ClickCounter.csproj index 7027f330..a7e2da1f 100644 --- a/plugins/ClickCounter/ClickCounter.csproj +++ b/plugins/ClickCounter/ClickCounter.csproj @@ -1,146 +1,47 @@ - - - + - Debug - AnyCPU - {DBB78CD2-7515-4920-BA93-28860EFD54B6} + net5.0-windows Library - Properties - ClickCounter - ClickCounter - v4.7.1 - 512 - + false + true + true + false + false - - true - full - false + ..\..\build\Debug\Plugins\ - DEBUG;TRACE - prompt - 4 - false true - pdbonly - true ..\..\build\Release\Plugins\ - TRACE - prompt - 4 - false - true ..\..\build\Debug\Plugins\ - DEBUG;TRACE true - full - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset ..\..\build\Release\Plugins\ - TRACE - true - pdbonly - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - - - Form - - - ClickCounterFileName.cs - - + UserControl - - ClickCounterSettings.cs - - - Form - - - KeyboardCounterKeyClick.cs - - + UserControl - - KeyboardCounterMain.cs - - - - Form - - - KeyClickFrm.cs - - - Form - - - KeysPerX.cs - - - - - - - ClickCounterFileName.cs - - - ClickCounterSettings.cs - - - KeyboardCounterKeyClick.cs - - - KeyboardCounterMain.cs - - - KeyClickFrm.cs - - - KeysPerX.cs - + 5.2.1 runtime + + - - {3d5b2dbb-615f-43e4-8f2b-c54f4d92dc41} - StreamCompanion.Common - False - + - \ No newline at end of file diff --git a/plugins/ClickCounter/KeyboardListener.cs b/plugins/ClickCounter/KeyboardListener.cs index 9b01fbdc..8e70fdf7 100644 --- a/plugins/ClickCounter/KeyboardListener.cs +++ b/plugins/ClickCounter/KeyboardListener.cs @@ -2,6 +2,7 @@ using System.Diagnostics; using System.Runtime.CompilerServices; using System.Runtime.InteropServices; +using System.Threading.Tasks; namespace ClickCounter { @@ -84,15 +85,12 @@ public void UnHook() [MethodImpl(MethodImplOptions.NoInlining)] private IntPtr LowLevelKeyboardProc(int nCode, UIntPtr wParam, IntPtr lParam) { - //Console.WriteLine("got event"); - if (nCode >= 0) if (wParam.ToUInt32() == (int)InterceptKeys.KeyEvent.WM_KEYDOWN || wParam.ToUInt32() == (int)InterceptKeys.KeyEvent.WM_KEYUP || wParam.ToUInt32() == (int)InterceptKeys.KeyEvent.WM_SYSKEYDOWN || wParam.ToUInt32() == (int)InterceptKeys.KeyEvent.WM_SYSKEYUP) - hookedKeyboardCallbackAsync.BeginInvoke((InterceptKeys.KeyEvent)wParam.ToUInt32(), Marshal.ReadInt32(lParam), null, null); - //return (IntPtr) 1; + Task.Run(() => hookedKeyboardCallbackAsync((InterceptKeys.KeyEvent)wParam.ToUInt32(), Marshal.ReadInt32(lParam))); return InterceptKeys.CallNextHookEx(hookId, nCode, wParam, lParam); } diff --git a/plugins/ClickCounter/packages.config b/plugins/ClickCounter/packages.config index 8ff00452..335824bb 100644 --- a/plugins/ClickCounter/packages.config +++ b/plugins/ClickCounter/packages.config @@ -1,14 +1,14 @@  - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/FileMapDataSender/FileMapDataSender.cs b/plugins/FileMapDataSender/FileMapDataSender.cs index bd19aea2..2f9c087c 100644 --- a/plugins/FileMapDataSender/FileMapDataSender.cs +++ b/plugins/FileMapDataSender/FileMapDataSender.cs @@ -2,10 +2,12 @@ using StreamCompanionTypes.Interfaces; using System; using System.Collections.Generic; +using System.Runtime.Versioning; using StreamCompanionTypes.Interfaces.Consumers; namespace FileMapDataSender { + [SupportedOSPlatform("windows")] public class FileMapDataSender : IPlugin, IMapDataConsumer, IDisposable, IHighFrequencyDataConsumer { public bool Started { get; set; } @@ -17,6 +19,7 @@ public class FileMapDataSender : IPlugin, IMapDataConsumer, IDisposable, IHighFr public string Url { get; } = ""; public string UpdateUrl { get; } = ""; + public void Save(string fileName, string content) { _fileMapManager.Write(fileName, content); diff --git a/plugins/FileMapDataSender/FileMapDataSender.csproj b/plugins/FileMapDataSender/FileMapDataSender.csproj index 7775b94e..eadfeada 100644 --- a/plugins/FileMapDataSender/FileMapDataSender.csproj +++ b/plugins/FileMapDataSender/FileMapDataSender.csproj @@ -1,80 +1,35 @@ - - - + - Debug - AnyCPU - {32A61CD7-FA30-40CB-8A23-788BBD65D4A7} + net5.0-windows Library - Properties - FileMapDataSender - FileMapDataSender - v4.7.1 - 512 - + false + true + false + false - - true - full - false + ..\..\build\Debug\Plugins\ - DEBUG;TRACE - prompt - 4 - false true - pdbonly - true ..\..\build\Release\Plugins\ - TRACE - prompt - 4 - false - true ..\..\build\Debug\Plugins\ - DEBUG;TRACE true - full - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset ..\..\build\Release\Plugins\ - TRACE - true - pdbonly - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - - - + 5.2.1 runtime + + - \ No newline at end of file diff --git a/plugins/FileMapDataSender/FileMapManager.cs b/plugins/FileMapDataSender/FileMapManager.cs index 893fe768..5d4457b6 100644 --- a/plugins/FileMapDataSender/FileMapManager.cs +++ b/plugins/FileMapDataSender/FileMapManager.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.IO.MemoryMappedFiles; +using System.Runtime.Versioning; using System.Text; namespace FileMapDataSender @@ -35,13 +36,14 @@ public void Write(string data) } } } - + [SupportedOSPlatform("windows")] private MapContainer GetFile(string pipeName) { lock (_lockingObject) { if (_files.ContainsKey(pipeName)) return _files[pipeName]; + MapContainer f = new MapContainer() { File = MemoryMappedFile.CreateOrOpen(pipeName, 15 * 1024 * 1024) }; if (pipeName == "Sc-ingamePatterns" || pipeName.StartsWith("conf-") || pipeName.StartsWith("value-")) f.ASCIIonly = true; @@ -50,16 +52,12 @@ private MapContainer GetFile(string pipeName) } } + [SupportedOSPlatform("windows")] public void Write(string name, string value) { var file = GetFile(name); file.Write(value); } - - - - - } } \ No newline at end of file diff --git a/plugins/FileMapDataSender/packages.config b/plugins/FileMapDataSender/packages.config index 8ff00452..335824bb 100644 --- a/plugins/FileMapDataSender/packages.config +++ b/plugins/FileMapDataSender/packages.config @@ -1,14 +1,14 @@  - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/LiveVisualizer/Chart.xaml b/plugins/LiveVisualizer/Chart.xaml index e1538308..4c5aa1e5 100644 --- a/plugins/LiveVisualizer/Chart.xaml +++ b/plugins/LiveVisualizer/Chart.xaml @@ -4,59 +4,10 @@ xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:local="clr-namespace:LiveVisualizer" - xmlns:wpf="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" - xmlns:lvc="clr-namespace:LiveCharts.Wpf;assembly=LiveCharts.Wpf" mc:Ignorable="d" d:DesignHeight="450" d:DesignWidth="800"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/plugins/LiveVisualizer/Chart.xaml.cs b/plugins/LiveVisualizer/Chart.xaml.cs index 03887551..c3366783 100644 --- a/plugins/LiveVisualizer/Chart.xaml.cs +++ b/plugins/LiveVisualizer/Chart.xaml.cs @@ -1,33 +1,21 @@ -using System.Windows.Controls; +using System.Runtime.Versioning; +using System.Windows.Controls; using System.Windows.Data; using System.Windows.Media; -using Separator = LiveCharts.Wpf.Separator; namespace LiveVisualizer { + /// /// Interaction logic for Chart.xaml /// + [SupportedOSPlatform("windows7.0")] public partial class Chart : UserControl { - public Chart(IWpfVisualizerData data, string bindingName, bool isProgressChart) + public Chart(DataPlotBinding data) { InitializeComponent(); - var binding = new Binding(bindingName); - binding.Source = data; - - var solidColorBrush = new SolidColorBrush(); - BindingOperations.SetBinding(solidColorBrush, SolidColorBrush.ColorProperty, binding); - LineSeries.Fill = solidColorBrush; - - if (isProgressChart) - { //Disable drawing of AxisY separator - binding = new Binding(); - AxisYSeparator.SetBinding(Separator.IsEnabledProperty, binding); - AxisYSeparator.SetValue(Separator.StrokeThicknessProperty, 0d); - } - DataContext = data; } diff --git a/plugins/LiveVisualizer/ColorHelpers.cs b/plugins/LiveVisualizer/ColorHelpers.cs index 95eb0128..e7660cb6 100644 --- a/plugins/LiveVisualizer/ColorHelpers.cs +++ b/plugins/LiveVisualizer/ColorHelpers.cs @@ -31,5 +31,9 @@ public static void SaveColor(ISettings settings, ConfigEntry entry, Color color) settings.Add(entry.Name, string.Join(";", colors.Select(v => v.ToString())), true); } + + public static Color Convert(System.Windows.Media.Color color) + => Color.FromArgb(color.A, color.R, color.G, color.B); + } } \ No newline at end of file diff --git a/plugins/LiveVisualizer/LiveVisualizer.csproj b/plugins/LiveVisualizer/LiveVisualizer.csproj index a2576d77..850e2901 100644 --- a/plugins/LiveVisualizer/LiveVisualizer.csproj +++ b/plugins/LiveVisualizer/LiveVisualizer.csproj @@ -1,139 +1,39 @@ - - - + - Debug - AnyCPU - {6FB20D7D-F84A-41DE-B086-DA920C7B5E86} + net5.0-windows Library - Properties - LiveVisualizer - LiveVisualizer - v4.7.1 - 512 - true - - - + false + true + true + false + true + false - - true - full - false + bin\Debug_temp\ - DEBUG;TRACE - prompt - 4 true - pdbonly - true bin\Release_temp\ - TRACE - prompt - 4 - true - bin\Debug_temp\ - DEBUG;TRACE + ..\..\build\Debug\Plugins\ true - full - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset - bin\Release_temp\ - TRACE - true - pdbonly - x64 - 7.3 - prompt + ..\..\build\Release\Plugins\ MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - - - - - Chart.xaml - - - + UserControl - - ColorPickerWithPreview.cs - - - - - - - - + UserControl - - LiveVisualizerSettings.cs - - - MainWindow.xaml - - - - - - - True - True - Resources.resx - - - - - - ColorPickerWithPreview.cs - - - LiveVisualizerSettings.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - - - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - - - 0.9.7 - 6.3.0 runtime; build; native; contentfiles; analyzers; buildtransitive @@ -142,29 +42,17 @@ 3.3.0 + 5.2.1 runtime + - - {3d5b2dbb-615f-43e4-8f2b-c54f4d92dc41} - StreamCompanion.Common - False - + - - - mkdir "$(TargetDir)\..\$(ConfigurationName)" -mkdir "$(TargetDir)\..\$(ConfigurationName)\Dlls" - -copy "$(TargetDir)\LiveVisualizer.dll" "$(TargetDir)\..\$(ConfigurationName)\LiveVisualizer.dll" -copy "$(TargetDir)\LiveCharts.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\LiveCharts.dll" -copy "$(TargetDir)\LiveCharts.Wpf.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\LiveCharts.Wpf.dll" - -mkdir "$(SolutionDir)\build\$(ConfigurationName)\Plugins\Dlls" -copy "$(TargetDir)\..\$(ConfigurationName)\*" "$(SolutionDir)\build\$(ConfigurationName)\Plugins\" -copy "$(TargetDir)\..\$(ConfigurationName)\Dlls\*" "$(SolutionDir)\build\$(ConfigurationName)\Plugins\Dlls\" - + + + \ No newline at end of file diff --git a/plugins/LiveVisualizer/LiveVisualizerPlugin.cs b/plugins/LiveVisualizer/LiveVisualizerPlugin.cs index 36afa91c..24b78865 100644 --- a/plugins/LiveVisualizer/LiveVisualizerPlugin.cs +++ b/plugins/LiveVisualizer/LiveVisualizerPlugin.cs @@ -1,4 +1,3 @@ -using CollectionManager.Enums; using Newtonsoft.Json; using StreamCompanionTypes; using StreamCompanionTypes.DataTypes; @@ -7,14 +6,17 @@ using System.ComponentModel; using System.IO; using System.Linq; +using System.Runtime.Versioning; using System.Threading; using System.Threading.Tasks; -using LiveCharts; +using System.Windows.Media; using StreamCompanionTypes.Enums; using StreamCompanionTypes.Interfaces.Services; +using Color = System.Drawing.Color; namespace LiveVisualizer { + [SupportedOSPlatform("windows7.0")] public class LiveVisualizerPlugin : LiveVisualizerPluginBase { private MainWindow _visualizerWindow; @@ -45,7 +47,7 @@ private List> Tokens _mapStrainsToken = value.FirstOrDefault(t => t.Key == "mapStrains").Value; _totalTimeToken = value.FirstOrDefault(t => t.Key == "totaltime").Value; _backgroundImageLocationToken = value.FirstOrDefault(t => t.Key == "backgroundImageLocation").Value; - + _liveTokens = value; } } @@ -62,6 +64,7 @@ public LiveVisualizerPlugin(IContextAwareLogger logger, ISettings settings) : ba VisualizerData = new VisualizerDataModel(); LoadConfiguration(); + PrepareDataPlots(); EnableVisualizer(VisualizerData.Configuration.Enable); @@ -70,6 +73,17 @@ public LiveVisualizerPlugin(IContextAwareLogger logger, ISettings settings) : ba Task.Run(async () => { await UpdateLiveTokens(); }); } + private void PrepareDataPlots() + { + foreach (var wpfPlot in new[] { VisualizerData.Display.MainDataPlot, VisualizerData.Display.BackgroundDataPlot }) + { + wpfPlot.Foreground = new SolidColorBrush(Colors.Transparent); + wpfPlot.Background = new SolidColorBrush(Colors.Transparent); + wpfPlot.plt.Style(Color.Transparent, Color.Transparent, Color.Transparent, Color.Green, Color.Aqua, Color.DarkOrange); + wpfPlot.Configure(false, false, false, false, false, false, false, false, recalculateLayoutOnMouseUp: false, lowQualityOnScrollWheel: false); + } + } + private void VisualizerConfigurationPropertyChanged(object sender, PropertyChangedEventArgs e) { switch (e.PropertyName) @@ -83,6 +97,8 @@ private void VisualizerConfigurationPropertyChanged(object sender, PropertyChang break; } + + _visualizerWindow?.UpdateChart(); SaveConfiguration(); } @@ -147,6 +163,7 @@ private void EnableVisualizer(bool enable) protected override void ProcessNewMap(IMapSearchResult mapSearchResult) { + //FIXME: isValidBeatmap check fails with https://osu.ppy.sh/beatmapsets/1114770#taiko/2483703 (resulting file path too long?) if (VisualizerData == null || !mapSearchResult.BeatmapsFound.Any() || !mapSearchResult.BeatmapsFound[0].IsValidBeatmap(Settings, out var mapLocation) || @@ -170,7 +187,7 @@ protected override void ProcessNewMap(IMapSearchResult mapSearchResult) } return; } - + Logger.Log("Updating live visualizer window", LogLevel.Trace); var strains = (Dictionary)_mapStrainsToken?.Value; @@ -186,18 +203,20 @@ protected override void ProcessNewMap(IMapSearchResult mapSearchResult) VisualizerData.Display.Artist = Tokens.First(r => r.Key == "artistRoman").Value.Value?.ToString(); if (VisualizerData.Display.Strains == null) - VisualizerData.Display.Strains = new ChartValues(); + VisualizerData.Display.Strains = new List(); VisualizerData.Display.Strains.Clear(); var strainValues = strains?.Select(kv => kv.Value).ToList(); SetAxisValues(strainValues); VisualizerData.Display.Strains.AddRange(strainValues ?? Enumerable.Empty()); - var imageLocation = (string) _backgroundImageLocationToken.Value; - VisualizerData.Display.ImageLocation = File.Exists(imageLocation) ? imageLocation : null; - _visualizerWindow?.ForceChartUpdate(); - Logger.Log("Finished updating live visualizer window", LogLevel.Trace); + var imageLocation = (string)_backgroundImageLocationToken.Value; + + VisualizerData.Display.ImageLocation = File.Exists(imageLocation) ? imageLocation : null; + _visualizerWindow?.UpdateChart(); + + Logger.Log("Finished updating live visualizer window", LogLevel.Trace); } private void SetAxisValues(IReadOnlyList strainValues) { diff --git a/plugins/LiveVisualizer/LiveVisualizerSettings.Designer.cs b/plugins/LiveVisualizer/LiveVisualizerSettings.Designer.cs index 47da70a2..38a713fd 100644 --- a/plugins/LiveVisualizer/LiveVisualizerSettings.Designer.cs +++ b/plugins/LiveVisualizer/LiveVisualizerSettings.Designer.cs @@ -30,6 +30,10 @@ private void InitializeComponent() { this.checkBox_enable = new System.Windows.Forms.CheckBox(); this.panel1 = new System.Windows.Forms.Panel(); + this.label9 = new System.Windows.Forms.Label(); + this.numericUpDown_titleHeight = new System.Windows.Forms.NumericUpDown(); + this.label8 = new System.Windows.Forms.Label(); + this.numericUpDown_artistHeight = new System.Windows.Forms.NumericUpDown(); this.button_miniCounter = new System.Windows.Forms.Button(); this.button_reset = new System.Windows.Forms.Button(); this.label7 = new System.Windows.Forms.Label(); @@ -39,6 +43,17 @@ private void InitializeComponent() this.label6 = new System.Windows.Forms.Label(); this.numericUpDown_chartHeight = new System.Windows.Forms.NumericUpDown(); this.groupBox_chartColors = new System.Windows.Forms.GroupBox(); + this.color_artistTitleBackground = new LiveVisualizer.ColorPickerWithPreview(); + this.color_ppBackground = new LiveVisualizer.ColorPickerWithPreview(); + this.color_hit100Background = new LiveVisualizer.ColorPickerWithPreview(); + this.color_hit50Background = new LiveVisualizer.ColorPickerWithPreview(); + this.color_hitMissBackground = new LiveVisualizer.ColorPickerWithPreview(); + this.color_textTitle = new LiveVisualizer.ColorPickerWithPreview(); + this.color_textArtist = new LiveVisualizer.ColorPickerWithPreview(); + this.color_chartPrimary = new LiveVisualizer.ColorPickerWithPreview(); + this.color_chartProgress = new LiveVisualizer.ColorPickerWithPreview(); + this.color_imageDimming = new LiveVisualizer.ColorPickerWithPreview(); + this.color_background = new LiveVisualizer.ColorPickerWithPreview(); this.numericUpDown_windowHeight = new System.Windows.Forms.NumericUpDown(); this.numericUpDown_windowWidth = new System.Windows.Forms.NumericUpDown(); this.label5 = new System.Windows.Forms.Label(); @@ -47,30 +62,15 @@ private void InitializeComponent() this.linkLabel_UICredit2 = new System.Windows.Forms.LinkLabel(); this.label4 = new System.Windows.Forms.Label(); this.linkLabel_UICredit1 = new System.Windows.Forms.LinkLabel(); - this.checkBox_showAxisYSeparator = new System.Windows.Forms.CheckBox(); this.label2 = new System.Windows.Forms.Label(); this.comboBox_font = new System.Windows.Forms.ComboBox(); this.panel_manualChart = new System.Windows.Forms.Panel(); this.label1 = new System.Windows.Forms.Label(); this.textBox_chartCutoffs = new System.Windows.Forms.TextBox(); this.checkBox_autosizeChart = new System.Windows.Forms.CheckBox(); - this.label8 = new System.Windows.Forms.Label(); - this.numericUpDown_artistHeight = new System.Windows.Forms.NumericUpDown(); - this.label9 = new System.Windows.Forms.Label(); - this.numericUpDown_titleHeight = new System.Windows.Forms.NumericUpDown(); - this.color_artistTitleBackground = new LiveVisualizer.ColorPickerWithPreview(); - this.color_ppBackground = new LiveVisualizer.ColorPickerWithPreview(); - this.color_hit100Background = new LiveVisualizer.ColorPickerWithPreview(); - this.color_hit50Background = new LiveVisualizer.ColorPickerWithPreview(); - this.color_hitMissBackground = new LiveVisualizer.ColorPickerWithPreview(); - this.color_textTitle = new LiveVisualizer.ColorPickerWithPreview(); - this.color_textArtist = new LiveVisualizer.ColorPickerWithPreview(); - this.color_chartPrimary = new LiveVisualizer.ColorPickerWithPreview(); - this.color_chartProgress = new LiveVisualizer.ColorPickerWithPreview(); - this.color_imageDimming = new LiveVisualizer.ColorPickerWithPreview(); - this.color_horizontalLegend = new LiveVisualizer.ColorPickerWithPreview(); - this.color_background = new LiveVisualizer.ColorPickerWithPreview(); this.panel1.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_titleHeight)).BeginInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_artistHeight)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_bottomHeight)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_chartHeight)).BeginInit(); this.groupBox_chartColors.SuspendLayout(); @@ -78,16 +78,15 @@ private void InitializeComponent() ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_windowWidth)).BeginInit(); this.panel2.SuspendLayout(); this.panel_manualChart.SuspendLayout(); - ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_artistHeight)).BeginInit(); - ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_titleHeight)).BeginInit(); this.SuspendLayout(); // // checkBox_enable // this.checkBox_enable.AutoSize = true; - this.checkBox_enable.Location = new System.Drawing.Point(0, 14); + this.checkBox_enable.Location = new System.Drawing.Point(0, 16); + this.checkBox_enable.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.checkBox_enable.Name = "checkBox_enable"; - this.checkBox_enable.Size = new System.Drawing.Size(129, 17); + this.checkBox_enable.Size = new System.Drawing.Size(137, 19); this.checkBox_enable.TabIndex = 0; this.checkBox_enable.Text = "Enable Live Visualizer"; this.checkBox_enable.UseVisualStyleBackColor = true; @@ -111,21 +110,88 @@ private void InitializeComponent() this.panel1.Controls.Add(this.numericUpDown_windowWidth); this.panel1.Controls.Add(this.label5); this.panel1.Controls.Add(this.panel2); - this.panel1.Controls.Add(this.checkBox_showAxisYSeparator); this.panel1.Controls.Add(this.label2); this.panel1.Controls.Add(this.comboBox_font); this.panel1.Controls.Add(this.panel_manualChart); this.panel1.Controls.Add(this.checkBox_autosizeChart); - this.panel1.Location = new System.Drawing.Point(0, 45); + this.panel1.Location = new System.Drawing.Point(0, 52); + this.panel1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(650, 442); + this.panel1.Size = new System.Drawing.Size(758, 510); this.panel1.TabIndex = 1; // + // label9 + // + this.label9.AutoSize = true; + this.label9.Location = new System.Drawing.Point(429, 376); + this.label9.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label9.Name = "label9"; + this.label9.Size = new System.Drawing.Size(92, 15); + this.label9.TabIndex = 54; + this.label9.Text = "Title text height:"; + // + // numericUpDown_titleHeight + // + this.numericUpDown_titleHeight.Location = new System.Drawing.Point(532, 374); + this.numericUpDown_titleHeight.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.numericUpDown_titleHeight.Maximum = new decimal(new int[] { + 5000, + 0, + 0, + 0}); + this.numericUpDown_titleHeight.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.numericUpDown_titleHeight.Name = "numericUpDown_titleHeight"; + this.numericUpDown_titleHeight.Size = new System.Drawing.Size(77, 23); + this.numericUpDown_titleHeight.TabIndex = 53; + this.numericUpDown_titleHeight.Value = new decimal(new int[] { + 150, + 0, + 0, + 0}); + // + // label8 + // + this.label8.AutoSize = true; + this.label8.Location = new System.Drawing.Point(233, 376); + this.label8.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(98, 15); + this.label8.TabIndex = 52; + this.label8.Text = "Artist text height:"; + // + // numericUpDown_artistHeight + // + this.numericUpDown_artistHeight.Location = new System.Drawing.Point(340, 374); + this.numericUpDown_artistHeight.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.numericUpDown_artistHeight.Maximum = new decimal(new int[] { + 5000, + 0, + 0, + 0}); + this.numericUpDown_artistHeight.Minimum = new decimal(new int[] { + 1, + 0, + 0, + 0}); + this.numericUpDown_artistHeight.Name = "numericUpDown_artistHeight"; + this.numericUpDown_artistHeight.Size = new System.Drawing.Size(77, 23); + this.numericUpDown_artistHeight.TabIndex = 51; + this.numericUpDown_artistHeight.Value = new decimal(new int[] { + 150, + 0, + 0, + 0}); + // // button_miniCounter // - this.button_miniCounter.Location = new System.Drawing.Point(456, 413); + this.button_miniCounter.Location = new System.Drawing.Point(532, 477); + this.button_miniCounter.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.button_miniCounter.Name = "button_miniCounter"; - this.button_miniCounter.Size = new System.Drawing.Size(81, 23); + this.button_miniCounter.Size = new System.Drawing.Size(94, 27); this.button_miniCounter.TabIndex = 50; this.button_miniCounter.Text = "Mini counter"; this.button_miniCounter.UseVisualStyleBackColor = true; @@ -133,9 +199,10 @@ private void InitializeComponent() // // button_reset // - this.button_reset.Location = new System.Drawing.Point(543, 413); + this.button_reset.Location = new System.Drawing.Point(634, 477); + this.button_reset.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.button_reset.Name = "button_reset"; - this.button_reset.Size = new System.Drawing.Size(97, 23); + this.button_reset.Size = new System.Drawing.Size(113, 27); this.button_reset.TabIndex = 49; this.button_reset.Text = "Reset to defaults"; this.button_reset.UseVisualStyleBackColor = true; @@ -144,9 +211,10 @@ private void InitializeComponent() // label7 // this.label7.AutoSize = true; - this.label7.Location = new System.Drawing.Point(6, 326); + this.label7.Location = new System.Drawing.Point(7, 376); + this.label7.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label7.Name = "label7"; - this.label7.Size = new System.Drawing.Size(75, 13); + this.label7.Size = new System.Drawing.Size(87, 15); this.label7.TabIndex = 48; this.label7.Text = "Bottom height:"; // @@ -158,14 +226,15 @@ private void InitializeComponent() 0, 0, 131072}); - this.numericUpDown_bottomHeight.Location = new System.Drawing.Point(87, 324); + this.numericUpDown_bottomHeight.Location = new System.Drawing.Point(102, 374); + this.numericUpDown_bottomHeight.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.numericUpDown_bottomHeight.Maximum = new decimal(new int[] { 100000, 0, 0, 0}); this.numericUpDown_bottomHeight.Name = "numericUpDown_bottomHeight"; - this.numericUpDown_bottomHeight.Size = new System.Drawing.Size(105, 20); + this.numericUpDown_bottomHeight.Size = new System.Drawing.Size(122, 23); this.numericUpDown_bottomHeight.TabIndex = 47; this.numericUpDown_bottomHeight.Value = new decimal(new int[] { 150, @@ -176,9 +245,10 @@ private void InitializeComponent() // checkBox_enableRoundedCorners // this.checkBox_enableRoundedCorners.AutoSize = true; - this.checkBox_enableRoundedCorners.Location = new System.Drawing.Point(306, 250); + this.checkBox_enableRoundedCorners.Location = new System.Drawing.Point(191, 288); + this.checkBox_enableRoundedCorners.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.checkBox_enableRoundedCorners.Name = "checkBox_enableRoundedCorners"; - this.checkBox_enableRoundedCorners.Size = new System.Drawing.Size(139, 17); + this.checkBox_enableRoundedCorners.Size = new System.Drawing.Size(151, 19); this.checkBox_enableRoundedCorners.TabIndex = 46; this.checkBox_enableRoundedCorners.Text = "Enable rounded corners"; this.checkBox_enableRoundedCorners.UseVisualStyleBackColor = true; @@ -186,9 +256,10 @@ private void InitializeComponent() // checkBox_simulatePP // this.checkBox_simulatePP.AutoSize = true; - this.checkBox_simulatePP.Location = new System.Drawing.Point(149, 250); + this.checkBox_simulatePP.Location = new System.Drawing.Point(8, 288); + this.checkBox_simulatePP.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.checkBox_simulatePP.Name = "checkBox_simulatePP"; - this.checkBox_simulatePP.Size = new System.Drawing.Size(151, 17); + this.checkBox_simulatePP.Size = new System.Drawing.Size(169, 19); this.checkBox_simulatePP.TabIndex = 45; this.checkBox_simulatePP.Text = "Simulate pp when listening"; this.checkBox_simulatePP.UseVisualStyleBackColor = true; @@ -196,15 +267,17 @@ private void InitializeComponent() // label6 // this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(270, 274); + this.label6.Location = new System.Drawing.Point(315, 316); + this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(67, 13); + this.label6.Size = new System.Drawing.Size(76, 15); this.label6.TabIndex = 44; this.label6.Text = "Chart height:"; // // numericUpDown_chartHeight // - this.numericUpDown_chartHeight.Location = new System.Drawing.Point(343, 270); + this.numericUpDown_chartHeight.Location = new System.Drawing.Point(400, 312); + this.numericUpDown_chartHeight.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.numericUpDown_chartHeight.Maximum = new decimal(new int[] { 5000, 0, @@ -216,7 +289,7 @@ private void InitializeComponent() 0, 0}); this.numericUpDown_chartHeight.Name = "numericUpDown_chartHeight"; - this.numericUpDown_chartHeight.Size = new System.Drawing.Size(66, 20); + this.numericUpDown_chartHeight.Size = new System.Drawing.Size(77, 23); this.numericUpDown_chartHeight.TabIndex = 43; this.numericUpDown_chartHeight.Value = new decimal(new int[] { 150, @@ -236,245 +309,16 @@ private void InitializeComponent() this.groupBox_chartColors.Controls.Add(this.color_chartPrimary); this.groupBox_chartColors.Controls.Add(this.color_chartProgress); this.groupBox_chartColors.Controls.Add(this.color_imageDimming); - this.groupBox_chartColors.Controls.Add(this.color_horizontalLegend); this.groupBox_chartColors.Controls.Add(this.color_background); - this.groupBox_chartColors.Location = new System.Drawing.Point(4, 4); + this.groupBox_chartColors.Location = new System.Drawing.Point(5, 5); + this.groupBox_chartColors.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.groupBox_chartColors.Name = "groupBox_chartColors"; - this.groupBox_chartColors.Size = new System.Drawing.Size(636, 216); + this.groupBox_chartColors.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.groupBox_chartColors.Size = new System.Drawing.Size(742, 224); this.groupBox_chartColors.TabIndex = 42; this.groupBox_chartColors.TabStop = false; this.groupBox_chartColors.Text = "Chart colors"; // - // numericUpDown_windowHeight - // - this.numericUpDown_windowHeight.Location = new System.Drawing.Point(466, 226); - this.numericUpDown_windowHeight.Maximum = new decimal(new int[] { - 5000, - 0, - 0, - 0}); - this.numericUpDown_windowHeight.Minimum = new decimal(new int[] { - 110, - 0, - 0, - 0}); - this.numericUpDown_windowHeight.Name = "numericUpDown_windowHeight"; - this.numericUpDown_windowHeight.Size = new System.Drawing.Size(66, 20); - this.numericUpDown_windowHeight.TabIndex = 37; - this.numericUpDown_windowHeight.Value = new decimal(new int[] { - 350, - 0, - 0, - 0}); - // - // numericUpDown_windowWidth - // - this.numericUpDown_windowWidth.Location = new System.Drawing.Point(394, 226); - this.numericUpDown_windowWidth.Maximum = new decimal(new int[] { - 5000, - 0, - 0, - 0}); - this.numericUpDown_windowWidth.Minimum = new decimal(new int[] { - 500, - 0, - 0, - 0}); - this.numericUpDown_windowWidth.Name = "numericUpDown_windowWidth"; - this.numericUpDown_windowWidth.Size = new System.Drawing.Size(66, 20); - this.numericUpDown_windowWidth.TabIndex = 36; - this.numericUpDown_windowWidth.Value = new decimal(new int[] { - 500, - 0, - 0, - 0}); - // - // label5 - // - this.label5.AutoSize = true; - this.label5.Location = new System.Drawing.Point(258, 229); - this.label5.Name = "label5"; - this.label5.Size = new System.Drawing.Size(130, 13); - this.label5.TabIndex = 35; - this.label5.Text = "Window width and height:"; - // - // panel2 - // - this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.panel2.Controls.Add(this.label3); - this.panel2.Controls.Add(this.linkLabel_UICredit2); - this.panel2.Controls.Add(this.label4); - this.panel2.Controls.Add(this.linkLabel_UICredit1); - this.panel2.Location = new System.Drawing.Point(4, 418); - this.panel2.Name = "panel2"; - this.panel2.Size = new System.Drawing.Size(267, 18); - this.panel2.TabIndex = 34; - // - // label3 - // - this.label3.AutoSize = true; - this.label3.Location = new System.Drawing.Point(3, 0); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(122, 13); - this.label3.TabIndex = 27; - this.label3.Text = "Initial UI design made by"; - // - // linkLabel_UICredit2 - // - this.linkLabel_UICredit2.AutoSize = true; - this.linkLabel_UICredit2.Location = new System.Drawing.Point(215, 0); - this.linkLabel_UICredit2.Name = "linkLabel_UICredit2"; - this.linkLabel_UICredit2.Size = new System.Drawing.Size(48, 13); - this.linkLabel_UICredit2.TabIndex = 31; - this.linkLabel_UICredit2.TabStop = true; - this.linkLabel_UICredit2.Text = "Dartandr"; - this.linkLabel_UICredit2.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel_UICredit2_LinkClicked); - // - // label4 - // - this.label4.AutoSize = true; - this.label4.Location = new System.Drawing.Point(189, 0); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(25, 13); - this.label4.TabIndex = 30; - this.label4.Text = "and"; - // - // linkLabel_UICredit1 - // - this.linkLabel_UICredit1.AutoSize = true; - this.linkLabel_UICredit1.Location = new System.Drawing.Point(126, 0); - this.linkLabel_UICredit1.Name = "linkLabel_UICredit1"; - this.linkLabel_UICredit1.Size = new System.Drawing.Size(62, 13); - this.linkLabel_UICredit1.TabIndex = 29; - this.linkLabel_UICredit1.TabStop = true; - this.linkLabel_UICredit1.Text = "BlackShark"; - this.linkLabel_UICredit1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel_UICredit1_LinkClicked); - // - // checkBox_showAxisYSeparator - // - this.checkBox_showAxisYSeparator.AutoSize = true; - this.checkBox_showAxisYSeparator.Location = new System.Drawing.Point(7, 250); - this.checkBox_showAxisYSeparator.Name = "checkBox_showAxisYSeparator"; - this.checkBox_showAxisYSeparator.Size = new System.Drawing.Size(136, 17); - this.checkBox_showAxisYSeparator.TabIndex = 32; - this.checkBox_showAxisYSeparator.Text = "Show horizontal legend"; - this.checkBox_showAxisYSeparator.UseVisualStyleBackColor = true; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Location = new System.Drawing.Point(7, 229); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(57, 13); - this.label2.TabIndex = 26; - this.label2.Text = "Font used:"; - // - // comboBox_font - // - this.comboBox_font.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; - this.comboBox_font.FormattingEnabled = true; - this.comboBox_font.Location = new System.Drawing.Point(70, 226); - this.comboBox_font.Name = "comboBox_font"; - this.comboBox_font.Size = new System.Drawing.Size(139, 21); - this.comboBox_font.TabIndex = 25; - // - // panel_manualChart - // - this.panel_manualChart.Controls.Add(this.label1); - this.panel_manualChart.Controls.Add(this.textBox_chartCutoffs); - this.panel_manualChart.Location = new System.Drawing.Point(-1, 296); - this.panel_manualChart.Name = "panel_manualChart"; - this.panel_manualChart.Size = new System.Drawing.Size(439, 22); - this.panel_manualChart.TabIndex = 4; - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Location = new System.Drawing.Point(8, 3); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(248, 13); - this.label1.TabIndex = 4; - this.label1.Text = "Manual chart height cutoff points, separated by \";\":"; - // - // textBox_chartCutoffs - // - this.textBox_chartCutoffs.Location = new System.Drawing.Point(262, 0); - this.textBox_chartCutoffs.Name = "textBox_chartCutoffs"; - this.textBox_chartCutoffs.Size = new System.Drawing.Size(171, 20); - this.textBox_chartCutoffs.TabIndex = 3; - // - // checkBox_autosizeChart - // - this.checkBox_autosizeChart.AutoSize = true; - this.checkBox_autosizeChart.Location = new System.Drawing.Point(7, 273); - this.checkBox_autosizeChart.Name = "checkBox_autosizeChart"; - this.checkBox_autosizeChart.Size = new System.Drawing.Size(252, 17); - this.checkBox_autosizeChart.TabIndex = 2; - this.checkBox_autosizeChart.Text = "Autosize chart value height based on max value"; - this.checkBox_autosizeChart.UseVisualStyleBackColor = true; - // - // label8 - // - this.label8.AutoSize = true; - this.label8.Location = new System.Drawing.Point(200, 326); - this.label8.Name = "label8"; - this.label8.Size = new System.Drawing.Size(85, 13); - this.label8.TabIndex = 52; - this.label8.Text = "Artist text height:"; - // - // numericUpDown_artistHeight - // - this.numericUpDown_artistHeight.Location = new System.Drawing.Point(291, 324); - this.numericUpDown_artistHeight.Maximum = new decimal(new int[] { - 5000, - 0, - 0, - 0}); - this.numericUpDown_artistHeight.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.numericUpDown_artistHeight.Name = "numericUpDown_artistHeight"; - this.numericUpDown_artistHeight.Size = new System.Drawing.Size(66, 20); - this.numericUpDown_artistHeight.TabIndex = 51; - this.numericUpDown_artistHeight.Value = new decimal(new int[] { - 150, - 0, - 0, - 0}); - // - // label9 - // - this.label9.AutoSize = true; - this.label9.Location = new System.Drawing.Point(368, 326); - this.label9.Name = "label9"; - this.label9.Size = new System.Drawing.Size(82, 13); - this.label9.TabIndex = 54; - this.label9.Text = "Title text height:"; - // - // numericUpDown_titleHeight - // - this.numericUpDown_titleHeight.Location = new System.Drawing.Point(456, 324); - this.numericUpDown_titleHeight.Maximum = new decimal(new int[] { - 5000, - 0, - 0, - 0}); - this.numericUpDown_titleHeight.Minimum = new decimal(new int[] { - 1, - 0, - 0, - 0}); - this.numericUpDown_titleHeight.Name = "numericUpDown_titleHeight"; - this.numericUpDown_titleHeight.Size = new System.Drawing.Size(66, 20); - this.numericUpDown_titleHeight.TabIndex = 53; - this.numericUpDown_titleHeight.Value = new decimal(new int[] { - 150, - 0, - 0, - 0}); - // // color_artistTitleBackground // this.color_artistTitleBackground.Color = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209))))); @@ -484,12 +328,13 @@ private void InitializeComponent() this.color_artistTitleBackground.LabelDesigner.AutoSize = true; this.color_artistTitleBackground.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_artistTitleBackground.LabelDesigner.Name = "Label"; - this.color_artistTitleBackground.LabelDesigner.Size = new System.Drawing.Size(90, 13); + this.color_artistTitleBackground.LabelDesigner.Size = new System.Drawing.Size(102, 15); this.color_artistTitleBackground.LabelDesigner.TabIndex = 1; this.color_artistTitleBackground.LabelDesigner.Text = "Artist background"; - this.color_artistTitleBackground.Location = new System.Drawing.Point(6, 187); + this.color_artistTitleBackground.Location = new System.Drawing.Point(7, 190); + this.color_artistTitleBackground.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_artistTitleBackground.Name = "color_artistTitleBackground"; - this.color_artistTitleBackground.Size = new System.Drawing.Size(290, 21); + this.color_artistTitleBackground.Size = new System.Drawing.Size(338, 25); this.color_artistTitleBackground.TabIndex = 47; // // color_ppBackground @@ -501,12 +346,13 @@ private void InitializeComponent() this.color_ppBackground.LabelDesigner.AutoSize = true; this.color_ppBackground.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_ppBackground.LabelDesigner.Name = "Label"; - this.color_ppBackground.LabelDesigner.Size = new System.Drawing.Size(81, 13); + this.color_ppBackground.LabelDesigner.Size = new System.Drawing.Size(88, 15); this.color_ppBackground.LabelDesigner.TabIndex = 1; this.color_ppBackground.LabelDesigner.Text = "PP background"; - this.color_ppBackground.Location = new System.Drawing.Point(302, 19); + this.color_ppBackground.Location = new System.Drawing.Point(352, 22); + this.color_ppBackground.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_ppBackground.Name = "color_ppBackground"; - this.color_ppBackground.Size = new System.Drawing.Size(298, 21); + this.color_ppBackground.Size = new System.Drawing.Size(338, 25); this.color_ppBackground.TabIndex = 43; // // color_hit100Background @@ -518,12 +364,13 @@ private void InitializeComponent() this.color_hit100Background.LabelDesigner.AutoSize = true; this.color_hit100Background.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_hit100Background.LabelDesigner.Name = "Label"; - this.color_hit100Background.LabelDesigner.Size = new System.Drawing.Size(96, 13); + this.color_hit100Background.LabelDesigner.Size = new System.Drawing.Size(106, 15); this.color_hit100Background.LabelDesigner.TabIndex = 1; this.color_hit100Background.LabelDesigner.Text = "hit100 background"; - this.color_hit100Background.Location = new System.Drawing.Point(302, 43); + this.color_hit100Background.Location = new System.Drawing.Point(352, 50); + this.color_hit100Background.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_hit100Background.Name = "color_hit100Background"; - this.color_hit100Background.Size = new System.Drawing.Size(298, 21); + this.color_hit100Background.Size = new System.Drawing.Size(338, 25); this.color_hit100Background.TabIndex = 44; // // color_hit50Background @@ -535,12 +382,12 @@ private void InitializeComponent() this.color_hit50Background.LabelDesigner.AutoSize = true; this.color_hit50Background.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_hit50Background.LabelDesigner.Name = "Label"; - this.color_hit50Background.LabelDesigner.Size = new System.Drawing.Size(90, 13); this.color_hit50Background.LabelDesigner.TabIndex = 1; this.color_hit50Background.LabelDesigner.Text = "hit50 background"; - this.color_hit50Background.Location = new System.Drawing.Point(302, 67); + this.color_hit50Background.Location = new System.Drawing.Point(352, 78); + this.color_hit50Background.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_hit50Background.Name = "color_hit50Background"; - this.color_hit50Background.Size = new System.Drawing.Size(298, 21); + this.color_hit50Background.Size = new System.Drawing.Size(338, 25); this.color_hit50Background.TabIndex = 45; // // color_hitMissBackground @@ -552,12 +399,13 @@ private void InitializeComponent() this.color_hitMissBackground.LabelDesigner.AutoSize = true; this.color_hitMissBackground.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_hitMissBackground.LabelDesigner.Name = "Label"; - this.color_hitMissBackground.LabelDesigner.Size = new System.Drawing.Size(99, 13); + this.color_hitMissBackground.LabelDesigner.Size = new System.Drawing.Size(112, 15); this.color_hitMissBackground.LabelDesigner.TabIndex = 1; this.color_hitMissBackground.LabelDesigner.Text = "hitMiss background"; - this.color_hitMissBackground.Location = new System.Drawing.Point(302, 91); + this.color_hitMissBackground.Location = new System.Drawing.Point(352, 106); + this.color_hitMissBackground.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_hitMissBackground.Name = "color_hitMissBackground"; - this.color_hitMissBackground.Size = new System.Drawing.Size(298, 21); + this.color_hitMissBackground.Size = new System.Drawing.Size(338, 25); this.color_hitMissBackground.TabIndex = 46; // // color_textTitle @@ -569,12 +417,13 @@ private void InitializeComponent() this.color_textTitle.LabelDesigner.AutoSize = true; this.color_textTitle.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_textTitle.LabelDesigner.Name = "Label"; - this.color_textTitle.LabelDesigner.Size = new System.Drawing.Size(47, 13); + this.color_textTitle.LabelDesigner.Size = new System.Drawing.Size(52, 15); this.color_textTitle.LabelDesigner.TabIndex = 1; this.color_textTitle.LabelDesigner.Text = "Title text"; - this.color_textTitle.Location = new System.Drawing.Point(6, 163); + this.color_textTitle.Location = new System.Drawing.Point(7, 162); + this.color_textTitle.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_textTitle.Name = "color_textTitle"; - this.color_textTitle.Size = new System.Drawing.Size(290, 21); + this.color_textTitle.Size = new System.Drawing.Size(338, 25); this.color_textTitle.TabIndex = 42; // // color_textArtist @@ -586,12 +435,13 @@ private void InitializeComponent() this.color_textArtist.LabelDesigner.AutoSize = true; this.color_textArtist.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_textArtist.LabelDesigner.Name = "Label"; - this.color_textArtist.LabelDesigner.Size = new System.Drawing.Size(50, 13); + this.color_textArtist.LabelDesigner.Size = new System.Drawing.Size(58, 15); this.color_textArtist.LabelDesigner.TabIndex = 1; this.color_textArtist.LabelDesigner.Text = "Artist text"; - this.color_textArtist.Location = new System.Drawing.Point(6, 139); + this.color_textArtist.Location = new System.Drawing.Point(7, 134); + this.color_textArtist.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_textArtist.Name = "color_textArtist"; - this.color_textArtist.Size = new System.Drawing.Size(290, 21); + this.color_textArtist.Size = new System.Drawing.Size(338, 25); this.color_textArtist.TabIndex = 41; // // color_chartPrimary @@ -603,12 +453,13 @@ private void InitializeComponent() this.color_chartPrimary.LabelDesigner.AutoSize = true; this.color_chartPrimary.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_chartPrimary.LabelDesigner.Name = "Label"; - this.color_chartPrimary.LabelDesigner.Size = new System.Drawing.Size(68, 13); + this.color_chartPrimary.LabelDesigner.Size = new System.Drawing.Size(78, 15); this.color_chartPrimary.LabelDesigner.TabIndex = 1; this.color_chartPrimary.LabelDesigner.Text = "Primary chart"; - this.color_chartPrimary.Location = new System.Drawing.Point(6, 19); + this.color_chartPrimary.Location = new System.Drawing.Point(7, 22); + this.color_chartPrimary.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_chartPrimary.Name = "color_chartPrimary"; - this.color_chartPrimary.Size = new System.Drawing.Size(290, 21); + this.color_chartPrimary.Size = new System.Drawing.Size(338, 25); this.color_chartPrimary.TabIndex = 0; // // color_chartProgress @@ -620,12 +471,13 @@ private void InitializeComponent() this.color_chartProgress.LabelDesigner.AutoSize = true; this.color_chartProgress.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_chartProgress.LabelDesigner.Name = "Label"; - this.color_chartProgress.LabelDesigner.Size = new System.Drawing.Size(75, 13); + this.color_chartProgress.LabelDesigner.Size = new System.Drawing.Size(84, 15); this.color_chartProgress.LabelDesigner.TabIndex = 1; this.color_chartProgress.LabelDesigner.Text = "Chart progress"; - this.color_chartProgress.Location = new System.Drawing.Point(6, 43); + this.color_chartProgress.Location = new System.Drawing.Point(7, 50); + this.color_chartProgress.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_chartProgress.Name = "color_chartProgress"; - this.color_chartProgress.Size = new System.Drawing.Size(290, 21); + this.color_chartProgress.Size = new System.Drawing.Size(338, 25); this.color_chartProgress.TabIndex = 1; // // color_imageDimming @@ -637,31 +489,15 @@ private void InitializeComponent() this.color_imageDimming.LabelDesigner.AutoSize = true; this.color_imageDimming.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_imageDimming.LabelDesigner.Name = "Label"; - this.color_imageDimming.LabelDesigner.Size = new System.Drawing.Size(77, 13); + this.color_imageDimming.LabelDesigner.Size = new System.Drawing.Size(92, 15); this.color_imageDimming.LabelDesigner.TabIndex = 1; this.color_imageDimming.LabelDesigner.Text = "Image dimming"; - this.color_imageDimming.Location = new System.Drawing.Point(6, 115); + this.color_imageDimming.Location = new System.Drawing.Point(7, 106); + this.color_imageDimming.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_imageDimming.Name = "color_imageDimming"; - this.color_imageDimming.Size = new System.Drawing.Size(290, 21); + this.color_imageDimming.Size = new System.Drawing.Size(338, 25); this.color_imageDimming.TabIndex = 40; // - // color_horizontalLegend - // - this.color_horizontalLegend.Color = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209))))); - // - // - // - this.color_horizontalLegend.LabelDesigner.AutoSize = true; - this.color_horizontalLegend.LabelDesigner.Location = new System.Drawing.Point(3, 6); - this.color_horizontalLegend.LabelDesigner.Name = "Label"; - this.color_horizontalLegend.LabelDesigner.Size = new System.Drawing.Size(89, 13); - this.color_horizontalLegend.LabelDesigner.TabIndex = 1; - this.color_horizontalLegend.LabelDesigner.Text = "Horizontal legend"; - this.color_horizontalLegend.Location = new System.Drawing.Point(6, 67); - this.color_horizontalLegend.Name = "color_horizontalLegend"; - this.color_horizontalLegend.Size = new System.Drawing.Size(290, 21); - this.color_horizontalLegend.TabIndex = 33; - // // color_background // this.color_background.Color = System.Drawing.Color.FromArgb(((int)(((byte)(153)))), ((int)(((byte)(180)))), ((int)(((byte)(209))))); @@ -671,24 +507,200 @@ private void InitializeComponent() this.color_background.LabelDesigner.AutoSize = true; this.color_background.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_background.LabelDesigner.Name = "Label"; - this.color_background.LabelDesigner.Size = new System.Drawing.Size(65, 13); + this.color_background.LabelDesigner.Size = new System.Drawing.Size(71, 15); this.color_background.LabelDesigner.TabIndex = 1; this.color_background.LabelDesigner.Text = "Background"; - this.color_background.Location = new System.Drawing.Point(6, 91); + this.color_background.Location = new System.Drawing.Point(7, 78); + this.color_background.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_background.Name = "color_background"; - this.color_background.Size = new System.Drawing.Size(290, 21); + this.color_background.Size = new System.Drawing.Size(338, 25); this.color_background.TabIndex = 39; // + // numericUpDown_windowHeight + // + this.numericUpDown_windowHeight.Location = new System.Drawing.Point(544, 261); + this.numericUpDown_windowHeight.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.numericUpDown_windowHeight.Maximum = new decimal(new int[] { + 5000, + 0, + 0, + 0}); + this.numericUpDown_windowHeight.Minimum = new decimal(new int[] { + 110, + 0, + 0, + 0}); + this.numericUpDown_windowHeight.Name = "numericUpDown_windowHeight"; + this.numericUpDown_windowHeight.Size = new System.Drawing.Size(77, 23); + this.numericUpDown_windowHeight.TabIndex = 37; + this.numericUpDown_windowHeight.Value = new decimal(new int[] { + 350, + 0, + 0, + 0}); + // + // numericUpDown_windowWidth + // + this.numericUpDown_windowWidth.Location = new System.Drawing.Point(460, 261); + this.numericUpDown_windowWidth.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.numericUpDown_windowWidth.Maximum = new decimal(new int[] { + 5000, + 0, + 0, + 0}); + this.numericUpDown_windowWidth.Minimum = new decimal(new int[] { + 500, + 0, + 0, + 0}); + this.numericUpDown_windowWidth.Name = "numericUpDown_windowWidth"; + this.numericUpDown_windowWidth.Size = new System.Drawing.Size(77, 23); + this.numericUpDown_windowWidth.TabIndex = 36; + this.numericUpDown_windowWidth.Value = new decimal(new int[] { + 500, + 0, + 0, + 0}); + // + // label5 + // + this.label5.AutoSize = true; + this.label5.Location = new System.Drawing.Point(301, 264); + this.label5.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label5.Name = "label5"; + this.label5.Size = new System.Drawing.Size(147, 15); + this.label5.TabIndex = 35; + this.label5.Text = "Window width and height:"; + // + // panel2 + // + this.panel2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.panel2.Controls.Add(this.label3); + this.panel2.Controls.Add(this.linkLabel_UICredit2); + this.panel2.Controls.Add(this.label4); + this.panel2.Controls.Add(this.linkLabel_UICredit1); + this.panel2.Location = new System.Drawing.Point(5, 482); + this.panel2.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(312, 21); + this.panel2.TabIndex = 34; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Location = new System.Drawing.Point(4, 0); + this.label3.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(137, 15); + this.label3.TabIndex = 27; + this.label3.Text = "Initial UI design made by"; + // + // linkLabel_UICredit2 + // + this.linkLabel_UICredit2.AutoSize = true; + this.linkLabel_UICredit2.Location = new System.Drawing.Point(251, 0); + this.linkLabel_UICredit2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.linkLabel_UICredit2.Name = "linkLabel_UICredit2"; + this.linkLabel_UICredit2.Size = new System.Drawing.Size(53, 15); + this.linkLabel_UICredit2.TabIndex = 31; + this.linkLabel_UICredit2.TabStop = true; + this.linkLabel_UICredit2.Text = "Dartandr"; + this.linkLabel_UICredit2.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel_UICredit2_LinkClicked); + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Location = new System.Drawing.Point(220, 0); + this.label4.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(27, 15); + this.label4.TabIndex = 30; + this.label4.Text = "and"; + // + // linkLabel_UICredit1 + // + this.linkLabel_UICredit1.AutoSize = true; + this.linkLabel_UICredit1.Location = new System.Drawing.Point(147, 0); + this.linkLabel_UICredit1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.linkLabel_UICredit1.Name = "linkLabel_UICredit1"; + this.linkLabel_UICredit1.Size = new System.Drawing.Size(64, 15); + this.linkLabel_UICredit1.TabIndex = 29; + this.linkLabel_UICredit1.TabStop = true; + this.linkLabel_UICredit1.Text = "BlackShark"; + this.linkLabel_UICredit1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.linkLabel_UICredit1_LinkClicked); + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Location = new System.Drawing.Point(8, 264); + this.label2.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(62, 15); + this.label2.TabIndex = 26; + this.label2.Text = "Font used:"; + // + // comboBox_font + // + this.comboBox_font.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; + this.comboBox_font.FormattingEnabled = true; + this.comboBox_font.Location = new System.Drawing.Point(82, 261); + this.comboBox_font.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.comboBox_font.Name = "comboBox_font"; + this.comboBox_font.Size = new System.Drawing.Size(162, 23); + this.comboBox_font.TabIndex = 25; + // + // panel_manualChart + // + this.panel_manualChart.Controls.Add(this.label1); + this.panel_manualChart.Controls.Add(this.textBox_chartCutoffs); + this.panel_manualChart.Location = new System.Drawing.Point(-1, 342); + this.panel_manualChart.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.panel_manualChart.Name = "panel_manualChart"; + this.panel_manualChart.Size = new System.Drawing.Size(512, 25); + this.panel_manualChart.TabIndex = 4; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Location = new System.Drawing.Point(9, 3); + this.label1.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(277, 15); + this.label1.TabIndex = 4; + this.label1.Text = "Manual chart height cutoff points, separated by \";\":"; + // + // textBox_chartCutoffs + // + this.textBox_chartCutoffs.Location = new System.Drawing.Point(306, 0); + this.textBox_chartCutoffs.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_chartCutoffs.Name = "textBox_chartCutoffs"; + this.textBox_chartCutoffs.Size = new System.Drawing.Size(199, 23); + this.textBox_chartCutoffs.TabIndex = 3; + // + // checkBox_autosizeChart + // + this.checkBox_autosizeChart.AutoSize = true; + this.checkBox_autosizeChart.Location = new System.Drawing.Point(8, 315); + this.checkBox_autosizeChart.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.checkBox_autosizeChart.Name = "checkBox_autosizeChart"; + this.checkBox_autosizeChart.Size = new System.Drawing.Size(277, 19); + this.checkBox_autosizeChart.TabIndex = 2; + this.checkBox_autosizeChart.Text = "Autosize chart value height based on max value"; + this.checkBox_autosizeChart.UseVisualStyleBackColor = true; + // // LiveVisualizerSettings // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.panel1); this.Controls.Add(this.checkBox_enable); + this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.Name = "LiveVisualizerSettings"; - this.Size = new System.Drawing.Size(650, 487); + this.Size = new System.Drawing.Size(758, 562); this.panel1.ResumeLayout(false); this.panel1.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_titleHeight)).EndInit(); + ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_artistHeight)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_bottomHeight)).EndInit(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_chartHeight)).EndInit(); this.groupBox_chartColors.ResumeLayout(false); @@ -698,8 +710,6 @@ private void InitializeComponent() this.panel2.PerformLayout(); this.panel_manualChart.ResumeLayout(false); this.panel_manualChart.PerformLayout(); - ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_artistHeight)).EndInit(); - ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_titleHeight)).EndInit(); this.ResumeLayout(false); this.PerformLayout(); @@ -721,8 +731,6 @@ private void InitializeComponent() private System.Windows.Forms.LinkLabel linkLabel_UICredit1; private System.Windows.Forms.LinkLabel linkLabel_UICredit2; private System.Windows.Forms.Label label4; - private System.Windows.Forms.CheckBox checkBox_showAxisYSeparator; - private ColorPickerWithPreview color_horizontalLegend; private System.Windows.Forms.Panel panel2; private System.Windows.Forms.NumericUpDown numericUpDown_windowWidth; private System.Windows.Forms.Label label5; diff --git a/plugins/LiveVisualizer/LiveVisualizerSettings.cs b/plugins/LiveVisualizer/LiveVisualizerSettings.cs index 9380e321..01475ecc 100644 --- a/plugins/LiveVisualizer/LiveVisualizerSettings.cs +++ b/plugins/LiveVisualizer/LiveVisualizerSettings.cs @@ -51,7 +51,6 @@ public LiveVisualizerSettings(ISettings settings, IVisualizerConfiguration confi BindColorPicker(color_chartPrimary, () => _configuration.ChartColor, color => _configuration.ChartColor = color); BindColorPicker(color_chartProgress, () => _configuration.ChartProgressColor, color => _configuration.ChartProgressColor = color); - BindColorPicker(color_horizontalLegend, () => _configuration.AxisYSeparatorColor, color => _configuration.AxisYSeparatorColor = color); BindColorPicker(color_background, () => _configuration.BackgroundColor, color => _configuration.BackgroundColor = color); BindColorPicker(color_imageDimming, () => _configuration.ImageDimColor, color => _configuration.ImageDimColor = color); @@ -67,7 +66,6 @@ public LiveVisualizerSettings(ISettings settings, IVisualizerConfiguration confi textBox_chartCutoffs.Text = string.Join(";", _configuration.ChartCutoffsSet); - checkBox_showAxisYSeparator.Checked = _configuration.ShowAxisYSeparator; numericUpDown_windowHeight.Value = ((decimal)_configuration.WindowHeight).Clamp(numericUpDown_windowHeight.Minimum, numericUpDown_windowHeight.Maximum); numericUpDown_windowWidth.Value = ((decimal)_configuration.WindowWidth).Clamp(numericUpDown_windowWidth.Minimum, numericUpDown_windowWidth.Maximum); @@ -85,7 +83,6 @@ public LiveVisualizerSettings(ISettings settings, IVisualizerConfiguration confi checkBox_autosizeChart.CheckedChanged += checkBox_autosizeChart_CheckedChanged; comboBox_font.SelectedValueChanged += ComboBoxFontOnSelectedValueChanged; textBox_chartCutoffs.TextChanged += textBox_chartCutoffs_TextChanged; - checkBox_showAxisYSeparator.CheckedChanged += checkBox_showAxisYSeparator_CheckedChanged; numericUpDown_windowHeight.ValueChanged += NumericUpDownWindowHeightOnValueChanged; numericUpDown_windowWidth.ValueChanged += NumericUpDownWindowWidthOnValueChanged; @@ -173,11 +170,6 @@ private void textBox_chartCutoffs_TextChanged(object sender, EventArgs e) _configuration.ChartCutoffsSet = new SortedSet(textBox_chartCutoffs.Text.Split(';').Select(v => int.TryParse(v, out int num) ? num : 0)); } - private void checkBox_showAxisYSeparator_CheckedChanged(object sender, EventArgs e) - { - _configuration.ShowAxisYSeparator = checkBox_showAxisYSeparator.Checked; - } - private void linkLabel_UICredit1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { Process.Start("https://osu.ppy.sh/users/9173653"); diff --git a/plugins/LiveVisualizer/LiveVisualizerSettings.resx b/plugins/LiveVisualizer/LiveVisualizerSettings.resx index 1af7de15..f298a7be 100644 --- a/plugins/LiveVisualizer/LiveVisualizerSettings.resx +++ b/plugins/LiveVisualizer/LiveVisualizerSettings.resx @@ -1,64 +1,4 @@ - - - + diff --git a/plugins/LiveVisualizer/MainWindow.xaml b/plugins/LiveVisualizer/MainWindow.xaml index 82abbf98..52bccdcd 100644 --- a/plugins/LiveVisualizer/MainWindow.xaml +++ b/plugins/LiveVisualizer/MainWindow.xaml @@ -107,7 +107,7 @@ + HorizontalAlignment="Left" Width="{Binding Display.PixelMapProgress}"/> diff --git a/plugins/LiveVisualizer/MainWindow.xaml.cs b/plugins/LiveVisualizer/MainWindow.xaml.cs index c6121ea0..191051f1 100644 --- a/plugins/LiveVisualizer/MainWindow.xaml.cs +++ b/plugins/LiveVisualizer/MainWindow.xaml.cs @@ -1,44 +1,83 @@ -using System.Windows; +using System.Runtime.Versioning; +using System.Windows; using System.Windows.Input; using System.Windows.Interop; using System.Windows.Media; +using ScottPlot; +using Color = System.Drawing.Color; namespace LiveVisualizer { /// /// Interaction logic for MainWindow.xaml /// + [SupportedOSPlatform("windows7.0")] public partial class MainWindow : Window { - //TODO: Resizing of transparent wpf window is not supported natively.(xaml) + private PlottableSignal BackgroundPlottable; + private PlottableSignal ForegroundPlottable; public MainWindow(IWpfVisualizerData data) { RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly; InitializeComponent(); - + this.frameholder.Visibility = Visibility.Hidden; + this.frameholderTimer.Visibility = Visibility.Hidden; this.DataContext = data; - this.frameholder.Content = new Chart(data, $"{nameof(IWpfVisualizerData.Configuration)}.{nameof(IWpfVisualizerData.Configuration.ChartColor)}", false); - this.frameholderTimer.Content = new Chart(data, $"{nameof(IWpfVisualizerData.Configuration)}.{nameof(IWpfVisualizerData.Configuration.ChartProgressColor)}", true); + var backgroundFill = ColorHelpers.Convert(data.Configuration.FillColor); + BackgroundPlottable = data.Display.BackgroundDataPlot.plt.PlotSignal(new double[] { 1, 10, 5, 15, 10, 5, 0 }, lineWidth: 3, markerSize: 0, color: backgroundFill); + BackgroundPlottable.fillColor1 = backgroundFill; + BackgroundPlottable.fillType = FillType.FillBelow; + + var foregroundFill = ColorHelpers.Convert(data.Configuration.ChartProgressColor); + ForegroundPlottable = data.Display.MainDataPlot.plt.PlotSignal(new double[] { 1, 10, 5, 15, 10, 5, 0 }, lineWidth: 3, markerSize: 0, color: foregroundFill); + ForegroundPlottable.fillColor1 = foregroundFill; + ForegroundPlottable.fillType = FillType.FillBelow; + + this.frameholder.Content = new Chart(new DataPlotBinding { WpfPlot = data.Display.BackgroundDataPlot, Data = data }); + this.frameholderTimer.Content = new Chart(new DataPlotBinding { WpfPlot = data.Display.MainDataPlot, Data = data }); } - public void ForceChartUpdate() + public void UpdateChart() { if (!Dispatcher.CheckAccess()) { - Dispatcher.Invoke(ForceChartUpdate); + Dispatcher.Invoke(UpdateChart); return; } + var data = (IWpfVisualizerData)DataContext; - ((Chart)frameholder.Content).chart.Update(); - ((Chart)frameholderTimer.Content).chart.Update(); + if (data.Display.Strains == null || data.Display.Strains.Count == 0) + { + this.frameholder.Visibility = Visibility.Hidden; + this.frameholderTimer.Visibility = Visibility.Hidden; + return; + } + this.frameholder.Visibility = Visibility.Visible; + this.frameholderTimer.Visibility = Visibility.Visible; + + var backgroundFill = ColorHelpers.Convert(data.Configuration.ChartColor); + var foregroundFill = ColorHelpers.Convert(data.Configuration.ChartProgressColor); + + BackgroundPlottable.ys = ForegroundPlottable.ys = data.Display.Strains.ToArray(); + BackgroundPlottable.maxRenderIndex = ForegroundPlottable.maxRenderIndex = BackgroundPlottable.ys.Length - 1; + BackgroundPlottable.samplePeriod = ForegroundPlottable.samplePeriod = 1.0 / BackgroundPlottable.sampleRate; + BackgroundPlottable.fillColor1 = BackgroundPlottable.color = backgroundFill; + ForegroundPlottable.fillColor1 = ForegroundPlottable.color = foregroundFill; + + data.Display.MainDataPlot.plt.Axis(0, data.Display.Strains.Count, 0, data.Configuration.MaxYValue); + data.Display.MainDataPlot.plt.Layout(0, 0, 0, 0, 0, 0, 0); + data.Display.MainDataPlot.Render(); + data.Display.BackgroundDataPlot.plt.Axis(0, data.Display.Strains.Count, 0, data.Configuration.MaxYValue); + data.Display.BackgroundDataPlot.plt.Layout(0, 0, 0, 0, 0, 0, 0); + data.Display.BackgroundDataPlot.Render(); } private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { DragMove(); } - + private void MainWindow_OnSizeChanged(object sender, SizeChangedEventArgs e) { var data = (IWpfVisualizerData)DataContext; diff --git a/plugins/LiveVisualizer/Models/DataPlotBinding.cs b/plugins/LiveVisualizer/Models/DataPlotBinding.cs new file mode 100644 index 00000000..45028689 --- /dev/null +++ b/plugins/LiveVisualizer/Models/DataPlotBinding.cs @@ -0,0 +1,14 @@ +using System.ComponentModel; +using ScottPlot; + +namespace LiveVisualizer +{ + public class DataPlotBinding : INotifyPropertyChanged + { +#pragma warning disable 0067 + public event PropertyChangedEventHandler PropertyChanged; +#pragma warning restore 0067 + public WpfPlot WpfPlot { get; set; } + public IWpfVisualizerData Data { get; set; } + } +} \ No newline at end of file diff --git a/plugins/LiveVisualizer/Models/Interfaces/IVisualizerConfiguration.cs b/plugins/LiveVisualizer/Models/Interfaces/IVisualizerConfiguration.cs index e538ed09..6b89c2a9 100644 --- a/plugins/LiveVisualizer/Models/Interfaces/IVisualizerConfiguration.cs +++ b/plugins/LiveVisualizer/Models/Interfaces/IVisualizerConfiguration.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.ComponentModel; using System.Windows.Media; @@ -20,6 +21,7 @@ public interface IVisualizerConfiguration : INotifyPropertyChanged double MaxYValue { get; set; } + [Obsolete] bool ShowAxisYSeparator { get; set; } double AxisYStep { get; set; } bool AutoSizeAxisY { get; set; } diff --git a/plugins/LiveVisualizer/Models/Interfaces/IVisualizerDisplayData.cs b/plugins/LiveVisualizer/Models/Interfaces/IVisualizerDisplayData.cs index f6634d74..fb5a8993 100644 --- a/plugins/LiveVisualizer/Models/Interfaces/IVisualizerDisplayData.cs +++ b/plugins/LiveVisualizer/Models/Interfaces/IVisualizerDisplayData.cs @@ -1,12 +1,14 @@ -using LiveCharts; +using System.Collections.Generic; using System.ComponentModel; namespace LiveVisualizer { public interface IVisualizerDisplayData : INotifyPropertyChanged { - ChartValues Strains { get; set; } - + List Strains { get; set; } + ScottPlot.WpfPlot MainDataPlot { get; } + ScottPlot.WpfPlot BackgroundDataPlot { get; } + string Title { get; set; } string Artist { get; set; } string ImageLocation { get; set; } diff --git a/plugins/LiveVisualizer/Models/VisualizerDataModel.cs b/plugins/LiveVisualizer/Models/VisualizerDataModel.cs index 026d2fa0..91cadd3e 100644 --- a/plugins/LiveVisualizer/Models/VisualizerDataModel.cs +++ b/plugins/LiveVisualizer/Models/VisualizerDataModel.cs @@ -1,7 +1,9 @@ using System.ComponentModel; +using System.Runtime.Versioning; namespace LiveVisualizer { + [SupportedOSPlatform("windows7.0")] public class VisualizerDataModel : IWpfVisualizerData { public IVisualizerDisplayData Display { get; set; } = new VisualizerDisplayData(); diff --git a/plugins/LiveVisualizer/Models/VisualizerDisplayData.cs b/plugins/LiveVisualizer/Models/VisualizerDisplayData.cs index cc7b0e0e..3d02095e 100644 --- a/plugins/LiveVisualizer/Models/VisualizerDisplayData.cs +++ b/plugins/LiveVisualizer/Models/VisualizerDisplayData.cs @@ -1,14 +1,18 @@ -using System.ComponentModel; -using LiveCharts; +using System.Collections.Generic; +using System.ComponentModel; +using System.Runtime.Versioning; namespace LiveVisualizer { + [SupportedOSPlatform("windows7.0")] public class VisualizerDisplayData : IVisualizerDisplayData { #pragma warning disable 0067 public event PropertyChangedEventHandler PropertyChanged; #pragma warning restore 0067 - public ChartValues Strains { get; set; } + public List Strains { get; set; } + public ScottPlot.WpfPlot MainDataPlot { get; } = new ScottPlot.WpfPlot(); + public ScottPlot.WpfPlot BackgroundDataPlot { get; } = new ScottPlot.WpfPlot(); public string Title { get; set; } public string Artist { get; set; } diff --git a/plugins/LiveVisualizer/packages.config b/plugins/LiveVisualizer/packages.config index d00a4662..c7c4d96a 100644 --- a/plugins/LiveVisualizer/packages.config +++ b/plugins/LiveVisualizer/packages.config @@ -1,18 +1,16 @@  - - - - - - - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/MSNEventSource/MSNEventSource.csproj b/plugins/MSNEventSource/MSNEventSource.csproj index 6976ce16..fe47f072 100644 --- a/plugins/MSNEventSource/MSNEventSource.csproj +++ b/plugins/MSNEventSource/MSNEventSource.csproj @@ -1,91 +1,40 @@ - - - + - Debug - AnyCPU - {0BE726DB-D370-4D9D-988A-2B79AF562283} + net5.0-windows Library - Properties - MSNEventSource - MSNEventSource - v4.7.1 - 512 - + false + true + false + false - - true - full - false + ..\..\build\Debug\Plugins\ - DEBUG;TRACE - prompt - 4 - false true - pdbonly - true ..\..\build\Release\Plugins\ - TRACE - prompt - 4 - false - true ..\..\build\Debug\Plugins\ - DEBUG;TRACE true - full - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset ..\..\build\Release\Plugins\ - TRACE - true - pdbonly - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset - - - - - - - - - - - - - + UserControl - - FirstRunMsn.cs - - - - - - - FirstRunMsn.cs - + 5.2.1 runtime + + - \ No newline at end of file diff --git a/plugins/MSNEventSource/packages.config b/plugins/MSNEventSource/packages.config index 8ff00452..335824bb 100644 --- a/plugins/MSNEventSource/packages.config +++ b/plugins/MSNEventSource/packages.config @@ -1,14 +1,14 @@  - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/ModImageGenerator/ModImageGenerator.csproj b/plugins/ModImageGenerator/ModImageGenerator.csproj index 11d6eb5e..e8b07012 100644 --- a/plugins/ModImageGenerator/ModImageGenerator.csproj +++ b/plugins/ModImageGenerator/ModImageGenerator.csproj @@ -1,87 +1,32 @@ - - - + - Debug - AnyCPU - {16BB58FA-897B-4A75-BEDC-D42428EB8312} + net5.0-windows Library - Properties - ModImageGenerator - ModImageGenerator - v4.7.1 - 512 - + false + true + false + false - - true - full - false + ..\..\build\Debug\Plugins\ - DEBUG;TRACE - prompt - 4 - false true - pdbonly - true ..\..\build\Release\Plugins\ - TRACE - prompt - 4 - false - true ..\..\build\Debug\Plugins\ - DEBUG;TRACE true - full - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset ..\..\build\Release\Plugins\ - TRACE - true - pdbonly - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - - - + UserControl - - ModImageGeneratorSettings.cs - - - - True - True - Resources.resx - @@ -104,19 +49,12 @@ - - ModImageGeneratorSettings.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - - - + 5.2.1 runtime + + - \ No newline at end of file diff --git a/plugins/ModImageGenerator/packages.config b/plugins/ModImageGenerator/packages.config index 8ff00452..335824bb 100644 --- a/plugins/ModImageGenerator/packages.config +++ b/plugins/ModImageGenerator/packages.config @@ -1,14 +1,14 @@  - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/ModsHandler/ModsHandler.csproj b/plugins/ModsHandler/ModsHandler.csproj index 82e52f60..fb71654b 100644 --- a/plugins/ModsHandler/ModsHandler.csproj +++ b/plugins/ModsHandler/ModsHandler.csproj @@ -1,93 +1,40 @@ - - - + - Debug - AnyCPU - {53702F40-8EDA-4A2B-ABBF-F85548FF7442} + net5.0-windows Library - Properties - ModsHandler - ModsHandler - v4.7.1 - 512 - + false + true + false + false - - true - full - false + ..\..\build\Debug\Plugins\ - DEBUG;TRACE - prompt - 4 - false true - pdbonly - true ..\..\build\Release\Plugins\ - TRACE - prompt - 4 - false - true ..\..\build\Debug\Plugins\ - DEBUG;TRACE true - full - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset ..\..\build\Release\Plugins\ - TRACE - true - pdbonly - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - - + UserControl - - ModParserSettings.cs - - - - - - - ModParserSettings.cs - + 5.2.1 runtime + + - \ No newline at end of file diff --git a/plugins/ModsHandler/packages.config b/plugins/ModsHandler/packages.config index 8ff00452..335824bb 100644 --- a/plugins/ModsHandler/packages.config +++ b/plugins/ModsHandler/packages.config @@ -1,14 +1,14 @@  - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/ModsHandlerTests/ModsHandlerTests.csproj b/plugins/ModsHandlerTests/ModsHandlerTests.csproj index a3fdc477..c4fb9131 100644 --- a/plugins/ModsHandlerTests/ModsHandlerTests.csproj +++ b/plugins/ModsHandlerTests/ModsHandlerTests.csproj @@ -1,52 +1,10 @@ - - + - Debug - AnyCPU - {1FCFBD79-804A-45BC-9433-C3F4B554A0AF} + net5.0-windows Library - Properties - ModsHandlerTests - ModsHandlerTests - v4.7.1 - 512 - {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - 10.0 - $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) - $(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages - False - UnitTest - - - + false + true - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - - - ..\..\packages\StreamCompanionTypes.4.0.3\lib\net471\StreamCompanionTypes.dll - - - - - - @@ -56,16 +14,10 @@ - - - - - - {53702F40-8EDA-4A2B-ABBF-F85548FF7442} - ModsHandler - + + 3.12.0 @@ -75,6 +27,8 @@ 5.2.1 + + @@ -94,13 +48,4 @@ - - - \ No newline at end of file diff --git a/plugins/ModsHandlerTests/packages.config b/plugins/ModsHandlerTests/packages.config index 045a7a59..fd103c0c 100644 --- a/plugins/ModsHandlerTests/packages.config +++ b/plugins/ModsHandlerTests/packages.config @@ -1,16 +1,16 @@  - - - - - - - - - - - - - + + + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/OsuMemoryEventSource/FirstRunMemoryCalibration.cs b/plugins/OsuMemoryEventSource/FirstRunMemoryCalibration.cs index c36d08b6..a85cdcbc 100644 --- a/plugins/OsuMemoryEventSource/FirstRunMemoryCalibration.cs +++ b/plugins/OsuMemoryEventSource/FirstRunMemoryCalibration.cs @@ -6,6 +6,7 @@ using System.Windows.Forms; using CollectionManager.DataTypes; using OsuMemoryDataProvider; +using StreamCompanion.Common; using StreamCompanionTypes; using StreamCompanionTypes.DataTypes; using StreamCompanionTypes.Enums; @@ -147,7 +148,7 @@ private void linkLabel_mapDL_LinkClicked(object sender, LinkLabelLinkClickedEven { try { - Process.Start(CurrentMap.DownloadLink); + ProcessExt.OpenUrl(CurrentMap.DownloadLink); } catch (Win32Exception) { diff --git a/plugins/OsuMemoryEventSource/LivePerformanceCalculator.cs b/plugins/OsuMemoryEventSource/LivePerformanceCalculator.cs index 7a253e26..3604ebea 100644 --- a/plugins/OsuMemoryEventSource/LivePerformanceCalculator.cs +++ b/plugins/OsuMemoryEventSource/LivePerformanceCalculator.cs @@ -51,6 +51,16 @@ public double PPIfRestFCed() return PpCalculator.Calculate(); //fc pp } + if (_currentPlayMode == PlayMode.CatchTheBeat) + { + PpCalculator.Goods = Play.C100; + PpCalculator.Mehs = null; + PpCalculator.Misses = Play.CMiss; + PpCalculator.Katsus = Play.CKatsu; + PpCalculator.Combo = Play.MaxCombo; + PpCalculator.Score = Play.Score; + } + var comboLeft = PpCalculator.GetMaxCombo((int)PlayTime); var newMaxCombo = Math.Max(Play.MaxCombo, comboLeft + Play.Combo); @@ -100,6 +110,8 @@ public double PPIfBeatmapWouldEndNow() AimPPIfBeatmapWouldEndNow = double.NaN; SpeedPPIfBeatmapWouldEndNow = double.NaN; break; + case PlayMode.CatchTheBeat: + break; default: AimPPIfBeatmapWouldEndNow = attribs["Aim"]; SpeedPPIfBeatmapWouldEndNow = attribs["Speed"]; diff --git a/plugins/OsuMemoryEventSource/MemoryDataProcessor.cs b/plugins/OsuMemoryEventSource/MemoryDataProcessor.cs index 8c30dbc8..b0f4cbad 100644 --- a/plugins/OsuMemoryEventSource/MemoryDataProcessor.cs +++ b/plugins/OsuMemoryEventSource/MemoryDataProcessor.cs @@ -381,7 +381,7 @@ private static StrainsResult GetStrains(string mapLocation, PlayMode? desiredPla time += interval; } } - else if (playMode == PlayMode.Osu || playMode == PlayMode.Taiko || playMode == PlayMode.OsuMania) + else { var a = new Dictionary(); diff --git a/plugins/OsuMemoryEventSource/OsuMemoryEventSource.csproj b/plugins/OsuMemoryEventSource/OsuMemoryEventSource.csproj index 810a64d4..3bc9cd8e 100644 --- a/plugins/OsuMemoryEventSource/OsuMemoryEventSource.csproj +++ b/plugins/OsuMemoryEventSource/OsuMemoryEventSource.csproj @@ -1,171 +1,65 @@ - - - - - Debug - x86 - {1A6D2DC6-163E-4BF3-8CE3-51ACC38A4A67} - Library - Properties - OsuMemoryEventSource - OsuMemoryEventSource - v4.7.1 - 512 - - PackageReference - - - true - full - false - bin\Debug_temp\ - DEBUG;TRACE - prompt - 4 - x86 - false - true - - - pdbonly - true - bin\Release_temp\ - TRACE - prompt - 4 - x86 - false - - - true - bin\Debug_temp\ - DEBUG;TRACE - true - full - x64 - 7.3 - prompt - MinimumRecommendedRules.ruleset - - - bin\Release_temp\ - TRACE - true - pdbonly - x64 - 7.3 - prompt - MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - - UserControl - - - FirstRunMemoryCalibration.cs - - - - - - UserControl - - - MemoryDataFinderSettings.cs - - - - - - - - - - - - {3d97e9c4-a884-4664-a40c-f19c4533aa00} - PpCalculator - - - {3d5b2dbb-615f-43e4-8f2b-c54f4d92dc41} - StreamCompanion.Common - False - - - - - FirstRunMemoryCalibration.cs - - - MemoryDataFinderSettings.cs - - - - - - - - 0.1.0 - - - 5.2.1 - runtime - - - - - mkdir "$(TargetDir)\..\$(ConfigurationName)" -mkdir "$(TargetDir)\..\$(ConfigurationName)\Dlls" - -copy "$(TargetDir)\FFmpeg.AutoGen.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\FFmpeg.AutoGen.dll" -copy "$(TargetDir)\Humanizer.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\Humanizer.dll" -copy "$(TargetDir)\JetBrains.Annotations.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\JetBrains.Annotations.dll" -copy "$(TargetDir)\ManagedBass.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\ManagedBass.dll" -copy "$(TargetDir)\ManagedBass.Fx.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\ManagedBass.Fx.dll" -copy "$(TargetDir)\Markdig.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\Markdig.dll" -copy "$(TargetDir)\netstandard.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\netstandard.dll" -copy "$(TargetDir)\Newtonsoft.Json.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\Newtonsoft.Json.dll" -copy "$(TargetDir)\nunit.framework.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\nunit.framework.dll" -copy "$(TargetDir)\osu.Framework.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\osu.Framework.dll" -copy "$(TargetDir)\osu.Game.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\osu.Game.dll" -copy "$(TargetDir)\osu.Game.Rulesets.Catch.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\osu.Game.Rulesets.Catch.dll" -copy "$(TargetDir)\osu.Game.Rulesets.Mania.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\osu.Game.Rulesets.Mania.dll" -copy "$(TargetDir)\osu.Game.Rulesets.Osu.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\osu.Game.Rulesets.Osu.dll" -copy "$(TargetDir)\osu.Game.Rulesets.Taiko.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\osu.Game.Rulesets.Taiko.dll" -copy "$(TargetDir)\osuTK.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\osuTK.dll" -copy "$(TargetDir)\PpCalculator.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\PpCalculator.dll" -copy "$(TargetDir)\Remotion.Linq.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\Remotion.Linq.dll" -copy "$(TargetDir)\SQLitePCLRaw.batteries_green.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\SQLitePCLRaw.batteries_green.dll" -copy "$(TargetDir)\SQLitePCLRaw.batteries_v2.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\SQLitePCLRaw.batteries_v2.dll" -copy "$(TargetDir)\SQLitePCLRaw.core.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\SQLitePCLRaw.core.dll" -copy "$(TargetDir)\SQLitePCLRaw.provider.e_sqlite3.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\SQLitePCLRaw.provider.e_sqlite3.dll" -copy "$(TargetDir)\System.Memory.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\System.Memory.dll" -copy "$(TargetDir)\System.ObjectModel.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\System.ObjectModel.dll" -copy "$(TargetDir)\System.Runtime.CompilerServices.Unsafe.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\System.Runtime.CompilerServices.Unsafe.dll" -copy "$(TargetDir)\System.Runtime.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\System.Runtime.dll" -copy "$(TargetDir)\System.Runtime.InteropServices.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\System.Runtime.InteropServices.dll" -copy "$(TargetDir)\System.Threading.Tasks.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\System.Threading.Tasks.dll" -copy "$(TargetDir)\System.ValueTuple.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\System.ValueTuple.dll" -copy "$(TargetDir)\System.Numerics.Vectors.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\System.Numerics.Vectors.dll" - - -copy "$(TargetDir)\OsuMemoryEventSource.dll" "$(TargetDir)\..\$(ConfigurationName)\OsuMemoryEventSource.dll" -copy "$(TargetDir)\ProcessMemoryDataFinder.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\ProcessMemoryDataFinder.dll" -copy "$(TargetDir)\OsuMemoryDataProvider.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\OsuMemoryDataProvider.dll" - -mkdir "$(SolutionDir)\build\$(ConfigurationName)\Plugins\Dlls" -copy "$(TargetDir)\..\$(ConfigurationName)\*" "$(SolutionDir)\build\$(ConfigurationName)\Plugins\" -copy "$(TargetDir)\..\$(ConfigurationName)\Dlls\*" "$(SolutionDir)\build\$(ConfigurationName)\Plugins\Dlls\" - + + + net5.0-windows + x86 + Library + false + true + false + true + false + + + bin\Debug_temp\ + true + + + bin\Release_temp\ + + + bin\Debug_temp\ + true + MinimumRecommendedRules.ruleset + + + bin\Release_temp\ + MinimumRecommendedRules.ruleset + + + bin\Debug_temp + x86 + + + bin\Release_temp + + + + UserControl + + + UserControl + + + + + + + + + + + + + + + 5.2.1 + runtime + + + + + + + + \ No newline at end of file diff --git a/plugins/OsuMemoryEventSource/packages.config b/plugins/OsuMemoryEventSource/packages.config index 5710d21a..5b7ca85f 100644 --- a/plugins/OsuMemoryEventSource/packages.config +++ b/plugins/OsuMemoryEventSource/packages.config @@ -1,4 +1,4 @@  - + \ No newline at end of file diff --git a/plugins/OsuSongsFolderWatcher/MemoryCacheHelpers.cs b/plugins/OsuSongsFolderWatcher/MemoryCacheHelpers.cs deleted file mode 100644 index 01f83764..00000000 --- a/plugins/OsuSongsFolderWatcher/MemoryCacheHelpers.cs +++ /dev/null @@ -1,32 +0,0 @@ -using System; -using System.Linq; -using System.Reflection; -using System.Runtime.Caching; - -namespace OsuSongsFolderWatcher -{ - public static class MemoryCacheHelpers - { - /// - /// By default implicitly removes cached items only after minimum of hardcoded 10 seconds(bucket size) - /// This modifies this behaviour to be instead ms using reflection - /// - /// true whenever field value change succeeds - public static bool IncreaseCachePoolingFrequency(int poolingFrequencyMs = 1000) - { - var currentAssembly = AppDomain.CurrentDomain.GetAssemblies().FirstOrDefault(x => x.FullName.StartsWith("System.Runtime.Caching,")); - if (currentAssembly != null) - { - var type = currentAssembly.DefinedTypes.FirstOrDefault(x => x.Name == "CacheExpires"); - var field = type?.GetField("_tsPerBucket", BindingFlags.Static | BindingFlags.NonPublic); - if (field != null) - { - field.SetValue(null, TimeSpan.FromMilliseconds(poolingFrequencyMs)); - return true; - } - } - - return false; - } - } -} \ No newline at end of file diff --git a/plugins/OsuSongsFolderWatcher/OsuSongsFolderWatcher.csproj b/plugins/OsuSongsFolderWatcher/OsuSongsFolderWatcher.csproj index c3119202..42cc5c63 100644 --- a/plugins/OsuSongsFolderWatcher/OsuSongsFolderWatcher.csproj +++ b/plugins/OsuSongsFolderWatcher/OsuSongsFolderWatcher.csproj @@ -1,84 +1,36 @@ - - - + - Debug - AnyCPU - {111A3460-AC37-402C-98B6-D6A1A6B5C214} + net5.0-windows Library - Properties - OsuSongsFolderWatcher - OsuSongsFolderWatcher - v4.7.1 - 512 - + true + false + false + false - - true - full - false + ..\..\build\Debug\Plugins\ - DEBUG;TRACE - prompt - 4 - false true - pdbonly - true ..\..\build\Release\Plugins\ - TRACE - prompt - 4 - false - true ..\..\build\Debug\Plugins\ - DEBUG;TRACE true - full - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset ..\..\build\Release\Plugins\ - TRACE - true - pdbonly - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - - - - - - - + 5.2.1 runtime + + + - \ No newline at end of file diff --git a/plugins/OsuSongsFolderWatcher/osuSongsFolderWatcher.cs b/plugins/OsuSongsFolderWatcher/osuSongsFolderWatcher.cs index f7ffef0e..6821780e 100644 --- a/plugins/OsuSongsFolderWatcher/osuSongsFolderWatcher.cs +++ b/plugins/OsuSongsFolderWatcher/osuSongsFolderWatcher.cs @@ -6,6 +6,7 @@ using System.Reflection; using System.Runtime.Caching; using System.Threading; +using System.Threading.Tasks; using System.Windows.Forms; using StreamCompanionTypes; using StreamCompanionTypes.DataTypes; @@ -25,14 +26,15 @@ class OsuSongsFolderWatcher : IPlugin, IDisposable, IOsuEventSource, IMapDataFin private ILogger _logger; private IDatabaseController _databaseController; private int _numberOfBeatmapsCurrentlyBeingLoaded = 0; - private Thread _consumerThread; + private Task _workerTask; + private CancellationTokenSource _cts = new CancellationTokenSource(); private readonly ConcurrentQueue filesChanged = new ConcurrentQueue(); private readonly MemoryCache memoryCache; private readonly CacheItemPolicy cacheItemPolicy; private void OnItemRemoved(CacheEntryRemovedArguments args) { - if (args.RemovedReason != CacheEntryRemovedReason.Expired) + if (args.RemovedReason != CacheEntryRemovedReason.Expired || args.CacheItem.Value is string) return; var fsEvent = (FileSystemEventArgs)args.CacheItem.Value; @@ -65,8 +67,11 @@ public OsuSongsFolderWatcher(ILogger logger, ISettings settings, IDatabaseContro if (Directory.Exists(dir)) { - MemoryCacheHelpers.IncreaseCachePoolingFrequency(); - memoryCache = MemoryCache.Default; + memoryCache = new MemoryCache("DelayedCache", new NameValueCollection + { + {"PollingInterval","00:00:01"}, + {"CacheMemoryLimitMegabytes","1"} + }); cacheItemPolicy = new CacheItemPolicy { RemovedCallback = OnItemRemoved, @@ -78,8 +83,7 @@ public OsuSongsFolderWatcher(ILogger logger, ISettings settings, IDatabaseContro _watcher.Created += Watcher_FileChanged; _watcher.IncludeSubdirectories = true; _watcher.EnableRaisingEvents = true; - _consumerThread = new Thread(ConsumerTask); - _consumerThread.Start(); + _workerTask = Task.Run(ConsumerTask); } else { @@ -99,61 +103,60 @@ private void Watcher_FileChanged(object sender, FileSystemEventArgs e) private void ConsumerTask() { - try + while (true) { - while (true) + //Forcefully queue removal of cache entries + //TODO: more than anything this is a hack, needs proper debounce logic instead of using memorycache. + memoryCache.Trim(100); + + if (_cts.IsCancellationRequested) + return; + if (filesChanged.TryDequeue(out var fsArgs)) { - memoryCache.Get("dummy"); - if (filesChanged.TryDequeue(out var fsArgs)) - { - _settings.Add(_names.LoadingRawBeatmaps.Name, true); - Interlocked.Increment(ref _numberOfBeatmapsCurrentlyBeingLoaded); - _logger.Log($">Processing beatmap located at {fsArgs.FullPath}", LogLevel.Debug); + _settings.Add(_names.LoadingRawBeatmaps.Name, true); + Interlocked.Increment(ref _numberOfBeatmapsCurrentlyBeingLoaded); + _logger.Log($">Processing beatmap located at {fsArgs.FullPath}", LogLevel.Debug); - var beatmap = BeatmapHelpers.ReadBeatmap(fsArgs.FullPath); + var beatmap = BeatmapHelpers.ReadBeatmap(fsArgs.FullPath); - _databaseController.StoreTempBeatmap(beatmap); + _databaseController.StoreTempBeatmap(beatmap); - _logger.Log(">Added new Temporary beatmap {0} - {1} [{2}]", LogLevel.Information, beatmap.ArtistRoman, - beatmap.TitleRoman, beatmap.DiffName); - if (Interlocked.Decrement(ref _numberOfBeatmapsCurrentlyBeingLoaded) == 0) - { - _settings.Add(_names.LoadingRawBeatmaps.Name, false); - } - - if (fsArgs.ChangeType == WatcherChangeTypes.Changed && lastMapSearchArgs != null - && ( - (lastMapSearchArgs.Artist == beatmap.Artist - && lastMapSearchArgs.Title == beatmap.Title - && lastMapSearchArgs.Diff == beatmap.DiffName - ) || lastMapSearchArgs.MapId == beatmap.MapId - )) + _logger.Log(">Added new Temporary beatmap {0} - {1} [{2}]", LogLevel.Information, beatmap.ArtistRoman, + beatmap.TitleRoman, beatmap.DiffName); + if (Interlocked.Decrement(ref _numberOfBeatmapsCurrentlyBeingLoaded) == 0) + { + _settings.Add(_names.LoadingRawBeatmaps.Name, false); + } + + if (fsArgs.ChangeType == WatcherChangeTypes.Changed && lastMapSearchArgs != null + && ( + (lastMapSearchArgs.Artist == beatmap.Artist + && lastMapSearchArgs.Title == beatmap.Title + && lastMapSearchArgs.Diff == beatmap.DiffName + ) || lastMapSearchArgs.MapId == beatmap.MapId + )) + { + NewOsuEvent?.Invoke(this, new MapSearchArgs($"OsuMemory-FolderWatcherReplay", OsuEventType.MapChange) { - NewOsuEvent?.Invoke(this, new MapSearchArgs($"OsuMemory-FolderWatcherReplay", OsuEventType.MapChange) - { - Artist = beatmap.Artist, - MapHash = beatmap.Md5, - Title = beatmap.Title, - Diff = beatmap.DiffName, - EventType = OsuEventType.MapChange, - PlayMode = beatmap.PlayMode, - Status = lastMapSearchArgs.Status, - MapId = beatmap.MapId > 0 ? beatmap.MapId : -123 - }); - } + Artist = beatmap.Artist, + MapHash = beatmap.Md5, + Title = beatmap.Title, + Diff = beatmap.DiffName, + EventType = OsuEventType.MapChange, + PlayMode = beatmap.PlayMode, + Status = lastMapSearchArgs.Status, + MapId = beatmap.MapId > 0 ? beatmap.MapId : -123 + }); } - Thread.Sleep(5); } - } - catch (ThreadAbortException) - { + Thread.Sleep(5); } } public void Dispose() { _watcher?.Dispose(); - _consumerThread?.Abort(); + _cts.Cancel(); } private IMapSearchArgs lastMapSearchArgs; diff --git a/plugins/OsuSongsFolderWatcher/packages.config b/plugins/OsuSongsFolderWatcher/packages.config index 8ff00452..335824bb 100644 --- a/plugins/OsuSongsFolderWatcher/packages.config +++ b/plugins/OsuSongsFolderWatcher/packages.config @@ -1,14 +1,14 @@  - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/PlaysReplacements/PlaysReplacements.csproj b/plugins/PlaysReplacements/PlaysReplacements.csproj index 635f7909..eadfeada 100644 --- a/plugins/PlaysReplacements/PlaysReplacements.csproj +++ b/plugins/PlaysReplacements/PlaysReplacements.csproj @@ -1,79 +1,35 @@ - - - + - Debug - AnyCPU - {3D20C5F7-1CFC-4313-8B21-D3FA298F82A9} + net5.0-windows Library - Properties - PlaysReplacements - PlaysReplacements - v4.7.1 - 512 - + false + true + false + false - - true - full - false + ..\..\build\Debug\Plugins\ - DEBUG;TRACE - prompt - 4 - false true - pdbonly - true ..\..\build\Release\Plugins\ - TRACE - prompt - 4 - false - true ..\..\build\Debug\Plugins\ - DEBUG;TRACE true - full - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset ..\..\build\Release\Plugins\ - TRACE - true - pdbonly - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - - + 5.2.1 runtime + + - \ No newline at end of file diff --git a/plugins/PlaysReplacements/packages.config b/plugins/PlaysReplacements/packages.config index 8ff00452..335824bb 100644 --- a/plugins/PlaysReplacements/packages.config +++ b/plugins/PlaysReplacements/packages.config @@ -1,14 +1,14 @@  - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/ScGui/AboutForm.Designer.cs b/plugins/ScGui/AboutForm.Designer.cs index de39b51c..4836b58d 100644 --- a/plugins/ScGui/AboutForm.Designer.cs +++ b/plugins/ScGui/AboutForm.Designer.cs @@ -39,19 +39,21 @@ private void InitializeComponent() // richTextBox1 // this.richTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None; - this.richTextBox1.Location = new System.Drawing.Point(82, 12); + this.richTextBox1.Location = new System.Drawing.Point(96, 14); + this.richTextBox1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.richTextBox1.Name = "richTextBox1"; this.richTextBox1.ScrollBars = System.Windows.Forms.RichTextBoxScrollBars.Vertical; - this.richTextBox1.Size = new System.Drawing.Size(322, 212); + this.richTextBox1.Size = new System.Drawing.Size(376, 245); this.richTextBox1.TabIndex = 0; this.richTextBox1.Text = ""; this.richTextBox1.LinkClicked += new System.Windows.Forms.LinkClickedEventHandler(this.richTextBox1_LinkClicked); // // pictureBox1 // - this.pictureBox1.Location = new System.Drawing.Point(12, 12); + this.pictureBox1.Location = new System.Drawing.Point(14, 14); + this.pictureBox1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.pictureBox1.Name = "pictureBox1"; - this.pictureBox1.Size = new System.Drawing.Size(64, 64); + this.pictureBox1.Size = new System.Drawing.Size(75, 74); this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.StretchImage; this.pictureBox1.TabIndex = 1; this.pictureBox1.TabStop = false; @@ -59,10 +61,11 @@ private void InitializeComponent() // pictureBox2 // this.pictureBox2.Cursor = System.Windows.Forms.Cursors.Hand; - this.pictureBox2.Image = global::ScGui.Properties.Resources.btn_donate_92x26; - this.pictureBox2.Location = new System.Drawing.Point(12, 82); + this.pictureBox2.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox2.Image"))); + this.pictureBox2.Location = new System.Drawing.Point(14, 95); + this.pictureBox2.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.pictureBox2.Name = "pictureBox2"; - this.pictureBox2.Size = new System.Drawing.Size(64, 23); + this.pictureBox2.Size = new System.Drawing.Size(75, 27); this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom; this.pictureBox2.TabIndex = 2; this.pictureBox2.TabStop = false; @@ -70,14 +73,15 @@ private void InitializeComponent() // // AboutForm // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.ClientSize = new System.Drawing.Size(416, 236); + this.ClientSize = new System.Drawing.Size(485, 272); this.Controls.Add(this.pictureBox2); this.Controls.Add(this.pictureBox1); this.Controls.Add(this.richTextBox1); this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog; this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.MaximizeBox = false; this.Name = "AboutForm"; this.Text = "About"; diff --git a/plugins/ScGui/AboutForm.cs b/plugins/ScGui/AboutForm.cs index 075ef0b9..712f5014 100644 --- a/plugins/ScGui/AboutForm.cs +++ b/plugins/ScGui/AboutForm.cs @@ -1,4 +1,5 @@ using System.Windows.Forms; +using StreamCompanion.Common; namespace ScGui { @@ -26,12 +27,12 @@ Newtonsoft.Json by JamesNK private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e) { - System.Diagnostics.Process.Start(e.LinkText); + ProcessExt.OpenUrl(e.LinkText); } private void pictureBox2_Click(object sender, System.EventArgs e) { - System.Diagnostics.Process.Start(@"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CX2ZC3JKVAK74"); + ProcessExt.OpenUrl(@"https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CX2ZC3JKVAK74"); } } } diff --git a/plugins/ScGui/AboutForm.resx b/plugins/ScGui/AboutForm.resx index b45592d2..ec70e56d 100644 --- a/plugins/ScGui/AboutForm.resx +++ b/plugins/ScGui/AboutForm.resx @@ -1,64 +1,4 @@ - - - + @@ -117,8 +57,37 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + + + + iVBORw0KGgoAAAANSUhEUgAAAFwAAAAaCAYAAAA67jspAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 + YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAFJ0lEQVRoQ+2XX1AVVRzHzzQ9 + 9eBDj7000/8QNcG0TApB0lsoKoSMyUCJAaYkFAxmCyYZaZcwmMZYm7zmnyugxniVINTLZIrTLXJquqVp + XrB0iMYyuzYx0Lff7yx73Yvb2+E+7cNn9vz+nXP2u7vnnBUABML9GDldjuGjT2C4c5qDSkhT1pY1Zq0F + /gph+Mhs/PtjE3DtAnB9wEElpClryxqz1mK4txwjZ94DBj8DLvuAS20OKmFNSVvWmLUWQ58mAX27gYt7 + HcaT/j0Y6pwF8c/hBCDkcYgBrLX42zcVOL/VIQaw1uL6wYeAs3UOMYC1FuG2KUCwRjl6TQ4SExOjcM2Z + CXdlJoKHSm1rxptA6yqEjlbYxmIBay2uHZgMfFupHH1ToRTZ/3F9BN+uN5CbPc/we/Jt68YTHtfXVGAb + iwWstfhz3yTg69XK0WuXyxvEmc03OFsP/Lwf2iv5Mjbof8G2dryQgm9baRuLBay1uNoaDwSeV47+Zp4h + uE0s2LXRuPnGLGmHj+fBW/s0chfOlH6+sm2tkfnvLoBWNFu2XSkzpG3GuQ+9al6kD46bfQRbl0ifFbOO + Y9Y+uQ/uy4yrhLUWvzdPBE4tUY6+cZlxYzaxcM9KGdNrsqWtFSUbNi1D/n20/o8uR1rh45Eathn3uqUy + x11lPIRgM4lOcffLqbRHPAbf9nKjj83FMh7wpMvx2CfrqwsQaKevjWq41tqnz1Mp++D5mOOqhLUWV7xx + wOfpyjE3TbsYTi6WMc4J7nlStv0t62lj2QCcXiOvbLOf41zDba1sKfDDW0YOXdnna8iQcW11BvzNrwHf + 0KZI8XBvlRFvzJTjsU/aTbSM9dKywjXFKfLBRfqk2tDJ+qhxVcJai992Pwh003++YvQNWXLidrFwp/FG + e9058NW7ZDt8gjYzaw7ZUiCKsy3bTSuicqSv8RnD/r4WgV050CsfhVYwA67ZD0fHx+aP2v+HOa5KWGvx + 684HgCPTlaOvXygnbhcLNBnrbGD3s/SGjuYdS4rOI1veOMXZtrZNrD69Ypq0eVz/jhUIdlTfVDPWdqUl + QVuTDb+38iZCh5ZF8lTBWouBHfcDnbRxKkavni9vcKw/fDAeuRn0BqbNQvjYAgRbjC/BX0f/A5Y8ttnP + cbalWFvo07TkWH3c9jYU0XKxCujJRrhr7k01Y22tZBFK8ubIfJPBjsU0v0cQ/Ij2j9E8VbDW4vL2+4D2 + u5WjVxlLhf/tuAjedfFwJSdIf2B/GU2CNuzuZGgvja7pZZNkHl/ZZj/HuT8p1jtzo8aw+nKzUuUJhet9 + NRORm26M4y5NxuDeeyP5vBEHGmkZJTvUaWysWv6UyBxLcuiUlMlLgDGuSlhrcelDmozvDuXomrEZWnGl + TJd/mqHuKmNdG80N97wI75bl0cdCstlv5rDfV5cascf6gr7VKMlPM+rpC/J7CuiklCvt0E56sJTDfbLN + yD66piL4yVpoK406XvfdFfMR/vLVyBgqYa3FLx/cA7Tdrp5TfKLYFM13rwNfPAd00MnImssTOrGITglr + jTy+ss1+M4f9x5+KrrP6uhLopFF6o54fqDkHczzuk23G7IPrvio2fOb8rOMqhLUWF3US/MBtDjGAtRb9 + TbS+tN7qEANYa9G39S6gRTjEANZa9G2bhJHmW2wTHNTBGvfp9Gs/0F6Eqzsm2CY5qIM1Zq3F0JVzuKBP + xh+eCc6bPg6wpqwta8xak5dFP4/Lhwvx0/txONdwp4NCWFPWljUGIP4DWjaiyf3MZJ8AAAAASUVORK5C + YII= + + + AAABAAUAGBgAAAEAIACICQAAVgAAACAgAAABACAAqBAAAN4JAABAQAAAAQAgAChCAACGGgAAgIAAAAEA IAAoCAEArlwAAAAAAAABACAAhFAAANZkAQAoAAAAGAAAADAAAAABACAAAAAAAAAJAADXDQAA1w0AAAAA diff --git a/plugins/ScGui/MainWindow.xaml.cs b/plugins/ScGui/MainWindow.xaml.cs index ca67dda4..c8a66cb1 100644 --- a/plugins/ScGui/MainWindow.xaml.cs +++ b/plugins/ScGui/MainWindow.xaml.cs @@ -36,7 +36,7 @@ public MainWindow(IMainWindowModel data, ISettings settings) public void SetTheme(string themeName) { - if (themeName == "System default") + if (themeName == "System default" && OperatingSystem.IsWindows()) themeName = WindowsThemeHelper.GetWindowsTheme() == WindowsThemeHelper.WindowsTheme.Light ? "Light" : "Dark"; diff --git a/plugins/ScGui/ScGui.csproj b/plugins/ScGui/ScGui.csproj index 0aae02ff..9fb182ea 100644 --- a/plugins/ScGui/ScGui.csproj +++ b/plugins/ScGui/ScGui.csproj @@ -1,148 +1,60 @@ - - - + - Debug - AnyCPU - {4FAB5F27-FF28-4A41-BDD7-1BFF4D0DC71E} + net5.0-windows Library - Properties - ScGui - ScGui - v4.7.1 - 512 - + false + true + true + false + false - true - full - false ..\..\build\Debug\Plugins\ - DEBUG;TRACE - prompt - 4 - false true - pdbonly - true ..\..\build\Release\Plugins\ - TRACE - prompt - 4 - false true - true ..\..\build\Debug\Plugins\ - DEBUG;TRACE true - full - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset ..\..\build\Release\Plugins\ - TRACE - true - pdbonly - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - - Form - - - AboutForm.cs - - - - - MainWindow.xaml - - - - - True + True + True Resources.resx - + UserControl - - ScGuiSettings.cs - - - Form - - - SettingsForm.cs - - - - AboutForm.cs - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - ScGuiSettings.cs - - - SettingsForm.cs - - - - - - - - - MSBuild:Compile - Designer - - - Designer - MSBuild:Compile - - - Designer - MSBuild:Compile - + 5.2.1 runtime + + + + + + + + ResXFileCodeGenerator + Resources.Designer.cs + - \ No newline at end of file diff --git a/plugins/ScGui/WindowsTheme.cs b/plugins/ScGui/WindowsTheme.cs index 01e5986c..4d9896a0 100644 --- a/plugins/ScGui/WindowsTheme.cs +++ b/plugins/ScGui/WindowsTheme.cs @@ -1,5 +1,6 @@ using System; using System.Globalization; +using System.Runtime.Versioning; using System.Security.Principal; using Microsoft.Win32; @@ -17,6 +18,7 @@ public enum WindowsTheme Dark } + [SupportedOSPlatform("windows")] public static WindowsTheme GetWindowsTheme() { var currentUser = WindowsIdentity.GetCurrent(); diff --git a/plugins/ScGui/packages.config b/plugins/ScGui/packages.config index 8ff00452..335824bb 100644 --- a/plugins/ScGui/packages.config +++ b/plugins/ScGui/packages.config @@ -1,14 +1,14 @@  - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/TcpSocketDataSender/TcpSocketDataSender.csproj b/plugins/TcpSocketDataSender/TcpSocketDataSender.csproj index 36504ce0..6f7231dc 100644 --- a/plugins/TcpSocketDataSender/TcpSocketDataSender.csproj +++ b/plugins/TcpSocketDataSender/TcpSocketDataSender.csproj @@ -1,95 +1,40 @@ - - - + - Debug - AnyCPU - {50E3D207-3812-433A-8F9A-757FF55C991A} + net5.0-windows Library - Properties - TcpSocketDataSender - TcpSocketDataSender - v4.7.1 - 512 - + false + true + false + false - - true - full - false + ..\..\build\Debug\Plugins\ - DEBUG;TRACE - prompt - 4 - false true - pdbonly - true ..\..\build\Release\Plugins\ - TRACE - prompt - 4 - false - true ..\..\build\Debug\Plugins\ - DEBUG;TRACE true - full - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset ..\..\build\Release\Plugins\ - TRACE - true - pdbonly - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - - - - - - + UserControl - - TcpSocketSettings.cs - - - - - TcpSocketSettings.cs - + 5.2.1 runtime + + - \ No newline at end of file diff --git a/plugins/TcpSocketDataSender/packages.config b/plugins/TcpSocketDataSender/packages.config index 8ff00452..335824bb 100644 --- a/plugins/TcpSocketDataSender/packages.config +++ b/plugins/TcpSocketDataSender/packages.config @@ -1,14 +1,14 @@  - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/WebSocketDataSender/HttpServer.cs b/plugins/WebSocketDataSender/HttpServer.cs index 3c770808..1cf57604 100644 --- a/plugins/WebSocketDataSender/HttpServer.cs +++ b/plugins/WebSocketDataSender/HttpServer.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.IO; using System.Linq; -using System.Runtime.Remoting.Messaging; using System.Text; using System.Threading.Tasks; using EmbedIO; diff --git a/plugins/WebSocketDataSender/WebOverlay/WebOverlay.cs b/plugins/WebSocketDataSender/WebOverlay/WebOverlay.cs index 8f1e589a..3201bbe8 100644 --- a/plugins/WebSocketDataSender/WebOverlay/WebOverlay.cs +++ b/plugins/WebSocketDataSender/WebOverlay/WebOverlay.cs @@ -3,6 +3,7 @@ using System.Diagnostics; using System.Drawing; using Newtonsoft.Json; +using StreamCompanion.Common; using StreamCompanionTypes.DataTypes; using StreamCompanionTypes.Interfaces.Services; using WebSocketDataSender.WebOverlay.Models; @@ -86,7 +87,7 @@ public object GetUiSettings() var webUrl = WebSocketDataGetter.BaseAddress(_settings); _webOverlaySettings = new WebOverlaySettings(_settings, OverlayConfiguration); _webOverlaySettings.ResetSettings += (_, __) => ResetSettings(); - _webOverlaySettings.OpenWebUrl += (_, __) => Process.Start(webUrl); + _webOverlaySettings.OpenWebUrl += (_, __) => ProcessExt.OpenUrl(webUrl); _webOverlaySettings.OpenFilesFolder += (_, __) => Process.Start("explorer.exe", filesLocation); _webOverlaySettings.FilesLocation = filesLocation; _webOverlaySettings.WebUrl = webUrl; diff --git a/plugins/WebSocketDataSender/WebOverlay/WebOverlaySettings.Designer.cs b/plugins/WebSocketDataSender/WebOverlay/WebOverlaySettings.Designer.cs index 2c149ddf..00e10948 100644 --- a/plugins/WebSocketDataSender/WebOverlay/WebOverlaySettings.Designer.cs +++ b/plugins/WebSocketDataSender/WebOverlay/WebOverlaySettings.Designer.cs @@ -29,6 +29,8 @@ protected override void Dispose(bool disposing) private void InitializeComponent() { this.panel1 = new System.Windows.Forms.Panel(); + this.textBox_remoteAccessUrl = new System.Windows.Forms.TextBox(); + this.button_remoteOverlay = new System.Windows.Forms.Button(); this.checkBox_hideChartLegend = new System.Windows.Forms.CheckBox(); this.checkBox_hideMapStats = new System.Windows.Forms.CheckBox(); this.checkBox_hideDiffText = new System.Windows.Forms.CheckBox(); @@ -49,8 +51,6 @@ private void InitializeComponent() this.button_openFilesLocation = new System.Windows.Forms.Button(); this.label_webUrl = new System.Windows.Forms.Label(); this.label_localFiles = new System.Windows.Forms.Label(); - this.button_remoteOverlay = new System.Windows.Forms.Button(); - this.textBox_remoteAccessUrl = new System.Windows.Forms.TextBox(); this.panel1.SuspendLayout(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_chartHeight)).BeginInit(); this.groupBox_chartColors.SuspendLayout(); @@ -69,17 +69,40 @@ private void InitializeComponent() this.panel1.Controls.Add(this.label6); this.panel1.Controls.Add(this.numericUpDown_chartHeight); this.panel1.Controls.Add(this.groupBox_chartColors); - this.panel1.Location = new System.Drawing.Point(0, 61); + this.panel1.Location = new System.Drawing.Point(0, 70); + this.panel1.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.panel1.Name = "panel1"; - this.panel1.Size = new System.Drawing.Size(650, 311); + this.panel1.Size = new System.Drawing.Size(758, 359); this.panel1.TabIndex = 1; // + // textBox_remoteAccessUrl + // + this.textBox_remoteAccessUrl.Location = new System.Drawing.Point(250, 155); + this.textBox_remoteAccessUrl.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.textBox_remoteAccessUrl.Name = "textBox_remoteAccessUrl"; + this.textBox_remoteAccessUrl.ReadOnly = true; + this.textBox_remoteAccessUrl.Size = new System.Drawing.Size(235, 23); + this.textBox_remoteAccessUrl.TabIndex = 59; + // + // button_remoteOverlay + // + this.button_remoteOverlay.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); + this.button_remoteOverlay.Location = new System.Drawing.Point(12, 153); + this.button_remoteOverlay.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.button_remoteOverlay.Name = "button_remoteOverlay"; + this.button_remoteOverlay.Size = new System.Drawing.Size(230, 27); + this.button_remoteOverlay.TabIndex = 58; + this.button_remoteOverlay.Text = "Enable remote access"; + this.button_remoteOverlay.UseVisualStyleBackColor = true; + this.button_remoteOverlay.Click += new System.EventHandler(this.button_remoteOverlay_Click); + // // checkBox_hideChartLegend // this.checkBox_hideChartLegend.AutoSize = true; - this.checkBox_hideChartLegend.Location = new System.Drawing.Point(10, 232); + this.checkBox_hideChartLegend.Location = new System.Drawing.Point(12, 268); + this.checkBox_hideChartLegend.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.checkBox_hideChartLegend.Name = "checkBox_hideChartLegend"; - this.checkBox_hideChartLegend.Size = new System.Drawing.Size(110, 17); + this.checkBox_hideChartLegend.Size = new System.Drawing.Size(120, 19); this.checkBox_hideChartLegend.TabIndex = 57; this.checkBox_hideChartLegend.Text = "Hide chart legend"; this.checkBox_hideChartLegend.UseVisualStyleBackColor = true; @@ -87,9 +110,10 @@ private void InitializeComponent() // checkBox_hideMapStats // this.checkBox_hideMapStats.AutoSize = true; - this.checkBox_hideMapStats.Location = new System.Drawing.Point(10, 209); + this.checkBox_hideMapStats.Location = new System.Drawing.Point(12, 241); + this.checkBox_hideMapStats.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.checkBox_hideMapStats.Name = "checkBox_hideMapStats"; - this.checkBox_hideMapStats.Size = new System.Drawing.Size(96, 17); + this.checkBox_hideMapStats.Size = new System.Drawing.Size(105, 19); this.checkBox_hideMapStats.TabIndex = 56; this.checkBox_hideMapStats.Text = "Hide map stats"; this.checkBox_hideMapStats.UseVisualStyleBackColor = true; @@ -97,9 +121,10 @@ private void InitializeComponent() // checkBox_hideDiffText // this.checkBox_hideDiffText.AutoSize = true; - this.checkBox_hideDiffText.Location = new System.Drawing.Point(10, 186); + this.checkBox_hideDiffText.Location = new System.Drawing.Point(12, 215); + this.checkBox_hideDiffText.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.checkBox_hideDiffText.Name = "checkBox_hideDiffText"; - this.checkBox_hideDiffText.Size = new System.Drawing.Size(197, 17); + this.checkBox_hideDiffText.Size = new System.Drawing.Size(226, 19); this.checkBox_hideDiffText.TabIndex = 55; this.checkBox_hideDiffText.Text = "Hide artist/title/mapper/difficulty text"; this.checkBox_hideDiffText.UseVisualStyleBackColor = true; @@ -107,9 +132,10 @@ private void InitializeComponent() // button_miniCounter // this.button_miniCounter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.button_miniCounter.Location = new System.Drawing.Point(456, 282); + this.button_miniCounter.Location = new System.Drawing.Point(532, 325); + this.button_miniCounter.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.button_miniCounter.Name = "button_miniCounter"; - this.button_miniCounter.Size = new System.Drawing.Size(81, 23); + this.button_miniCounter.Size = new System.Drawing.Size(94, 27); this.button_miniCounter.TabIndex = 50; this.button_miniCounter.Text = "Mini counter"; this.button_miniCounter.UseVisualStyleBackColor = true; @@ -118,9 +144,10 @@ private void InitializeComponent() // button_reset // this.button_reset.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.button_reset.Location = new System.Drawing.Point(543, 282); + this.button_reset.Location = new System.Drawing.Point(634, 325); + this.button_reset.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.button_reset.Name = "button_reset"; - this.button_reset.Size = new System.Drawing.Size(97, 23); + this.button_reset.Size = new System.Drawing.Size(113, 27); this.button_reset.TabIndex = 49; this.button_reset.Text = "Reset to defaults"; this.button_reset.UseVisualStyleBackColor = true; @@ -129,9 +156,10 @@ private void InitializeComponent() // checkBox_simulatePP // this.checkBox_simulatePP.AutoSize = true; - this.checkBox_simulatePP.Location = new System.Drawing.Point(10, 163); + this.checkBox_simulatePP.Location = new System.Drawing.Point(12, 188); + this.checkBox_simulatePP.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.checkBox_simulatePP.Name = "checkBox_simulatePP"; - this.checkBox_simulatePP.Size = new System.Drawing.Size(151, 17); + this.checkBox_simulatePP.Size = new System.Drawing.Size(169, 19); this.checkBox_simulatePP.TabIndex = 45; this.checkBox_simulatePP.Text = "Simulate pp when listening"; this.checkBox_simulatePP.UseVisualStyleBackColor = true; @@ -139,22 +167,24 @@ private void InitializeComponent() // label6 // this.label6.AutoSize = true; - this.label6.Location = new System.Drawing.Point(7, 260); + this.label6.Location = new System.Drawing.Point(8, 300); + this.label6.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label6.Name = "label6"; - this.label6.Size = new System.Drawing.Size(67, 13); + this.label6.Size = new System.Drawing.Size(76, 15); this.label6.TabIndex = 44; this.label6.Text = "Chart height:"; // // numericUpDown_chartHeight // - this.numericUpDown_chartHeight.Location = new System.Drawing.Point(80, 256); + this.numericUpDown_chartHeight.Location = new System.Drawing.Point(93, 295); + this.numericUpDown_chartHeight.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.numericUpDown_chartHeight.Maximum = new decimal(new int[] { 5000, 0, 0, 0}); this.numericUpDown_chartHeight.Name = "numericUpDown_chartHeight"; - this.numericUpDown_chartHeight.Size = new System.Drawing.Size(66, 20); + this.numericUpDown_chartHeight.Size = new System.Drawing.Size(77, 23); this.numericUpDown_chartHeight.TabIndex = 43; this.numericUpDown_chartHeight.Value = new decimal(new int[] { 150, @@ -171,9 +201,11 @@ private void InitializeComponent() this.groupBox_chartColors.Controls.Add(this.color_chartPrimary); this.groupBox_chartColors.Controls.Add(this.color_chartProgress); this.groupBox_chartColors.Controls.Add(this.color_imageDimming); - this.groupBox_chartColors.Location = new System.Drawing.Point(4, 4); + this.groupBox_chartColors.Location = new System.Drawing.Point(5, 5); + this.groupBox_chartColors.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.groupBox_chartColors.Name = "groupBox_chartColors"; - this.groupBox_chartColors.Size = new System.Drawing.Size(636, 123); + this.groupBox_chartColors.Padding = new System.Windows.Forms.Padding(4, 3, 4, 3); + this.groupBox_chartColors.Size = new System.Drawing.Size(742, 142); this.groupBox_chartColors.TabIndex = 42; this.groupBox_chartColors.TabStop = false; this.groupBox_chartColors.Text = "Chart colors"; @@ -187,12 +219,13 @@ private void InitializeComponent() this.color_ppBackground.LabelDesigner.AutoSize = true; this.color_ppBackground.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_ppBackground.LabelDesigner.Name = "Label"; - this.color_ppBackground.LabelDesigner.Size = new System.Drawing.Size(81, 13); + this.color_ppBackground.LabelDesigner.Size = new System.Drawing.Size(88, 15); this.color_ppBackground.LabelDesigner.TabIndex = 1; this.color_ppBackground.LabelDesigner.Text = "PP background"; - this.color_ppBackground.Location = new System.Drawing.Point(302, 19); + this.color_ppBackground.Location = new System.Drawing.Point(352, 22); + this.color_ppBackground.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_ppBackground.Name = "color_ppBackground"; - this.color_ppBackground.Size = new System.Drawing.Size(298, 21); + this.color_ppBackground.Size = new System.Drawing.Size(348, 25); this.color_ppBackground.TabIndex = 43; // // color_hit100Background @@ -204,12 +237,13 @@ private void InitializeComponent() this.color_hit100Background.LabelDesigner.AutoSize = true; this.color_hit100Background.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_hit100Background.LabelDesigner.Name = "Label"; - this.color_hit100Background.LabelDesigner.Size = new System.Drawing.Size(96, 13); + this.color_hit100Background.LabelDesigner.Size = new System.Drawing.Size(106, 15); this.color_hit100Background.LabelDesigner.TabIndex = 1; this.color_hit100Background.LabelDesigner.Text = "hit100 background"; - this.color_hit100Background.Location = new System.Drawing.Point(302, 43); + this.color_hit100Background.Location = new System.Drawing.Point(352, 50); + this.color_hit100Background.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_hit100Background.Name = "color_hit100Background"; - this.color_hit100Background.Size = new System.Drawing.Size(298, 21); + this.color_hit100Background.Size = new System.Drawing.Size(348, 25); this.color_hit100Background.TabIndex = 44; // // color_hit50Background @@ -221,12 +255,12 @@ private void InitializeComponent() this.color_hit50Background.LabelDesigner.AutoSize = true; this.color_hit50Background.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_hit50Background.LabelDesigner.Name = "Label"; - this.color_hit50Background.LabelDesigner.Size = new System.Drawing.Size(90, 13); this.color_hit50Background.LabelDesigner.TabIndex = 1; this.color_hit50Background.LabelDesigner.Text = "hit50 background"; - this.color_hit50Background.Location = new System.Drawing.Point(302, 67); + this.color_hit50Background.Location = new System.Drawing.Point(352, 77); + this.color_hit50Background.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_hit50Background.Name = "color_hit50Background"; - this.color_hit50Background.Size = new System.Drawing.Size(298, 21); + this.color_hit50Background.Size = new System.Drawing.Size(348, 25); this.color_hit50Background.TabIndex = 45; // // color_hitMissBackground @@ -238,12 +272,13 @@ private void InitializeComponent() this.color_hitMissBackground.LabelDesigner.AutoSize = true; this.color_hitMissBackground.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_hitMissBackground.LabelDesigner.Name = "Label"; - this.color_hitMissBackground.LabelDesigner.Size = new System.Drawing.Size(99, 13); + this.color_hitMissBackground.LabelDesigner.Size = new System.Drawing.Size(112, 15); this.color_hitMissBackground.LabelDesigner.TabIndex = 1; this.color_hitMissBackground.LabelDesigner.Text = "hitMiss background"; - this.color_hitMissBackground.Location = new System.Drawing.Point(302, 91); + this.color_hitMissBackground.Location = new System.Drawing.Point(352, 105); + this.color_hitMissBackground.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_hitMissBackground.Name = "color_hitMissBackground"; - this.color_hitMissBackground.Size = new System.Drawing.Size(298, 21); + this.color_hitMissBackground.Size = new System.Drawing.Size(348, 25); this.color_hitMissBackground.TabIndex = 46; // // color_chartPrimary @@ -255,12 +290,13 @@ private void InitializeComponent() this.color_chartPrimary.LabelDesigner.AutoSize = true; this.color_chartPrimary.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_chartPrimary.LabelDesigner.Name = "Label"; - this.color_chartPrimary.LabelDesigner.Size = new System.Drawing.Size(68, 13); + this.color_chartPrimary.LabelDesigner.Size = new System.Drawing.Size(78, 15); this.color_chartPrimary.LabelDesigner.TabIndex = 1; this.color_chartPrimary.LabelDesigner.Text = "Primary chart"; - this.color_chartPrimary.Location = new System.Drawing.Point(6, 19); + this.color_chartPrimary.Location = new System.Drawing.Point(7, 22); + this.color_chartPrimary.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_chartPrimary.Name = "color_chartPrimary"; - this.color_chartPrimary.Size = new System.Drawing.Size(290, 21); + this.color_chartPrimary.Size = new System.Drawing.Size(338, 25); this.color_chartPrimary.TabIndex = 0; // // color_chartProgress @@ -272,12 +308,13 @@ private void InitializeComponent() this.color_chartProgress.LabelDesigner.AutoSize = true; this.color_chartProgress.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_chartProgress.LabelDesigner.Name = "Label"; - this.color_chartProgress.LabelDesigner.Size = new System.Drawing.Size(75, 13); + this.color_chartProgress.LabelDesigner.Size = new System.Drawing.Size(84, 15); this.color_chartProgress.LabelDesigner.TabIndex = 1; this.color_chartProgress.LabelDesigner.Text = "Chart progress"; - this.color_chartProgress.Location = new System.Drawing.Point(6, 43); + this.color_chartProgress.Location = new System.Drawing.Point(7, 50); + this.color_chartProgress.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_chartProgress.Name = "color_chartProgress"; - this.color_chartProgress.Size = new System.Drawing.Size(290, 21); + this.color_chartProgress.Size = new System.Drawing.Size(338, 25); this.color_chartProgress.TabIndex = 1; // // color_imageDimming @@ -289,19 +326,21 @@ private void InitializeComponent() this.color_imageDimming.LabelDesigner.AutoSize = true; this.color_imageDimming.LabelDesigner.Location = new System.Drawing.Point(3, 6); this.color_imageDimming.LabelDesigner.Name = "Label"; - this.color_imageDimming.LabelDesigner.Size = new System.Drawing.Size(77, 13); + this.color_imageDimming.LabelDesigner.Size = new System.Drawing.Size(92, 15); this.color_imageDimming.LabelDesigner.TabIndex = 1; this.color_imageDimming.LabelDesigner.Text = "Image dimming"; - this.color_imageDimming.Location = new System.Drawing.Point(6, 67); + this.color_imageDimming.Location = new System.Drawing.Point(7, 77); + this.color_imageDimming.Margin = new System.Windows.Forms.Padding(5, 3, 5, 3); this.color_imageDimming.Name = "color_imageDimming"; - this.color_imageDimming.Size = new System.Drawing.Size(290, 21); + this.color_imageDimming.Size = new System.Drawing.Size(338, 25); this.color_imageDimming.TabIndex = 40; // // button_openInBrowser // - this.button_openInBrowser.Location = new System.Drawing.Point(4, 3); + this.button_openInBrowser.Location = new System.Drawing.Point(5, 3); + this.button_openInBrowser.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.button_openInBrowser.Name = "button_openInBrowser"; - this.button_openInBrowser.Size = new System.Drawing.Size(194, 23); + this.button_openInBrowser.Size = new System.Drawing.Size(226, 27); this.button_openInBrowser.TabIndex = 3; this.button_openInBrowser.Text = "Open overlay in browser"; this.button_openInBrowser.UseVisualStyleBackColor = true; @@ -309,9 +348,10 @@ private void InitializeComponent() // // button_openFilesLocation // - this.button_openFilesLocation.Location = new System.Drawing.Point(4, 32); + this.button_openFilesLocation.Location = new System.Drawing.Point(5, 37); + this.button_openFilesLocation.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.button_openFilesLocation.Name = "button_openFilesLocation"; - this.button_openFilesLocation.Size = new System.Drawing.Size(194, 23); + this.button_openFilesLocation.Size = new System.Drawing.Size(226, 27); this.button_openFilesLocation.TabIndex = 4; this.button_openFilesLocation.Text = "Open overlay files location"; this.button_openFilesLocation.UseVisualStyleBackColor = true; @@ -320,51 +360,35 @@ private void InitializeComponent() // label_webUrl // this.label_webUrl.AutoSize = true; - this.label_webUrl.Location = new System.Drawing.Point(204, 8); + this.label_webUrl.Location = new System.Drawing.Point(238, 9); + this.label_webUrl.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label_webUrl.Name = "label_webUrl"; - this.label_webUrl.Size = new System.Drawing.Size(52, 13); + this.label_webUrl.Size = new System.Drawing.Size(60, 15); this.label_webUrl.TabIndex = 0; this.label_webUrl.Text = ""; // // label_localFiles // this.label_localFiles.AutoSize = true; - this.label_localFiles.Location = new System.Drawing.Point(204, 37); + this.label_localFiles.Location = new System.Drawing.Point(238, 43); + this.label_localFiles.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0); this.label_localFiles.Name = "label_localFiles"; - this.label_localFiles.Size = new System.Drawing.Size(78, 13); + this.label_localFiles.Size = new System.Drawing.Size(90, 15); this.label_localFiles.TabIndex = 5; this.label_localFiles.Text = ""; // - // button_remoteOverlay - // - this.button_remoteOverlay.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left))); - this.button_remoteOverlay.Location = new System.Drawing.Point(10, 133); - this.button_remoteOverlay.Name = "button_remoteOverlay"; - this.button_remoteOverlay.Size = new System.Drawing.Size(197, 23); - this.button_remoteOverlay.TabIndex = 58; - this.button_remoteOverlay.Text = "Enable remote access"; - this.button_remoteOverlay.UseVisualStyleBackColor = true; - this.button_remoteOverlay.Click += new System.EventHandler(this.button_remoteOverlay_Click); - // - // textBox_remoteAccessUrl - // - this.textBox_remoteAccessUrl.Location = new System.Drawing.Point(214, 134); - this.textBox_remoteAccessUrl.Name = "textBox_remoteAccessUrl"; - this.textBox_remoteAccessUrl.ReadOnly = true; - this.textBox_remoteAccessUrl.Size = new System.Drawing.Size(202, 20); - this.textBox_remoteAccessUrl.TabIndex = 59; - // // WebOverlaySettings // - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleDimensions = new System.Drawing.SizeF(7F, 15F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.Controls.Add(this.label_localFiles); this.Controls.Add(this.label_webUrl); this.Controls.Add(this.button_openFilesLocation); this.Controls.Add(this.button_openInBrowser); this.Controls.Add(this.panel1); + this.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3); this.Name = "WebOverlaySettings"; - this.Size = new System.Drawing.Size(650, 372); + this.Size = new System.Drawing.Size(758, 429); this.panel1.ResumeLayout(false); this.panel1.PerformLayout(); ((System.ComponentModel.ISupportInitialize)(this.numericUpDown_chartHeight)).EndInit(); diff --git a/plugins/WebSocketDataSender/WebOverlay/WebOverlaySettings.resx b/plugins/WebSocketDataSender/WebOverlay/WebOverlaySettings.resx index 1af7de15..f298a7be 100644 --- a/plugins/WebSocketDataSender/WebOverlay/WebOverlaySettings.resx +++ b/plugins/WebSocketDataSender/WebOverlay/WebOverlaySettings.resx @@ -1,64 +1,4 @@ - - - + diff --git a/plugins/WebSocketDataSender/WebSocketDataSender.csproj b/plugins/WebSocketDataSender/WebSocketDataSender.csproj index 008d3ee7..dcaf8f8f 100644 --- a/plugins/WebSocketDataSender/WebSocketDataSender.csproj +++ b/plugins/WebSocketDataSender/WebSocketDataSender.csproj @@ -1,128 +1,54 @@ - - - + - Debug - AnyCPU - {6074BC0F-2C6A-485C-A5C4-5AEF3A3B8263} + net5.0-windows Library - Properties - WebSocketDataSender - WebSocketDataSender - v4.7.1 - 512 - true + false + true + false + true + false - - true - full - false + bin\Debug_temp\ - DEBUG;TRACE - prompt - 4 true 8 - pdbonly - true bin\Release_temp\ - TRACE - prompt - 4 - 8 - true bin\Debug_temp\ - DEBUG;TRACE true - full - x64 - 8 - prompt MinimumRecommendedRules.ruleset bin\Release_temp\ - TRACE - true - pdbonly - x64 - 8 - prompt MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - - - + UserControl - - ColorPickerWithPreview.cs - - - - - - - + UserControl - - WebOverlaySettings.cs - - - - - - - 3.4.3 + 5.2.1 runtime + + - - ColorPickerWithPreview.cs - - - WebOverlaySettings.cs - + - - - - mkdir "$(TargetDir)\..\$(ConfigurationName)" -mkdir "$(TargetDir)\..\$(ConfigurationName)\Dlls" - -copy "$(TargetDir)\WebSocketDataSender.dll" "$(TargetDir)\..\$(ConfigurationName)\WebSocketDataSender.dll" -copy "$(TargetDir)\Swan.Lite.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\Swan.Lite.dll" -copy "$(TargetDir)\EmbedIO.dll" "$(TargetDir)\..\$(ConfigurationName)\Dlls\EmbedIO.dll" - -mkdir "$(SolutionDir)\build\$(ConfigurationName)\Plugins\Dlls" -copy "$(TargetDir)\..\$(ConfigurationName)\*" "$(SolutionDir)\build\$(ConfigurationName)\Plugins\" -copy "$(TargetDir)\..\$(ConfigurationName)\Dlls\*" "$(SolutionDir)\build\$(ConfigurationName)\Plugins\Dlls\" - + + + \ No newline at end of file diff --git a/plugins/WebSocketDataSender/packages.config b/plugins/WebSocketDataSender/packages.config index 47152252..80f8cd94 100644 --- a/plugins/WebSocketDataSender/packages.config +++ b/plugins/WebSocketDataSender/packages.config @@ -1,17 +1,17 @@  - - - - - - - - - - - - - - + + + + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/osuOverlay/osuOverlayLoader/App.config b/plugins/osuOverlay/osuOverlayLoader/App.config deleted file mode 100644 index 787dcbec..00000000 --- a/plugins/osuOverlay/osuOverlayLoader/App.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/plugins/osuOverlay/osuOverlayLoader/Properties/AssemblyInfo.cs b/plugins/osuOverlay/osuOverlayLoader/Properties/AssemblyInfo.cs deleted file mode 100644 index ea3fed36..00000000 --- a/plugins/osuOverlay/osuOverlayLoader/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,36 +0,0 @@ -using System.Reflection; -using System.Runtime.CompilerServices; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("osuOverlayLoader")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("osuOverlayLoader")] -[assembly: AssemblyCopyright("Copyright © 2019")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("7f30ae10-182d-48c2-b6db-2a96e8180335")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/plugins/osuOverlay/osuOverlayLoader/Properties/Resources.Designer.cs b/plugins/osuOverlay/osuOverlayLoader/Properties/Resources.Designer.cs deleted file mode 100644 index f3a3c593..00000000 --- a/plugins/osuOverlay/osuOverlayLoader/Properties/Resources.Designer.cs +++ /dev/null @@ -1,71 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace osuOverlayLoader.Properties -{ - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources - { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() - { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager - { - get - { - if ((resourceMan == null)) - { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("osuOverlayLoader.Properties.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture - { - get - { - return resourceCulture; - } - set - { - resourceCulture = value; - } - } - } -} diff --git a/plugins/osuOverlay/osuOverlayLoader/Properties/Resources.resx b/plugins/osuOverlay/osuOverlayLoader/Properties/Resources.resx deleted file mode 100644 index af7dbebb..00000000 --- a/plugins/osuOverlay/osuOverlayLoader/Properties/Resources.resx +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - \ No newline at end of file diff --git a/plugins/osuOverlay/osuOverlayLoader/Properties/Settings.Designer.cs b/plugins/osuOverlay/osuOverlayLoader/Properties/Settings.Designer.cs deleted file mode 100644 index c9f68318..00000000 --- a/plugins/osuOverlay/osuOverlayLoader/Properties/Settings.Designer.cs +++ /dev/null @@ -1,30 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace osuOverlayLoader.Properties -{ - - - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] - internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase - { - - private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); - - public static Settings Default - { - get - { - return defaultInstance; - } - } - } -} diff --git a/plugins/osuOverlay/osuOverlayLoader/Properties/Settings.settings b/plugins/osuOverlay/osuOverlayLoader/Properties/Settings.settings deleted file mode 100644 index 39645652..00000000 --- a/plugins/osuOverlay/osuOverlayLoader/Properties/Settings.settings +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/plugins/osuOverlay/osuOverlayLoader/osuOverlayLoader.csproj b/plugins/osuOverlay/osuOverlayLoader/osuOverlayLoader.csproj deleted file mode 100644 index 107b937c..00000000 --- a/plugins/osuOverlay/osuOverlayLoader/osuOverlayLoader.csproj +++ /dev/null @@ -1,77 +0,0 @@ - - - - - Debug - AnyCPU - {7F30AE10-182D-48C2-B6DB-2A96E8180335} - Library - osuOverlayLoader - osuOverlayLoader - v4.7.1 - 512 - true - true - - - x86 - true - full - false - ..\..\..\build\Debug\Plugins\Dlls\ - DEBUG;TRACE - prompt - 4 - - - x86 - pdbonly - true - ..\..\..\build\Release_unsafe\Plugins\Dlls\ - TRACE - prompt - 4 - - - - - - - - - - - - - - - - - - - - - - ResXFileCodeGenerator - Resources.Designer.cs - Designer - - - True - Resources.resx - - - SettingsSingleFileGenerator - Settings.Designer.cs - - - True - Settings.settings - True - - - - - - - \ No newline at end of file diff --git a/plugins/osuOverlay/osuOverlayPlugin/IngameOverlay.cs b/plugins/osuOverlay/osuOverlayPlugin/IngameOverlay.cs index a9bfa0b9..4b4684b8 100644 --- a/plugins/osuOverlay/osuOverlayPlugin/IngameOverlay.cs +++ b/plugins/osuOverlay/osuOverlayPlugin/IngameOverlay.cs @@ -1,11 +1,10 @@ using System; -using System.ComponentModel; using System.Diagnostics; using System.IO; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; -using osuOverlayLoader; +using osuOverlay.Loader; using StreamCompanionTypes.DataTypes; using StreamCompanionTypes.Interfaces; using StreamCompanionTypes.Enums; @@ -76,7 +75,7 @@ private bool IsAlreadyInjected() return loader.IsAlreadyInjected(GetFullDllLocation()); } - Loader loader = new Loader(); + Loader.Loader loader = new Loader.Loader(); private Progress progressReporter; private async Task Inject() { diff --git a/plugins/osuOverlay/osuOverlayLoader/DllInjectionResult.cs b/plugins/osuOverlay/osuOverlayPlugin/Loader/DllInjectionResult.cs similarity index 86% rename from plugins/osuOverlay/osuOverlayLoader/DllInjectionResult.cs rename to plugins/osuOverlay/osuOverlayPlugin/Loader/DllInjectionResult.cs index 99b62980..e231df46 100644 --- a/plugins/osuOverlay/osuOverlayLoader/DllInjectionResult.cs +++ b/plugins/osuOverlay/osuOverlayPlugin/Loader/DllInjectionResult.cs @@ -1,4 +1,4 @@ -namespace osuOverlayLoader +namespace osuOverlay.Loader { public enum DllInjectionResult { diff --git a/plugins/osuOverlay/osuOverlayLoader/DllInjector.cs b/plugins/osuOverlay/osuOverlayPlugin/Loader/DllInjector.cs similarity index 99% rename from plugins/osuOverlay/osuOverlayLoader/DllInjector.cs rename to plugins/osuOverlay/osuOverlayPlugin/Loader/DllInjector.cs index 8fe08957..f1e51f7a 100644 --- a/plugins/osuOverlay/osuOverlayLoader/DllInjector.cs +++ b/plugins/osuOverlay/osuOverlayPlugin/Loader/DllInjector.cs @@ -4,7 +4,7 @@ using System.Runtime.InteropServices; using System.Text; -namespace osuOverlayLoader +namespace osuOverlay.Loader { public sealed class DllInjector { diff --git a/plugins/osuOverlay/osuOverlayLoader/InjectionResult.cs b/plugins/osuOverlay/osuOverlayPlugin/Loader/InjectionResult.cs similarity index 95% rename from plugins/osuOverlay/osuOverlayLoader/InjectionResult.cs rename to plugins/osuOverlay/osuOverlayPlugin/Loader/InjectionResult.cs index a80a0934..01e29517 100644 --- a/plugins/osuOverlay/osuOverlayLoader/InjectionResult.cs +++ b/plugins/osuOverlay/osuOverlayPlugin/Loader/InjectionResult.cs @@ -1,4 +1,4 @@ -namespace osuOverlayLoader +namespace osuOverlay.Loader { public class InjectionResult { diff --git a/plugins/osuOverlay/osuOverlayLoader/Loader.cs b/plugins/osuOverlay/osuOverlayPlugin/Loader/Loader.cs similarity index 98% rename from plugins/osuOverlay/osuOverlayLoader/Loader.cs rename to plugins/osuOverlay/osuOverlayPlugin/Loader/Loader.cs index e30e407e..cdcc9dc1 100644 --- a/plugins/osuOverlay/osuOverlayLoader/Loader.cs +++ b/plugins/osuOverlay/osuOverlayPlugin/Loader/Loader.cs @@ -5,7 +5,7 @@ using System.Threading.Tasks; using System.Windows.Forms; -namespace osuOverlayLoader +namespace osuOverlay.Loader { public class Loader : ApplicationContext { diff --git a/plugins/osuOverlay/osuOverlayPlugin/osuOverlayPlugin.csproj b/plugins/osuOverlay/osuOverlayPlugin/osuOverlayPlugin.csproj index e07c8011..30e528b2 100644 --- a/plugins/osuOverlay/osuOverlayPlugin/osuOverlayPlugin.csproj +++ b/plugins/osuOverlay/osuOverlayPlugin/osuOverlayPlugin.csproj @@ -1,84 +1,33 @@ - - - + - Debug - AnyCPU - {E79D7BC8-AAD4-4BC1-9578-3FABB851B997} + net5.0-windows Library - Properties osuOverlay - osuOverlayPlugin - v4.7.1 - 512 - + false + true + false + false - - true - full - false + ..\..\..\build\Debug\Plugins\ - DEBUG;TRACE - prompt - 4 - false true - pdbonly - true ..\..\..\build\Release_unsafe\Plugins\ - TRACE - prompt - 4 - false - true ..\..\..\build\Debug\Plugins\ - DEBUG;TRACE true - full - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset ..\..\..\build\Release_unsafe\Plugins\ - TRACE - true - pdbonly - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset - false - - - - - - - - - - - + UserControl - - IngameOverlaySettings.cs - - - - - - - IngameOverlaySettings.cs - @@ -88,18 +37,11 @@ Always - - - {7f30ae10-182d-48c2-b6db-2a96e8180335} - osuOverlayLoader - False - - 5.2.1 runtime + - \ No newline at end of file diff --git a/plugins/osuOverlay/osuOverlayPlugin/packages.config b/plugins/osuOverlay/osuOverlayPlugin/packages.config index 8ff00452..335824bb 100644 --- a/plugins/osuOverlay/osuOverlayPlugin/packages.config +++ b/plugins/osuOverlay/osuOverlayPlugin/packages.config @@ -1,14 +1,14 @@  - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/plugins/osuPost/osuPost.csproj b/plugins/osuPost/osuPost.csproj index 55067eaf..1c34f871 100644 --- a/plugins/osuPost/osuPost.csproj +++ b/plugins/osuPost/osuPost.csproj @@ -1,92 +1,43 @@ - - - + - Debug - AnyCPU - {909409E5-7DED-43FC-95D7-913C7576E91C} + net5.0-windows Library - Properties - osuPost - osuPost - v4.7.1 - 512 - + false + true + false + false - - true - full - false + ..\..\build\Debug\Plugins\ - DEBUG;TRACE - prompt - 4 - false true - pdbonly - true ..\..\build\Release\Plugins\ - TRACE - prompt - 4 - false - true ..\..\build\Debug\Plugins\ - DEBUG;TRACE true - full - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset ..\..\build\Release\Plugins\ - TRACE - true - pdbonly - x64 - 7.3 - prompt MinimumRecommendedRules.ruleset - - - - - - - - - - - - - - - + UserControl - - osuPostSettings.cs - - - - - - osuPostSettings.cs - + 5.2.1 runtime + + + + + - \ No newline at end of file diff --git a/plugins/osuPost/osuPostSettings.cs b/plugins/osuPost/osuPostSettings.cs index b14f4b3f..ab96c58f 100644 --- a/plugins/osuPost/osuPostSettings.cs +++ b/plugins/osuPost/osuPostSettings.cs @@ -1,5 +1,6 @@ using System; using System.Windows.Forms; +using StreamCompanion.Common; using StreamCompanionTypes; using StreamCompanionTypes.Interfaces; using StreamCompanionTypes.Interfaces.Services; @@ -25,12 +26,12 @@ public osuPostSettings(ISettings settings) private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - System.Diagnostics.Process.Start(@"http://osupost.givenameplz.de/"); + ProcessExt.OpenUrl(@"http://osupost.givenameplz.de/"); } private void linkLabel2_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { - System.Diagnostics.Process.Start(@"https://osu.ppy.sh/forum/t/164486"); + ProcessExt.OpenUrl(@"https://osu.ppy.sh/forum/t/164486"); } private void textBox_login_TextChanged(object sender, EventArgs e) { diff --git a/plugins/osuPost/packages.config b/plugins/osuPost/packages.config index 8ff00452..335824bb 100644 --- a/plugins/osuPost/packages.config +++ b/plugins/osuPost/packages.config @@ -1,14 +1,14 @@  - - - - - - - - - - - + + + + + + + + + + + \ No newline at end of file diff --git a/submodules/osu b/submodules/osu index 821ac78c..e28cbf89 160000 --- a/submodules/osu +++ b/submodules/osu @@ -1 +1 @@ -Subproject commit 821ac78caa4ee32de59a5d9482a457099e573145 +Subproject commit e28cbf8991bbae6e7f8ad7ce485124765e06222b