diff --git a/Hyperbar.Windows.Controls/DesktopBar/DesktopBar.cs b/Hyperbar.Controls.Windows/DesktopBar/DesktopBar.cs similarity index 97% rename from Hyperbar.Windows.Controls/DesktopBar/DesktopBar.cs rename to Hyperbar.Controls.Windows/DesktopBar/DesktopBar.cs index d18c823..c5e0ef2 100644 --- a/Hyperbar.Windows.Controls/DesktopBar/DesktopBar.cs +++ b/Hyperbar.Controls.Windows/DesktopBar/DesktopBar.cs @@ -1,6 +1,6 @@ using Microsoft.UI.Xaml; -namespace Hyperbar.Windows.Controls; +namespace Hyperbar.Controls.Windows; public class DesktopBar : DependencyObject diff --git a/Hyperbar.Windows.Controls/DesktopBar/DesktopBarHost.cs b/Hyperbar.Controls.Windows/DesktopBar/DesktopBarHost.cs similarity index 90% rename from Hyperbar.Windows.Controls/DesktopBar/DesktopBarHost.cs rename to Hyperbar.Controls.Windows/DesktopBar/DesktopBarHost.cs index b5508e7..237fe8f 100644 --- a/Hyperbar.Windows.Controls/DesktopBar/DesktopBarHost.cs +++ b/Hyperbar.Controls.Windows/DesktopBar/DesktopBarHost.cs @@ -1,12 +1,10 @@ using Microsoft.UI.Xaml; -using Hyperbar.Windows.UI; using Windows.Foundation; -using WindowStyle = Hyperbar.Windows.Interop.WindowStyle; -using ExtendedWindowStyle = Hyperbar.Windows.Interop.ExtendedWindowStyle; -using Hyperbar.Windows.Interop; using Microsoft.UI.Xaml.Media; +using Hyperbar.Interop.Windows; +using Hyperbar.UI.Windows; -namespace Hyperbar.Windows.Controls; +namespace Hyperbar.Controls.Windows; internal class DesktopBarHost : Window { diff --git a/Hyperbar.Windows.Controls/DesktopBar/DesktopBarPlacemenet.cs b/Hyperbar.Controls.Windows/DesktopBar/DesktopBarPlacemenet.cs similarity index 66% rename from Hyperbar.Windows.Controls/DesktopBar/DesktopBarPlacemenet.cs rename to Hyperbar.Controls.Windows/DesktopBar/DesktopBarPlacemenet.cs index 6d7be5f..288f85e 100644 --- a/Hyperbar.Windows.Controls/DesktopBar/DesktopBarPlacemenet.cs +++ b/Hyperbar.Controls.Windows/DesktopBar/DesktopBarPlacemenet.cs @@ -1,4 +1,4 @@ -namespace Hyperbar.Windows.Controls; +namespace Hyperbar.Controls.Windows; public enum DesktopBarPlacemenet { diff --git a/Hyperbar.Windows.Controls/DesktopBar/DesktopBarPresenter.cs b/Hyperbar.Controls.Windows/DesktopBar/DesktopBarPresenter.cs similarity index 97% rename from Hyperbar.Windows.Controls/DesktopBar/DesktopBarPresenter.cs rename to Hyperbar.Controls.Windows/DesktopBar/DesktopBarPresenter.cs index b493eba..7f6f731 100644 --- a/Hyperbar.Windows.Controls/DesktopBar/DesktopBarPresenter.cs +++ b/Hyperbar.Controls.Windows/DesktopBar/DesktopBarPresenter.cs @@ -2,7 +2,7 @@ using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Data; -namespace Hyperbar.Windows.Controls; +namespace Hyperbar.Controls.Windows; public class DesktopBarPresenter : ContentControl diff --git a/Hyperbar.Windows.Controls/DesktopBar/DesktopBarPresenter.xaml b/Hyperbar.Controls.Windows/DesktopBar/DesktopBarPresenter.xaml similarity index 98% rename from Hyperbar.Windows.Controls/DesktopBar/DesktopBarPresenter.xaml rename to Hyperbar.Controls.Windows/DesktopBar/DesktopBarPresenter.xaml index e3b542b..67994ab 100644 --- a/Hyperbar.Windows.Controls/DesktopBar/DesktopBarPresenter.xaml +++ b/Hyperbar.Controls.Windows/DesktopBar/DesktopBarPresenter.xaml @@ -2,7 +2,7 @@ + xmlns:controls="using:Hyperbar.Controls.Windows"> diff --git a/Hyperbar.Windows.Controls/DesktopBar/DesktopBarPresenterTemplateSettings.cs b/Hyperbar.Controls.Windows/DesktopBar/DesktopBarPresenterTemplateSettings.cs similarity index 97% rename from Hyperbar.Windows.Controls/DesktopBar/DesktopBarPresenterTemplateSettings.cs rename to Hyperbar.Controls.Windows/DesktopBar/DesktopBarPresenterTemplateSettings.cs index c15002b..f020a44 100644 --- a/Hyperbar.Windows.Controls/DesktopBar/DesktopBarPresenterTemplateSettings.cs +++ b/Hyperbar.Controls.Windows/DesktopBar/DesktopBarPresenterTemplateSettings.cs @@ -1,6 +1,6 @@ using Microsoft.UI.Xaml; -namespace Hyperbar.Windows.Controls; +namespace Hyperbar.Controls.Windows; public class DesktopBarPresenterTemplateSettings : DependencyObject { diff --git a/Hyperbar.Controls.Windows/Hyperbar.Controls.Windows.csproj b/Hyperbar.Controls.Windows/Hyperbar.Controls.Windows.csproj new file mode 100644 index 0000000..d7898a0 --- /dev/null +++ b/Hyperbar.Controls.Windows/Hyperbar.Controls.Windows.csproj @@ -0,0 +1,27 @@ + + + net8.0-windows10.0.19041.0 + 10.0.17763.0 + win10-x86;win10-x64;win10-arm64 + true + true + enable + enable + true + + + + + + + + + + + + + + + + + diff --git a/Hyperbar.Windows.Controls/Themes/Generic.xaml b/Hyperbar.Controls.Windows/Themes/Generic.xaml similarity index 67% rename from Hyperbar.Windows.Controls/Themes/Generic.xaml rename to Hyperbar.Controls.Windows/Themes/Generic.xaml index b5c44c1..c2ed101 100644 --- a/Hyperbar.Windows.Controls/Themes/Generic.xaml +++ b/Hyperbar.Controls.Windows/Themes/Generic.xaml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/Hyperbar.Windows.Interop/ExtendedWindowStyle.cs b/Hyperbar.Interop.Windows/ExtendedWindowStyle.cs similarity index 94% rename from Hyperbar.Windows.Interop/ExtendedWindowStyle.cs rename to Hyperbar.Interop.Windows/ExtendedWindowStyle.cs index 13db65b..8edbc0d 100644 --- a/Hyperbar.Windows.Interop/ExtendedWindowStyle.cs +++ b/Hyperbar.Interop.Windows/ExtendedWindowStyle.cs @@ -1,4 +1,4 @@ -namespace Hyperbar.Windows.Interop; +namespace Hyperbar.Interop.Windows; [Flags] public enum ExtendedWindowStyle diff --git a/Hyperbar.Windows.Interop/HwndExtensions.cs b/Hyperbar.Interop.Windows/HwndExtensions.cs similarity index 98% rename from Hyperbar.Windows.Interop/HwndExtensions.cs rename to Hyperbar.Interop.Windows/HwndExtensions.cs index a5341d3..ff38f1e 100644 --- a/Hyperbar.Windows.Interop/HwndExtensions.cs +++ b/Hyperbar.Interop.Windows/HwndExtensions.cs @@ -4,7 +4,7 @@ using Windows.Win32.Foundation; using Windows.Win32.Graphics.Gdi; using Windows.Win32.UI.WindowsAndMessaging; -namespace Hyperbar.Windows.Interop; +namespace Hyperbar.Interop.Windows; public static class HwndExtensions { diff --git a/Hyperbar.Windows.Interop/Hyperbar.Windows.Interop.csproj b/Hyperbar.Interop.Windows/Hyperbar.Interop.Windows.csproj similarity index 100% rename from Hyperbar.Windows.Interop/Hyperbar.Windows.Interop.csproj rename to Hyperbar.Interop.Windows/Hyperbar.Interop.Windows.csproj diff --git a/Hyperbar.Interop.Windows/IVirtualKeyboard.cs b/Hyperbar.Interop.Windows/IVirtualKeyboard.cs new file mode 100644 index 0000000..8d80b67 --- /dev/null +++ b/Hyperbar.Interop.Windows/IVirtualKeyboard.cs @@ -0,0 +1,6 @@ +namespace Hyperbar.Interop.Windows; + +public interface IVirtualKeyboard +{ + void Send(int key, params int[] modifierKeys); +} \ No newline at end of file diff --git a/Hyperbar.Windows.Interop/NativeMethods.txt b/Hyperbar.Interop.Windows/NativeMethods.txt similarity index 100% rename from Hyperbar.Windows.Interop/NativeMethods.txt rename to Hyperbar.Interop.Windows/NativeMethods.txt diff --git a/Hyperbar.Windows.Interop/PInvoke.cs b/Hyperbar.Interop.Windows/PInvoke.cs similarity index 100% rename from Hyperbar.Windows.Interop/PInvoke.cs rename to Hyperbar.Interop.Windows/PInvoke.cs diff --git a/Hyperbar.Windows.Interop/Screen.cs b/Hyperbar.Interop.Windows/Screen.cs similarity index 98% rename from Hyperbar.Windows.Interop/Screen.cs rename to Hyperbar.Interop.Windows/Screen.cs index 23e1a76..f9adbc0 100644 --- a/Hyperbar.Windows.Interop/Screen.cs +++ b/Hyperbar.Interop.Windows/Screen.cs @@ -5,7 +5,7 @@ using Windows.Win32.Foundation; using Windows.Win32.UI.WindowsAndMessaging; using Windows.Win32.Graphics.Gdi; -namespace Hyperbar.Windows.Interop; +namespace Hyperbar.Interop.Windows; public class Screen { diff --git a/Hyperbar.Windows.Interop/SystemInformationHelper.cs b/Hyperbar.Interop.Windows/SystemInformationHelper.cs similarity index 96% rename from Hyperbar.Windows.Interop/SystemInformationHelper.cs rename to Hyperbar.Interop.Windows/SystemInformationHelper.cs index 4add3aa..81b19a6 100644 --- a/Hyperbar.Windows.Interop/SystemInformationHelper.cs +++ b/Hyperbar.Interop.Windows/SystemInformationHelper.cs @@ -4,7 +4,7 @@ using Windows.Win32; using Windows.Win32.Foundation; using Windows.Win32.UI.WindowsAndMessaging; -namespace Hyperbar.Windows.Interop; +namespace Hyperbar.Interop.Windows; internal static class SystemInformationHelper { diff --git a/Hyperbar.Windows.Interop/VirtualKeyboard.cs b/Hyperbar.Interop.Windows/VirtualKeyboard.cs similarity index 98% rename from Hyperbar.Windows.Interop/VirtualKeyboard.cs rename to Hyperbar.Interop.Windows/VirtualKeyboard.cs index 311da1d..9f70a09 100644 --- a/Hyperbar.Windows.Interop/VirtualKeyboard.cs +++ b/Hyperbar.Interop.Windows/VirtualKeyboard.cs @@ -2,7 +2,7 @@ using Windows.Win32; using Windows.Win32.UI.KeyboardAndMouseInput; -namespace Hyperbar.Windows.Interop; +namespace Hyperbar.Interop.Windows; public class VirtualKeyboard : diff --git a/Hyperbar.Windows.Interop/WindowMessageListener.cs b/Hyperbar.Interop.Windows/WindowMessageListener.cs similarity index 96% rename from Hyperbar.Windows.Interop/WindowMessageListener.cs rename to Hyperbar.Interop.Windows/WindowMessageListener.cs index f37b1a5..2f6c348 100644 --- a/Hyperbar.Windows.Interop/WindowMessageListener.cs +++ b/Hyperbar.Interop.Windows/WindowMessageListener.cs @@ -2,7 +2,7 @@ using Windows.Win32.Foundation; using Windows.Win32.UI.Shell; -namespace Hyperbar.Windows.Interop; +namespace Hyperbar.Interop.Windows; public class WindowMessageListener : IDisposable { diff --git a/Hyperbar.Windows.Interop/WindowSnapping.cs b/Hyperbar.Interop.Windows/WindowSnapping.cs similarity index 99% rename from Hyperbar.Windows.Interop/WindowSnapping.cs rename to Hyperbar.Interop.Windows/WindowSnapping.cs index 5f247b1..a889c7e 100644 --- a/Hyperbar.Windows.Interop/WindowSnapping.cs +++ b/Hyperbar.Interop.Windows/WindowSnapping.cs @@ -2,7 +2,7 @@ using Windows.Win32; using Windows.Win32.Foundation; -namespace Hyperbar.Windows.Interop; +namespace Hyperbar.Interop.Windows; public class WindowSnapping : IDisposable diff --git a/Hyperbar.Windows.Interop/WindowSnappingPlacement.cs b/Hyperbar.Interop.Windows/WindowSnappingPlacement.cs similarity index 67% rename from Hyperbar.Windows.Interop/WindowSnappingPlacement.cs rename to Hyperbar.Interop.Windows/WindowSnappingPlacement.cs index 72651f9..b8ed0c8 100644 --- a/Hyperbar.Windows.Interop/WindowSnappingPlacement.cs +++ b/Hyperbar.Interop.Windows/WindowSnappingPlacement.cs @@ -1,4 +1,4 @@ -namespace Hyperbar.Windows.Interop; +namespace Hyperbar.Interop.Windows; public enum WindowSnappingPlacement { diff --git a/Hyperbar.Windows.Interop/WindowStyle.cs b/Hyperbar.Interop.Windows/WindowStyle.cs similarity index 95% rename from Hyperbar.Windows.Interop/WindowStyle.cs rename to Hyperbar.Interop.Windows/WindowStyle.cs index 4dfb0cc..c065fdb 100644 --- a/Hyperbar.Windows.Interop/WindowStyle.cs +++ b/Hyperbar.Interop.Windows/WindowStyle.cs @@ -1,6 +1,6 @@ using System; -namespace Hyperbar.Windows.Interop; +namespace Hyperbar.Interop.Windows; [Flags] public enum WindowStyle diff --git a/Hyperbar.Windows.UI/Templates/DataTemplateConverter.cs b/Hyperbar.UI.Windows/DataTemplateConverter.cs similarity index 91% rename from Hyperbar.Windows.UI/Templates/DataTemplateConverter.cs rename to Hyperbar.UI.Windows/DataTemplateConverter.cs index 6c4a4cb..7fdc9d2 100644 --- a/Hyperbar.Windows.UI/Templates/DataTemplateConverter.cs +++ b/Hyperbar.UI.Windows/DataTemplateConverter.cs @@ -1,6 +1,6 @@ using Microsoft.UI.Xaml.Controls; -namespace Hyperbar.Windows.UI; +namespace Hyperbar.UI.Windows; public class DataTemplateConverter : ValueConverter diff --git a/Hyperbar.Windows.UI/Hyperbar.Windows.UI.csproj b/Hyperbar.UI.Windows/Hyperbar.UI.Windows.csproj similarity index 68% rename from Hyperbar.Windows.UI/Hyperbar.Windows.UI.csproj rename to Hyperbar.UI.Windows/Hyperbar.UI.Windows.csproj index ad3d34f..98ed9f5 100644 --- a/Hyperbar.Windows.UI/Hyperbar.Windows.UI.csproj +++ b/Hyperbar.UI.Windows/Hyperbar.UI.Windows.csproj @@ -7,13 +7,17 @@ true enable enable + true - - + - + + + + + \ No newline at end of file diff --git a/Hyperbar.UI.Windows/IWinRTObjectExtensions.cs b/Hyperbar.UI.Windows/IWinRTObjectExtensions.cs new file mode 100644 index 0000000..cf3c5fb --- /dev/null +++ b/Hyperbar.UI.Windows/IWinRTObjectExtensions.cs @@ -0,0 +1,24 @@ +using System.Runtime.CompilerServices; +using WinRT; + +namespace Hyperbar.UI.Windows; + +public static class IWinRTObjectExtensions +{ + public static void InitializeComponent(this TComponent component, + ref bool loaded, + [CallerFilePath] string path = "") + where TComponent : + IWinRTObject + { + if (loaded) + { + return; + } + + loaded = true; + + //Uri resourceLocator = ApplicationExtensionHost.Current.LocateResource(component, callerFilePath); + //Application.LoadComponent(component, resourceLocator, ComponentResourceLocation.Nested); + } +} diff --git a/Hyperbar.Windows.UI/Templates/TemplateFactory.cs b/Hyperbar.UI.Windows/TemplateFactory.cs similarity index 94% rename from Hyperbar.Windows.UI/Templates/TemplateFactory.cs rename to Hyperbar.UI.Windows/TemplateFactory.cs index 750e7ad..ecc384a 100644 --- a/Hyperbar.Windows.UI/Templates/TemplateFactory.cs +++ b/Hyperbar.UI.Windows/TemplateFactory.cs @@ -1,6 +1,6 @@ using Microsoft.Extensions.DependencyInjection; -namespace Hyperbar.Windows.UI; +namespace Hyperbar.UI.Windows; public class TemplateFactory(IEnumerable descriptors, IServiceProvider provider) : diff --git a/Hyperbar.Windows.UI/Templates/TemplateGenerator.cs b/Hyperbar.UI.Windows/TemplateGenerator.cs similarity index 97% rename from Hyperbar.Windows.UI/Templates/TemplateGenerator.cs rename to Hyperbar.UI.Windows/TemplateGenerator.cs index e1055e2..acd63c3 100644 --- a/Hyperbar.Windows.UI/Templates/TemplateGenerator.cs +++ b/Hyperbar.UI.Windows/TemplateGenerator.cs @@ -2,7 +2,7 @@ using Microsoft.UI.Xaml.Controls; using Microsoft.UI.Xaml.Markup; -namespace Hyperbar.Windows.UI; +namespace Hyperbar.UI.Windows; public class TemplateGenerator : DataTemplateSelector { diff --git a/Hyperbar.Windows.UI/Templates/TemplateGeneratorControl.cs b/Hyperbar.UI.Windows/TemplateGeneratorControl.cs similarity index 94% rename from Hyperbar.Windows.UI/Templates/TemplateGeneratorControl.cs rename to Hyperbar.UI.Windows/TemplateGeneratorControl.cs index 999e6f3..a5d3cd0 100644 --- a/Hyperbar.Windows.UI/Templates/TemplateGeneratorControl.cs +++ b/Hyperbar.UI.Windows/TemplateGeneratorControl.cs @@ -1,7 +1,7 @@ using Microsoft.UI.Xaml; using Microsoft.UI.Xaml.Controls; -namespace Hyperbar.Windows.UI; +namespace Hyperbar.UI.Windows; public class TemplateGeneratorControl : ContentControl diff --git a/Hyperbar.Windows.UI/Templates/ValueConverter.cs b/Hyperbar.UI.Windows/ValueConverter.cs similarity index 97% rename from Hyperbar.Windows.UI/Templates/ValueConverter.cs rename to Hyperbar.UI.Windows/ValueConverter.cs index b89f2db..3b13553 100644 --- a/Hyperbar.Windows.UI/Templates/ValueConverter.cs +++ b/Hyperbar.UI.Windows/ValueConverter.cs @@ -2,7 +2,7 @@ using Microsoft.UI.Xaml.Data; using Microsoft.UI.Xaml.Markup; -namespace Hyperbar.Windows.UI; +namespace Hyperbar.UI.Windows; public abstract class ValueConverter : MarkupExtension, diff --git a/Hyperbar.Windows.UI/Extensions/WindowExtensions.cs b/Hyperbar.UI.Windows/WindowExtensions.cs similarity index 95% rename from Hyperbar.Windows.UI/Extensions/WindowExtensions.cs rename to Hyperbar.UI.Windows/WindowExtensions.cs index c7014f0..ab7144f 100644 --- a/Hyperbar.Windows.UI/Extensions/WindowExtensions.cs +++ b/Hyperbar.UI.Windows/WindowExtensions.cs @@ -1,10 +1,10 @@ -using Hyperbar.Windows.Interop; +using Hyperbar.Interop.Windows; using Microsoft.UI.Windowing; using Microsoft.UI.Xaml; using Windows.Graphics; using WinRT.Interop; -namespace Hyperbar.Windows.UI; +namespace Hyperbar.UI.Windows; public static class WindowExtensions { diff --git a/Hyperbar.Windows.Contextual/ContextualWidget.cs b/Hyperbar.Widget.Contextual.Windows/ContextualWidget.cs similarity index 88% rename from Hyperbar.Windows.Contextual/ContextualWidget.cs rename to Hyperbar.Widget.Contextual.Windows/ContextualWidget.cs index 4d7cf52..5de12e2 100644 --- a/Hyperbar.Windows.Contextual/ContextualWidget.cs +++ b/Hyperbar.Widget.Contextual.Windows/ContextualWidget.cs @@ -1,4 +1,4 @@ -namespace Hyperbar.Widget.Contextual; +namespace Hyperbar.Widget.Contextual.Windows; public class ContextualWidget : IWidget diff --git a/Hyperbar.Windows.Contextual/ContextualWidgetConfiguration.cs b/Hyperbar.Widget.Contextual.Windows/ContextualWidgetConfiguration.cs similarity index 60% rename from Hyperbar.Windows.Contextual/ContextualWidgetConfiguration.cs rename to Hyperbar.Widget.Contextual.Windows/ContextualWidgetConfiguration.cs index 793e460..830dfe1 100644 --- a/Hyperbar.Windows.Contextual/ContextualWidgetConfiguration.cs +++ b/Hyperbar.Widget.Contextual.Windows/ContextualWidgetConfiguration.cs @@ -1,4 +1,4 @@ -namespace Hyperbar.Widget.Contextual; +namespace Hyperbar.Widget.Contextual.Windows; public class ContextualWidgetConfiguration : WidgetConfiguration diff --git a/Hyperbar.Windows.Contextual/ContextualWidgetViewModel.cs b/Hyperbar.Widget.Contextual.Windows/ContextualWidgetViewModel.cs similarity index 89% rename from Hyperbar.Windows.Contextual/ContextualWidgetViewModel.cs rename to Hyperbar.Widget.Contextual.Windows/ContextualWidgetViewModel.cs index 90b0190..e253477 100644 --- a/Hyperbar.Windows.Contextual/ContextualWidgetViewModel.cs +++ b/Hyperbar.Widget.Contextual.Windows/ContextualWidgetViewModel.cs @@ -1,4 +1,4 @@ -namespace Hyperbar.Widget.Contextual; +namespace Hyperbar.Widget.Contextual.Windows; public class ContextualWidgetViewModel(ITemplateFactory templateFactory, IServiceFactory serviceFactory, diff --git a/Hyperbar.Windows.Contextual/Hyperbar.Widget.Contextual.csproj b/Hyperbar.Widget.Contextual.Windows/Hyperbar.Widget.Contextual.csproj similarity index 100% rename from Hyperbar.Windows.Contextual/Hyperbar.Widget.Contextual.csproj rename to Hyperbar.Widget.Contextual.Windows/Hyperbar.Widget.Contextual.csproj diff --git a/Hyperbar.Widget.MediaController.Windows/Backward.cs b/Hyperbar.Widget.MediaController.Windows/Backward.cs new file mode 100644 index 0000000..96e67e5 --- /dev/null +++ b/Hyperbar.Widget.MediaController.Windows/Backward.cs @@ -0,0 +1,3 @@ +namespace Hyperbar.Widget.MediaController.Windows; + +public record Backward : INotification; diff --git a/Hyperbar.Widget.MediaController.Windows/Foward.cs b/Hyperbar.Widget.MediaController.Windows/Foward.cs new file mode 100644 index 0000000..0193bb7 --- /dev/null +++ b/Hyperbar.Widget.MediaController.Windows/Foward.cs @@ -0,0 +1,3 @@ +namespace Hyperbar.Widget.MediaController.Windows; + +public record Foward : INotification; diff --git a/Hyperbar.Windows.MediaController/Hyperbar.Windows.MediaController.csproj b/Hyperbar.Widget.MediaController.Windows/Hyperbar.Widget.MediaController.Windows.csproj similarity index 80% rename from Hyperbar.Windows.MediaController/Hyperbar.Windows.MediaController.csproj rename to Hyperbar.Widget.MediaController.Windows/Hyperbar.Widget.MediaController.Windows.csproj index ae10de8..378699a 100644 --- a/Hyperbar.Windows.MediaController/Hyperbar.Windows.MediaController.csproj +++ b/Hyperbar.Widget.MediaController.Windows/Hyperbar.Widget.MediaController.Windows.csproj @@ -13,14 +13,15 @@ - + + + + - - \ No newline at end of file diff --git a/Hyperbar.Windows.MediaController/Views/MediaButtonView.xaml b/Hyperbar.Widget.MediaController.Windows/MediaButtonView.xaml similarity index 95% rename from Hyperbar.Windows.MediaController/Views/MediaButtonView.xaml rename to Hyperbar.Widget.MediaController.Windows/MediaButtonView.xaml index 25f0f53..3bc7768 100644 --- a/Hyperbar.Windows.MediaController/Views/MediaButtonView.xaml +++ b/Hyperbar.Widget.MediaController.Windows/MediaButtonView.xaml @@ -1,6 +1,6 @@ , diff --git a/Hyperbar.Windows.MediaController/Lifecycles/MediaControllerFactory.cs b/Hyperbar.Widget.MediaController.Windows/MediaControllerFactory.cs similarity index 90% rename from Hyperbar.Windows.MediaController/Lifecycles/MediaControllerFactory.cs rename to Hyperbar.Widget.MediaController.Windows/MediaControllerFactory.cs index 78b6aa2..84d910f 100644 --- a/Hyperbar.Windows.MediaController/Lifecycles/MediaControllerFactory.cs +++ b/Hyperbar.Widget.MediaController.Windows/MediaControllerFactory.cs @@ -1,6 +1,6 @@ using Windows.Media.Control; -namespace Hyperbar.Windows.MediaController; +namespace Hyperbar.Widget.MediaController.Windows; public class MediaControllerFactory(IServiceScopeFactory serviceScopeFactory) : IFactory diff --git a/Hyperbar.Windows.MediaController/Lifecycles/MediaControllerHandler.cs b/Hyperbar.Widget.MediaController.Windows/MediaControllerHandler.cs similarity index 96% rename from Hyperbar.Windows.MediaController/Lifecycles/MediaControllerHandler.cs rename to Hyperbar.Widget.MediaController.Windows/MediaControllerHandler.cs index a48d42c..d163d2e 100644 --- a/Hyperbar.Windows.MediaController/Lifecycles/MediaControllerHandler.cs +++ b/Hyperbar.Widget.MediaController.Windows/MediaControllerHandler.cs @@ -1,6 +1,6 @@ using Microsoft.Extensions.DependencyInjection; -namespace Hyperbar.Windows.MediaController; +namespace Hyperbar.Widget.MediaController.Windows; public class MediaControllerHandler(IMediator mediator, IServiceScopeProvider scopeProvider, diff --git a/Hyperbar.Windows.MediaController/Lifecycles/MediaControllerManager.cs b/Hyperbar.Widget.MediaController.Windows/MediaControllerManager.cs similarity index 94% rename from Hyperbar.Windows.MediaController/Lifecycles/MediaControllerManager.cs rename to Hyperbar.Widget.MediaController.Windows/MediaControllerManager.cs index 92d9ef9..deb6923 100644 --- a/Hyperbar.Windows.MediaController/Lifecycles/MediaControllerManager.cs +++ b/Hyperbar.Widget.MediaController.Windows/MediaControllerManager.cs @@ -1,6 +1,7 @@ using Windows.Media.Control; -namespace Hyperbar.Windows.MediaController; +namespace Hyperbar.Widget.MediaController.Windows; + public class MediaControllerManager(IMediator mediator, IFactory factory, IDispatcher dispatcher, @@ -29,7 +30,7 @@ public class MediaControllerManager(IMediator mediator, { if (factory.Create(session) is MediaController mediaController) { - //await mediator.PublishAsync(new Created(mediaController)); + await mediator.PublishAsync(new Created(mediaController)); cache.Add(new KeyValuePair(session, mediaController)); } } diff --git a/Hyperbar.Windows.MediaController/Views/MediaControllerView.xaml b/Hyperbar.Widget.MediaController.Windows/MediaControllerView.xaml similarity index 85% rename from Hyperbar.Windows.MediaController/Views/MediaControllerView.xaml rename to Hyperbar.Widget.MediaController.Windows/MediaControllerView.xaml index 3747274..3d233ad 100644 --- a/Hyperbar.Windows.MediaController/Views/MediaControllerView.xaml +++ b/Hyperbar.Widget.MediaController.Windows/MediaControllerView.xaml @@ -1,9 +1,9 @@ + xmlns:ui="using:Hyperbar.UI.Windows"> , diff --git a/Hyperbar.Windows.MediaController/Lifecycles/MediaControllerViewModelFactory.cs b/Hyperbar.Widget.MediaController.Windows/MediaControllerViewModelFactory.cs similarity index 88% rename from Hyperbar.Windows.MediaController/Lifecycles/MediaControllerViewModelFactory.cs rename to Hyperbar.Widget.MediaController.Windows/MediaControllerViewModelFactory.cs index 7d6ab3c..051c89c 100644 --- a/Hyperbar.Windows.MediaController/Lifecycles/MediaControllerViewModelFactory.cs +++ b/Hyperbar.Widget.MediaController.Windows/MediaControllerViewModelFactory.cs @@ -1,4 +1,4 @@ -namespace Hyperbar.Windows.MediaController; +namespace Hyperbar.Widget.MediaController.Windows; public class MediaControllerViewModelFactory(IServiceFactory service) : IFactory diff --git a/Hyperbar.Windows.MediaController/Lifecycles/MediaControllerWidget.cs b/Hyperbar.Widget.MediaController.Windows/MediaControllerWidget.cs similarity index 96% rename from Hyperbar.Windows.MediaController/Lifecycles/MediaControllerWidget.cs rename to Hyperbar.Widget.MediaController.Windows/MediaControllerWidget.cs index 10de475..b5551bb 100644 --- a/Hyperbar.Windows.MediaController/Lifecycles/MediaControllerWidget.cs +++ b/Hyperbar.Widget.MediaController.Windows/MediaControllerWidget.cs @@ -2,7 +2,7 @@ using Hyperbar.Widget; using Microsoft.Extensions.DependencyInjection; using Windows.Media.Control; -namespace Hyperbar.Windows.MediaController; +namespace Hyperbar.Widget.MediaController.Windows; public class MediaControllerWidget : IWidget diff --git a/Hyperbar.Windows.MediaController/Lifecycles/MediaControllerWidgetConfiguration.cs b/Hyperbar.Widget.MediaController.Windows/MediaControllerWidgetConfiguration.cs similarity index 67% rename from Hyperbar.Windows.MediaController/Lifecycles/MediaControllerWidgetConfiguration.cs rename to Hyperbar.Widget.MediaController.Windows/MediaControllerWidgetConfiguration.cs index 28a34f3..721be1b 100644 --- a/Hyperbar.Windows.MediaController/Lifecycles/MediaControllerWidgetConfiguration.cs +++ b/Hyperbar.Widget.MediaController.Windows/MediaControllerWidgetConfiguration.cs @@ -1,6 +1,6 @@ using Hyperbar.Widget; -namespace Hyperbar.Windows.MediaController; +namespace Hyperbar.Widget.MediaController.Windows; public class MediaControllerWidgetConfiguration : WidgetConfiguration diff --git a/Hyperbar.Widget.MediaController.Windows/MediaControllerWidgetView.xaml b/Hyperbar.Widget.MediaController.Windows/MediaControllerWidgetView.xaml new file mode 100644 index 0000000..2044035 --- /dev/null +++ b/Hyperbar.Widget.MediaController.Windows/MediaControllerWidgetView.xaml @@ -0,0 +1,7 @@ + + + + diff --git a/Hyperbar.Widget.MediaController.Windows/MediaControllerWidgetView.xaml.cs b/Hyperbar.Widget.MediaController.Windows/MediaControllerWidgetView.xaml.cs new file mode 100644 index 0000000..cbdbda4 --- /dev/null +++ b/Hyperbar.Widget.MediaController.Windows/MediaControllerWidgetView.xaml.cs @@ -0,0 +1,74 @@ +using CustomExtensions.WinUI; +using Microsoft.UI.Xaml.Controls; +using System.Reflection; +using System.Runtime.CompilerServices; +namespace Hyperbar.Widget.MediaController.Windows; + +public sealed partial class MediaControllerWidgetView : + UserControl +{ + public MediaControllerWidgetView() + { + Foo(@"C:\Users\dan_c\AppData\Local\Packages\24ccddba-447f-4d37-891d-523e8d820f45_rmhrgjnfy8he0\LocalCache\Local\Hyperbar.Windows\Extensions\Hyperbar.Windows.MediaController\Hyperbar.Windows.MediaController.dll"); + LocateResourcePath(this); + } + + public Assembly ForeignAssembly { get; set; } + + private string ForeignAssemblyDir; + private string ForeignAssemblyName; + private bool? IsHotReloadAvailable; + private DisposableCollection Disposables = new(); + private bool IsDisposed; + + internal static readonly Assembly? EntryAssembly; + internal static readonly string HostingProcessDir; + + static MediaControllerWidgetView() + { + EntryAssembly = Assembly.GetEntryAssembly(); + HostingProcessDir = Path.GetDirectoryName(EntryAssembly.Location); + } + + public void Foo(string assemblyPath) + { + // TODO: For some reason WinUI gets very angry when loading via AssemblyLoadContext, + // even if using AssemblyLoadContext.Default which *should* have no difference than + // Assembly.LoadFrom(), but it does. + // + // ExtensionContext = new(assemblyPath); + // ForeignAssembly = ExtensionContext.LoadFromAssemblyPath(assemblyPath); + ForeignAssembly = Assembly.LoadFrom(assemblyPath); + ForeignAssemblyDir = Path.GetDirectoryName(ForeignAssembly.Location); + ForeignAssemblyName = ForeignAssembly.GetName().Name; + } + + private string LocateResourcePath(object component, [CallerFilePath] string callerFilePath = "") + { + if (component.GetType().Assembly != ForeignAssembly) + { + throw new InvalidProgramException(); + } + string resourceName = Path.GetFileName(callerFilePath)[..^3]; + + string[] pathParts = callerFilePath.Split('\\')[..^1]; + for (int i = pathParts.Length - 1; i > 1; i++) + { + string pathCandidate = Path.Join(pathParts[i..pathParts.Length].Append(resourceName).Prepend(ForeignAssemblyName).ToArray()); + FileInfo sourceResource = new(Path.Combine(ForeignAssemblyDir, pathCandidate)); + FileInfo colocatedResource = new(Path.Combine(HostingProcessDir, pathCandidate)); + if (colocatedResource.Exists) + { + return pathCandidate; + } + if (sourceResource.Exists) + { + return sourceResource.FullName; + } + + throw new FileNotFoundException("Could not find resource", resourceName); + } + + throw new FileNotFoundException("Could not find resource", resourceName); + } +} \ No newline at end of file diff --git a/Hyperbar.Windows.MediaController/Views/MediaControllerWidgetViewModel.cs b/Hyperbar.Widget.MediaController.Windows/MediaControllerWidgetViewModel.cs similarity index 89% rename from Hyperbar.Windows.MediaController/Views/MediaControllerWidgetViewModel.cs rename to Hyperbar.Widget.MediaController.Windows/MediaControllerWidgetViewModel.cs index 1a2d54d..754a943 100644 --- a/Hyperbar.Windows.MediaController/Views/MediaControllerWidgetViewModel.cs +++ b/Hyperbar.Widget.MediaController.Windows/MediaControllerWidgetViewModel.cs @@ -1,6 +1,6 @@ using Hyperbar.Widget; -namespace Hyperbar.Windows.MediaController; +namespace Hyperbar.Widget.MediaController.Windows; public class MediaControllerWidgetViewModel(ITemplateFactory templateFactory, IServiceFactory serviceFactory, diff --git a/Hyperbar.Windows.MediaController/Lifecycles/MediaInformation.cs b/Hyperbar.Widget.MediaController.Windows/MediaInformation.cs similarity index 56% rename from Hyperbar.Windows.MediaController/Lifecycles/MediaInformation.cs rename to Hyperbar.Widget.MediaController.Windows/MediaInformation.cs index d033acf..d7f5028 100644 --- a/Hyperbar.Windows.MediaController/Lifecycles/MediaInformation.cs +++ b/Hyperbar.Widget.MediaController.Windows/MediaInformation.cs @@ -1,4 +1,4 @@ -namespace Hyperbar.Windows.MediaController; +namespace Hyperbar.Widget.MediaController.Windows; public record MediaInformation(string Title, string Description); diff --git a/Hyperbar.Windows.MediaController/Views/MediaInformationView.xaml b/Hyperbar.Widget.MediaController.Windows/MediaInformationView.xaml similarity index 94% rename from Hyperbar.Windows.MediaController/Views/MediaInformationView.xaml rename to Hyperbar.Widget.MediaController.Windows/MediaInformationView.xaml index f139106..619cc27 100644 --- a/Hyperbar.Windows.MediaController/Views/MediaInformationView.xaml +++ b/Hyperbar.Widget.MediaController.Windows/MediaInformationView.xaml @@ -1,6 +1,6 @@ this.InitializeComponent(ref _contentLoaded); +} diff --git a/Hyperbar.Windows.MediaController/Views/MediaInformationViewModel.cs b/Hyperbar.Widget.MediaController.Windows/MediaInformationViewModel.cs similarity index 94% rename from Hyperbar.Windows.MediaController/Views/MediaInformationViewModel.cs rename to Hyperbar.Widget.MediaController.Windows/MediaInformationViewModel.cs index 801bee0..316b815 100644 --- a/Hyperbar.Windows.MediaController/Views/MediaInformationViewModel.cs +++ b/Hyperbar.Widget.MediaController.Windows/MediaInformationViewModel.cs @@ -1,7 +1,7 @@ using CommunityToolkit.Mvvm.ComponentModel; using Hyperbar.Widget; -namespace Hyperbar.Windows.MediaController; +namespace Hyperbar.Widget.MediaController.Windows; public partial class MediaInformationViewModel(IServiceFactory serviceFactory, IMediator mediator, diff --git a/Hyperbar.Widget.MediaController.Windows/Pause.cs b/Hyperbar.Widget.MediaController.Windows/Pause.cs new file mode 100644 index 0000000..1a54ab0 --- /dev/null +++ b/Hyperbar.Widget.MediaController.Windows/Pause.cs @@ -0,0 +1,3 @@ +namespace Hyperbar.Widget.MediaController.Windows; + +public record Pause : INotification; diff --git a/Hyperbar.Widget.MediaController.Windows/Play.cs b/Hyperbar.Widget.MediaController.Windows/Play.cs new file mode 100644 index 0000000..4b1df84 --- /dev/null +++ b/Hyperbar.Widget.MediaController.Windows/Play.cs @@ -0,0 +1,3 @@ +namespace Hyperbar.Widget.MediaController.Windows; + +public record Play : INotification; \ No newline at end of file diff --git a/Hyperbar.Widget.MediaController.Windows/Playback.cs b/Hyperbar.Widget.MediaController.Windows/Playback.cs new file mode 100644 index 0000000..a181650 --- /dev/null +++ b/Hyperbar.Widget.MediaController.Windows/Playback.cs @@ -0,0 +1,3 @@ +namespace Hyperbar.Widget.MediaController.Windows; + +public record Playback : INotification; diff --git a/Hyperbar.Windows.Primary/Hyperbar.Widget.Primary.csproj b/Hyperbar.Widget.Primary.Windows/Hyperbar.Widget.Primary.csproj similarity index 100% rename from Hyperbar.Windows.Primary/Hyperbar.Widget.Primary.csproj rename to Hyperbar.Widget.Primary.Windows/Hyperbar.Widget.Primary.csproj diff --git a/Hyperbar.Windows.Primary/KeyAcceleratorCommandConfiguration.cs b/Hyperbar.Widget.Primary.Windows/KeyAcceleratorCommandConfiguration.cs similarity index 78% rename from Hyperbar.Windows.Primary/KeyAcceleratorCommandConfiguration.cs rename to Hyperbar.Widget.Primary.Windows/KeyAcceleratorCommandConfiguration.cs index 83963a0..982ca32 100644 --- a/Hyperbar.Windows.Primary/KeyAcceleratorCommandConfiguration.cs +++ b/Hyperbar.Widget.Primary.Windows/KeyAcceleratorCommandConfiguration.cs @@ -1,4 +1,4 @@ -namespace Hyperbar.Windows.Primary; +namespace Hyperbar.Widget.Primary.Windows; public class KeyAcceleratorCommandConfiguration : PrimaryCommandConfiguration diff --git a/Hyperbar.Windows.Primary/PrimaryCommandConfiguration.cs b/Hyperbar.Widget.Primary.Windows/PrimaryCommandConfiguration.cs similarity index 92% rename from Hyperbar.Windows.Primary/PrimaryCommandConfiguration.cs rename to Hyperbar.Widget.Primary.Windows/PrimaryCommandConfiguration.cs index cdcbf89..1c76201 100644 --- a/Hyperbar.Windows.Primary/PrimaryCommandConfiguration.cs +++ b/Hyperbar.Widget.Primary.Windows/PrimaryCommandConfiguration.cs @@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace Hyperbar.Windows.Primary; +namespace Hyperbar.Widget.Primary.Windows; [JsonDerivedType(typeof(KeyAcceleratorCommandConfiguration), typeDiscriminator: "KeyAcceleratorCommand")] [JsonDerivedType(typeof(ProcessCommandConfiguration), typeDiscriminator: "ProcessCommand")] diff --git a/Hyperbar.Windows.Primary/PrimaryWidget.cs b/Hyperbar.Widget.Primary.Windows/PrimaryWidget.cs similarity index 96% rename from Hyperbar.Windows.Primary/PrimaryWidget.cs rename to Hyperbar.Widget.Primary.Windows/PrimaryWidget.cs index a47c21f..e087ba9 100644 --- a/Hyperbar.Windows.Primary/PrimaryWidget.cs +++ b/Hyperbar.Widget.Primary.Windows/PrimaryWidget.cs @@ -1,7 +1,7 @@ using Hyperbar.Widget; using Microsoft.Extensions.DependencyInjection; -namespace Hyperbar.Windows.Primary; +namespace Hyperbar.Widget.Primary.Windows; public class PrimaryWidget : IWidget diff --git a/Hyperbar.Windows.Primary/PrimaryWidgetConfiguration.cs b/Hyperbar.Widget.Primary.Windows/PrimaryWidgetConfiguration.cs similarity index 80% rename from Hyperbar.Windows.Primary/PrimaryWidgetConfiguration.cs rename to Hyperbar.Widget.Primary.Windows/PrimaryWidgetConfiguration.cs index 458f9a5..9a166b9 100644 --- a/Hyperbar.Windows.Primary/PrimaryWidgetConfiguration.cs +++ b/Hyperbar.Widget.Primary.Windows/PrimaryWidgetConfiguration.cs @@ -1,6 +1,6 @@ using Hyperbar.Widget; -namespace Hyperbar.Windows.Primary; +namespace Hyperbar.Widget.Primary.Windows; public class PrimaryWidgetConfiguration : WidgetConfiguration diff --git a/Hyperbar.Windows.Primary/PrimaryWidgetConfigurationHandler.cs b/Hyperbar.Widget.Primary.Windows/PrimaryWidgetConfigurationHandler.cs similarity index 98% rename from Hyperbar.Windows.Primary/PrimaryWidgetConfigurationHandler.cs rename to Hyperbar.Widget.Primary.Windows/PrimaryWidgetConfigurationHandler.cs index 3a611db..1136ed4 100644 --- a/Hyperbar.Windows.Primary/PrimaryWidgetConfigurationHandler.cs +++ b/Hyperbar.Widget.Primary.Windows/PrimaryWidgetConfigurationHandler.cs @@ -1,6 +1,6 @@ using Hyperbar.Widget; -namespace Hyperbar.Windows.Primary; +namespace Hyperbar.Widget.Primary.Windows; public class PrimaryWidgetConfigurationHandler(IMediator mediator, PrimaryWidgetConfiguration configuration, diff --git a/Hyperbar.Windows.Primary/PrimaryWidgetViewModel.cs b/Hyperbar.Widget.Primary.Windows/PrimaryWidgetViewModel.cs similarity index 91% rename from Hyperbar.Windows.Primary/PrimaryWidgetViewModel.cs rename to Hyperbar.Widget.Primary.Windows/PrimaryWidgetViewModel.cs index 5f161d4..2186f0e 100644 --- a/Hyperbar.Windows.Primary/PrimaryWidgetViewModel.cs +++ b/Hyperbar.Widget.Primary.Windows/PrimaryWidgetViewModel.cs @@ -1,6 +1,6 @@ using Hyperbar.Widget; -namespace Hyperbar.Windows.Primary; +namespace Hyperbar.Widget.Primary.Windows; [NotificationHandler(nameof(PrimaryWidgetViewModel))] public class PrimaryWidgetViewModel(ITemplateFactory templateFactory, diff --git a/Hyperbar.Windows.Primary/ProcessCommandConfiguration.cs b/Hyperbar.Widget.Primary.Windows/ProcessCommandConfiguration.cs similarity index 73% rename from Hyperbar.Windows.Primary/ProcessCommandConfiguration.cs rename to Hyperbar.Widget.Primary.Windows/ProcessCommandConfiguration.cs index e59494a..2ccdd6c 100644 --- a/Hyperbar.Windows.Primary/ProcessCommandConfiguration.cs +++ b/Hyperbar.Widget.Primary.Windows/ProcessCommandConfiguration.cs @@ -1,4 +1,4 @@ -namespace Hyperbar.Windows.Primary; +namespace Hyperbar.Widget.Primary.Windows; public class ProcessCommandConfiguration : PrimaryCommandConfiguration diff --git a/Hyperbar.Windows.Primary/WidgetComponentFactory.cs b/Hyperbar.Widget.Primary.Windows/WidgetComponentFactory.cs similarity index 98% rename from Hyperbar.Windows.Primary/WidgetComponentFactory.cs rename to Hyperbar.Widget.Primary.Windows/WidgetComponentFactory.cs index c2513ed..1545b01 100644 --- a/Hyperbar.Windows.Primary/WidgetComponentFactory.cs +++ b/Hyperbar.Widget.Primary.Windows/WidgetComponentFactory.cs @@ -1,7 +1,7 @@ using CommunityToolkit.Mvvm.Input; using Hyperbar.Widget; -namespace Hyperbar.Windows.Primary; +namespace Hyperbar.Widget.Primary.Windows; public class WidgetComponentFactory(IServiceFactory factory, IMediator mediator, diff --git a/Hyperbar.Windows.Primary/WidgetComponentProvider.cs b/Hyperbar.Widget.Primary.Windows/WidgetComponentProvider.cs similarity index 91% rename from Hyperbar.Windows.Primary/WidgetComponentProvider.cs rename to Hyperbar.Widget.Primary.Windows/WidgetComponentProvider.cs index 964eb2f..210c19e 100644 --- a/Hyperbar.Windows.Primary/WidgetComponentProvider.cs +++ b/Hyperbar.Widget.Primary.Windows/WidgetComponentProvider.cs @@ -1,6 +1,6 @@ using Hyperbar.Widget; -namespace Hyperbar.Windows.Primary; +namespace Hyperbar.Widget.Primary.Windows; public class WidgetComponentProvider(ICache cache) : IProvider diff --git a/Hyperbar.Windows.Primary/WidgetComponentViewModelEnumerator.cs b/Hyperbar.Widget.Primary.Windows/WidgetComponentViewModelEnumerator.cs similarity index 97% rename from Hyperbar.Windows.Primary/WidgetComponentViewModelEnumerator.cs rename to Hyperbar.Widget.Primary.Windows/WidgetComponentViewModelEnumerator.cs index 5f75bfb..a15d937 100644 --- a/Hyperbar.Windows.Primary/WidgetComponentViewModelEnumerator.cs +++ b/Hyperbar.Widget.Primary.Windows/WidgetComponentViewModelEnumerator.cs @@ -1,6 +1,6 @@ using Hyperbar.Widget; -namespace Hyperbar.Windows.Primary; +namespace Hyperbar.Widget.Primary.Windows; public class WidgetComponentViewModelEnumerator(PrimaryWidgetConfiguration configuration, IMediator mediator, diff --git a/Hyperbar.Widget/Hyperbar.Widget.csproj b/Hyperbar.Widget/Hyperbar.Widget.csproj index 3ecc5a3..e8a520d 100644 --- a/Hyperbar.Widget/Hyperbar.Widget.csproj +++ b/Hyperbar.Widget/Hyperbar.Widget.csproj @@ -3,6 +3,7 @@ net8.0 enable enable + 1ed4d3bf-c619-4e7e-bbb1-517754d864cd diff --git a/Hyperbar.Widget/IWidgetResourceInitialization.cs b/Hyperbar.Widget/IWidgetResourceInitialization.cs new file mode 100644 index 0000000..79b78aa --- /dev/null +++ b/Hyperbar.Widget/IWidgetResourceInitialization.cs @@ -0,0 +1,7 @@ +namespace Hyperbar.Widget; + +public interface IWidgetResourceInitialization : + IInitializer +{ + +} diff --git a/Hyperbar.Widget/WidgetEnumerator.cs b/Hyperbar.Widget/WidgetEnumerator.cs index 842ec3f..2f7b2a5 100644 --- a/Hyperbar.Widget/WidgetEnumerator.cs +++ b/Hyperbar.Widget/WidgetEnumerator.cs @@ -4,7 +4,8 @@ using System.Runtime.Loader; namespace Hyperbar.Widget; -public class WidgetEnumerator(IHostEnvironment hostEnvironment, +public class WidgetEnumerator(IFactory factory, + IHostEnvironment hostEnvironment, IMediator mediator) : INotificationHandler> { @@ -21,10 +22,17 @@ public class WidgetEnumerator(IHostEnvironment hostEnvironment, .SelectMany(assemblyDirectory => Directory.GetFiles(assemblyDirectory, "*.dll")) ]; - Parallel.ForEach(assemblyPaths, (string assemblyPath) => + Parallel.ForEach(assemblyPaths, async (string assemblyPath) => { Assembly assembly = AssemblyLoadContext.Default.LoadFromAssemblyPath(assemblyPath); - mediator.PublishAsync(new Created(assembly)); + if (assembly.GetTypes().FirstOrDefault(x => typeof(IWidget).IsAssignableFrom(x)) is Type widgetType) + { + if (factory.Create(widgetType) is IWidget widget) + { + await mediator.PublishAsync(new Created(widget), + cancellationToken); + } + } }); } diff --git a/Hyperbar.Windows.Controls/Hyperbar.Windows.Controls.csproj b/Hyperbar.Windows.Controls/Hyperbar.Windows.Controls.csproj deleted file mode 100644 index adab486..0000000 --- a/Hyperbar.Windows.Controls/Hyperbar.Windows.Controls.csproj +++ /dev/null @@ -1,19 +0,0 @@ - - - net8.0-windows10.0.19041.0 - 10.0.17763.0 - win10-x86;win10-x64;win10-arm64 - true - true - enable - enable - - - - - - - - - - diff --git a/Hyperbar.Windows.Interop/IVirtualKeyboard.cs b/Hyperbar.Windows.Interop/IVirtualKeyboard.cs deleted file mode 100644 index e1c9792..0000000 --- a/Hyperbar.Windows.Interop/IVirtualKeyboard.cs +++ /dev/null @@ -1,7 +0,0 @@ -namespace Hyperbar.Windows.Interop -{ - public interface IVirtualKeyboard - { - void Send(int key, params int[] modifierKeys); - } -} \ No newline at end of file diff --git a/Hyperbar.Windows.MediaController/Lifecycles/Backward.cs b/Hyperbar.Windows.MediaController/Lifecycles/Backward.cs deleted file mode 100644 index d7bcf7c..0000000 --- a/Hyperbar.Windows.MediaController/Lifecycles/Backward.cs +++ /dev/null @@ -1,3 +0,0 @@ -namespace Hyperbar.Windows.MediaController; - -public record Backward : INotification; diff --git a/Hyperbar.Windows.MediaController/Lifecycles/Foward.cs b/Hyperbar.Windows.MediaController/Lifecycles/Foward.cs deleted file mode 100644 index 4db2cbc..0000000 --- a/Hyperbar.Windows.MediaController/Lifecycles/Foward.cs +++ /dev/null @@ -1,3 +0,0 @@ -namespace Hyperbar.Windows.MediaController; - -public record Foward : INotification; diff --git a/Hyperbar.Windows.MediaController/Lifecycles/Pause.cs b/Hyperbar.Windows.MediaController/Lifecycles/Pause.cs deleted file mode 100644 index a8c349b..0000000 --- a/Hyperbar.Windows.MediaController/Lifecycles/Pause.cs +++ /dev/null @@ -1,3 +0,0 @@ -namespace Hyperbar.Windows.MediaController; - -public record Pause : INotification; diff --git a/Hyperbar.Windows.MediaController/Lifecycles/Play.cs b/Hyperbar.Windows.MediaController/Lifecycles/Play.cs deleted file mode 100644 index 6b86f2d..0000000 --- a/Hyperbar.Windows.MediaController/Lifecycles/Play.cs +++ /dev/null @@ -1,3 +0,0 @@ -namespace Hyperbar.Windows.MediaController; - -public record Play : INotification; \ No newline at end of file diff --git a/Hyperbar.Windows.MediaController/Lifecycles/Playback.cs b/Hyperbar.Windows.MediaController/Lifecycles/Playback.cs deleted file mode 100644 index 3ed1095..0000000 --- a/Hyperbar.Windows.MediaController/Lifecycles/Playback.cs +++ /dev/null @@ -1,3 +0,0 @@ -namespace Hyperbar.Windows.MediaController; - -public record Playback : INotification; diff --git a/Hyperbar.Windows.MediaController/Views/MediaControllerWidgetView.xaml b/Hyperbar.Windows.MediaController/Views/MediaControllerWidgetView.xaml deleted file mode 100644 index f9dc3bc..0000000 --- a/Hyperbar.Windows.MediaController/Views/MediaControllerWidgetView.xaml +++ /dev/null @@ -1,13 +0,0 @@ - - - - diff --git a/Hyperbar.Windows.MediaController/Views/MediaControllerWidgetView.xaml.cs b/Hyperbar.Windows.MediaController/Views/MediaControllerWidgetView.xaml.cs deleted file mode 100644 index 709e11f..0000000 --- a/Hyperbar.Windows.MediaController/Views/MediaControllerWidgetView.xaml.cs +++ /dev/null @@ -1,8 +0,0 @@ -using Microsoft.UI.Xaml.Controls; -namespace Hyperbar.Windows.MediaController; - -public sealed partial class MediaControllerWidgetView : - UserControl -{ - public MediaControllerWidgetView() => InitializeComponent(); -} diff --git a/Hyperbar.Windows.MediaController/Views/MediaInformationView.xaml.cs b/Hyperbar.Windows.MediaController/Views/MediaInformationView.xaml.cs deleted file mode 100644 index b66b612..0000000 --- a/Hyperbar.Windows.MediaController/Views/MediaInformationView.xaml.cs +++ /dev/null @@ -1,9 +0,0 @@ -using Microsoft.UI.Xaml.Controls; - -namespace Hyperbar.Windows.MediaController; - -public sealed partial class MediaInformationView : - UserControl -{ - public MediaInformationView() => InitializeComponent(); -} diff --git a/Hyperbar.Windows/App.xaml b/Hyperbar.Windows/App.xaml index cf84fd3..1aaf4ee 100644 --- a/Hyperbar.Windows/App.xaml +++ b/Hyperbar.Windows/App.xaml @@ -3,7 +3,7 @@ x:Class="Hyperbar.Windows.App" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:ui="using:Hyperbar.Windows.UI"> + xmlns:ui="using:Hyperbar.UI.Windows"> diff --git a/Hyperbar.Windows/App.xaml.cs b/Hyperbar.Windows/App.xaml.cs index c36760e..b8f5465 100644 --- a/Hyperbar.Windows/App.xaml.cs +++ b/Hyperbar.Windows/App.xaml.cs @@ -1,27 +1,30 @@ -using Hyperbar.Widget; -using Hyperbar.Windows.Controls; -using Hyperbar.Windows.Interop; -using Hyperbar.Windows.UI; +using CustomExtensions.WinUI; +using Hyperbar.Controls.Windows; +using Hyperbar.Interop.Windows; +using Hyperbar.UI.Windows; +using Hyperbar.Widget; using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.Configuration.Json; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.UI.Dispatching; using Microsoft.UI.Xaml; -using System; using System.Reflection; -using Windows.Media.Control; namespace Hyperbar.Windows; public partial class App : Application { - public App() => InitializeComponent(); + public App() + { + InitializeComponent(); + ApplicationExtensionHost.Initialize(this); + } protected override async void OnLaunched(LaunchActivatedEventArgs args) { base.OnLaunched(args); + IHost? host = new HostBuilder() .UseContentRoot(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData), Assembly.GetEntryAssembly()?.GetName().Name!), true) @@ -71,35 +74,9 @@ public partial class App : services.AddContentTemplate(); services.AddContentTemplate(); })); - - //services.AddTransient(provider => - //{ - // static IEnumerable Resolve(IServiceProvider services) - // { - // int index = 0; - // foreach (WidgetContext widgetContext in services.GetServices()) - // { - // if (widgetContext.ServiceProvider.GetService() is IWidget widget) - // { - // if (widgetContext.ServiceProvider.GetServices() is - // IEnumerable viewModels) - // { - // yield return (WidgetContainerViewModel)ActivatorUtilities.CreateInstance(widgetContext.ServiceProvider, - // typeof(WidgetContainerViewModel), viewModels, index % 2 == 1, widget.Id); - - // index++; - // } - // } - // } - // } - - // return Resolve(provider); - //}); }) .Build(); - var d = host.Services.GetService(); - await host.RunAsync(); } } \ No newline at end of file diff --git a/Hyperbar.Windows/Hyperbar.Windows.csproj b/Hyperbar.Windows/Hyperbar.Windows.csproj index c66b2fc..42a87db 100644 --- a/Hyperbar.Windows/Hyperbar.Windows.csproj +++ b/Hyperbar.Windows/Hyperbar.Windows.csproj @@ -32,10 +32,12 @@ + - - + + + @@ -44,10 +46,10 @@ true + + + - - - \ No newline at end of file diff --git a/Hyperbar.Windows/Lifecycles/AppConfiguration.cs b/Hyperbar.Windows/Lifecycles/AppConfiguration.cs index 3f015c4..2132d2b 100644 --- a/Hyperbar.Windows/Lifecycles/AppConfiguration.cs +++ b/Hyperbar.Windows/Lifecycles/AppConfiguration.cs @@ -1,4 +1,4 @@ -using Hyperbar.Windows.Controls; +using Hyperbar.Controls.Windows; namespace Hyperbar.Windows; diff --git a/Hyperbar.Windows/Lifecycles/AppInitializer.cs b/Hyperbar.Windows/Lifecycles/AppInitializer.cs index fdc2a3e..adbd206 100644 --- a/Hyperbar.Windows/Lifecycles/AppInitializer.cs +++ b/Hyperbar.Windows/Lifecycles/AppInitializer.cs @@ -1,5 +1,5 @@ -using Hyperbar.Widget; -using Hyperbar.Windows.Controls; +using Hyperbar.Controls.Windows; +using Hyperbar.Widget; using Microsoft.Extensions.DependencyInjection; namespace Hyperbar.Windows; diff --git a/Hyperbar.Windows/Lifecycles/ConfigurationChangedHandler.cs b/Hyperbar.Windows/Lifecycles/ConfigurationChangedHandler.cs index b184995..f20784c 100644 --- a/Hyperbar.Windows/Lifecycles/ConfigurationChangedHandler.cs +++ b/Hyperbar.Windows/Lifecycles/ConfigurationChangedHandler.cs @@ -1,4 +1,4 @@ -using Hyperbar.Windows.Controls; +using Hyperbar.Controls.Windows; namespace Hyperbar.Windows; diff --git a/Hyperbar.Windows/Lifecycles/IServiceCollectionExtensions.cs b/Hyperbar.Windows/Lifecycles/IServiceCollectionExtensions.cs deleted file mode 100644 index 73a03bf..0000000 --- a/Hyperbar.Windows/Lifecycles/IServiceCollectionExtensions.cs +++ /dev/null @@ -1,59 +0,0 @@ -using Hyperbar.Windows.Interop; -using Hyperbar.Windows.UI; -using Microsoft.Extensions.Configuration; -using Microsoft.Extensions.DependencyInjection; -using Microsoft.Extensions.Hosting; - -namespace Hyperbar.Windows -{ - //public static class IServiceCollectionExtensions - //{ - // public static IServiceCollection AddWidget(this IServiceCollection services) - // where TWidget : - // IWidget, - // new() - // { - // IHost? host = new HostBuilder() - // .UseContentRoot(AppContext.BaseDirectory) - // .ConfigureAppConfiguration(config => - // { - // config.SetBasePath(AppContext.BaseDirectory); - // config.AddJsonFile("Settings.json", true, true); - // }) - // .ConfigureServices((context, isolatedServices) => - // { - // isolatedServices.AddScoped(provider => - // new ServiceFactory((type, parameters) => ActivatorUtilities.CreateInstance(provider, type, parameters!))); - - // isolatedServices.AddHostedService(); - // isolatedServices.AddTransient(); - - // isolatedServices.AddScoped(); - // isolatedServices.AddScoped(); - // isolatedServices.AddSingleton(); - - // isolatedServices.AddScoped(); - - // isolatedServices.AddHandler(); - // isolatedServices.AddHandler(); - - // isolatedServices.AddTransient(); - - // isolatedServices.AddContentTemplate(); - // isolatedServices.AddContentTemplate(); - // isolatedServices.AddContentTemplate(); - - // TWidget widget = new(); - // IWidgetBuilder builder = widget.Create(); - - // isolatedServices.AddRange(builder.Services); - - // }).Build(); - - // services.AddTransient(provider => new WidgetContext(host.Services)); - - // host.Start(); - // return services; - // } - //} -} \ No newline at end of file diff --git a/Hyperbar.Windows/Lifecycles/KeyAcceleratorHandler.cs b/Hyperbar.Windows/Lifecycles/KeyAcceleratorHandler.cs index 769acbf..ca59f64 100644 --- a/Hyperbar.Windows/Lifecycles/KeyAcceleratorHandler.cs +++ b/Hyperbar.Windows/Lifecycles/KeyAcceleratorHandler.cs @@ -1,4 +1,4 @@ -using Hyperbar.Windows.Interop; +using Hyperbar.Interop.Windows; namespace Hyperbar.Windows; diff --git a/Hyperbar.Windows/Views/WidgetBarView.xaml b/Hyperbar.Windows/Views/WidgetBarView.xaml index cd10f9d..757766d 100644 --- a/Hyperbar.Windows/Views/WidgetBarView.xaml +++ b/Hyperbar.Windows/Views/WidgetBarView.xaml @@ -3,7 +3,7 @@ x:Class="Hyperbar.Windows.WidgetBarView" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" - xmlns:ui="using:Hyperbar.Windows.UI"> + xmlns:ui="using:Hyperbar.UI.Windows"> diff --git a/Hyperbar.Windows/Views/WidgetContainerView.xaml b/Hyperbar.Windows/Views/WidgetContainerView.xaml index 75561cb..a1a4049 100644 --- a/Hyperbar.Windows/Views/WidgetContainerView.xaml +++ b/Hyperbar.Windows/Views/WidgetContainerView.xaml @@ -5,7 +5,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:interactions="using:Microsoft.Xaml.Interactions.Core" xmlns:interactivity="using:Microsoft.Xaml.Interactivity" - xmlns:ui="using:Hyperbar.Windows.UI"> + xmlns:ui="using:Hyperbar.UI.Windows"> diff --git a/Hyperbar.Windows/Views/WidgetView.xaml b/Hyperbar.Windows/Views/WidgetView.xaml index 7cdf03c..943ce13 100644 --- a/Hyperbar.Windows/Views/WidgetView.xaml +++ b/Hyperbar.Windows/Views/WidgetView.xaml @@ -5,7 +5,7 @@ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:interactions="using:Microsoft.Xaml.Interactions.Core" xmlns:interactivity="using:Microsoft.Xaml.Interactivity" - xmlns:ui="using:Hyperbar.Windows.UI"> + xmlns:ui="using:Hyperbar.UI.Windows"> diff --git a/Hyperbar.sln b/Hyperbar.sln index b320946..99ac9a9 100644 --- a/Hyperbar.sln +++ b/Hyperbar.sln @@ -5,21 +5,21 @@ VisualStudioVersion = 17.8.34330.188 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Windows", "Hyperbar.Windows\Hyperbar.Windows.csproj", "{5C4824EE-23AB-495C-B55A-1F7C2A489698}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Windows.Controls", "Hyperbar.Windows.Controls\Hyperbar.Windows.Controls.csproj", "{48ECC6A3-94FF-405D-9DB5-46A725C1B117}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar", "Hyperbar\Hyperbar.csproj", "{E5795878-C7E3-4386-86FA-33681BCF8D5B}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Widget.Contextual", "Hyperbar.Windows.Contextual\Hyperbar.Widget.Contextual.csproj", "{C32D4073-2A9B-4257-8895-09951FAD8E7A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Widget", "Hyperbar.Widget\Hyperbar.Widget.csproj", "{D38F95E6-744B-45DB-AF67-F331FB73615A}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Widget.Primary", "Hyperbar.Windows.Primary\Hyperbar.Widget.Primary.csproj", "{AFB8A3EB-8831-4041-AE05-3E0EF672887C}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Controls.Windows", "Hyperbar.Controls.Windows\Hyperbar.Controls.Windows.csproj", "{9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Windows.UI", "Hyperbar.Windows.UI\Hyperbar.Windows.UI.csproj", "{ED489968-89A5-42B5-9FC3-20DCF5D78A5E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Interop.Windows", "Hyperbar.Interop.Windows\Hyperbar.Interop.Windows.csproj", "{D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Windows.Interop", "Hyperbar.Windows.Interop\Hyperbar.Windows.Interop.csproj", "{7263FB8C-4007-4581-8AD7-DCAB2AD7C444}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.UI.Windows", "Hyperbar.UI.Windows\Hyperbar.UI.Windows.csproj", "{97077400-7513-451E-83CB-C876D6C4E40E}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Windows.MediaController", "Hyperbar.Windows.MediaController\Hyperbar.Windows.MediaController.csproj", "{88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Widget.Contextual", "Hyperbar.Widget.Contextual.Windows\Hyperbar.Widget.Contextual.csproj", "{FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Hyperbar.Widget", "Hyperbar.Widget\Hyperbar.Widget.csproj", "{D38F95E6-744B-45DB-AF67-F331FB73615A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Widget.Primary", "Hyperbar.Widget.Primary.Windows\Hyperbar.Widget.Primary.csproj", "{4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Hyperbar.Widget.MediaController.Windows", "Hyperbar.Widget.MediaController.Windows\Hyperbar.Widget.MediaController.Windows.csproj", "{ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -57,22 +57,6 @@ Global {5C4824EE-23AB-495C-B55A-1F7C2A489698}.Release|x86.ActiveCfg = Release|x86 {5C4824EE-23AB-495C-B55A-1F7C2A489698}.Release|x86.Build.0 = Release|x86 {5C4824EE-23AB-495C-B55A-1F7C2A489698}.Release|x86.Deploy.0 = Release|x86 - {48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Debug|Any CPU.Build.0 = Debug|Any CPU - {48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Debug|ARM64.Build.0 = Debug|Any CPU - {48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Debug|x64.ActiveCfg = Debug|Any CPU - {48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Debug|x64.Build.0 = Debug|Any CPU - {48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Debug|x86.ActiveCfg = Debug|Any CPU - {48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Debug|x86.Build.0 = Debug|Any CPU - {48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Release|Any CPU.ActiveCfg = Release|Any CPU - {48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Release|Any CPU.Build.0 = Release|Any CPU - {48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Release|ARM64.ActiveCfg = Release|Any CPU - {48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Release|ARM64.Build.0 = Release|Any CPU - {48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Release|x64.ActiveCfg = Release|Any CPU - {48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Release|x64.Build.0 = Release|Any CPU - {48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Release|x86.ActiveCfg = Release|Any CPU - {48ECC6A3-94FF-405D-9DB5-46A725C1B117}.Release|x86.Build.0 = Release|Any CPU {E5795878-C7E3-4386-86FA-33681BCF8D5B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E5795878-C7E3-4386-86FA-33681BCF8D5B}.Debug|Any CPU.Build.0 = Debug|Any CPU {E5795878-C7E3-4386-86FA-33681BCF8D5B}.Debug|ARM64.ActiveCfg = Debug|Any CPU @@ -89,86 +73,6 @@ Global {E5795878-C7E3-4386-86FA-33681BCF8D5B}.Release|x64.Build.0 = Release|Any CPU {E5795878-C7E3-4386-86FA-33681BCF8D5B}.Release|x86.ActiveCfg = Release|Any CPU {E5795878-C7E3-4386-86FA-33681BCF8D5B}.Release|x86.Build.0 = Release|Any CPU - {C32D4073-2A9B-4257-8895-09951FAD8E7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C32D4073-2A9B-4257-8895-09951FAD8E7A}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C32D4073-2A9B-4257-8895-09951FAD8E7A}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {C32D4073-2A9B-4257-8895-09951FAD8E7A}.Debug|ARM64.Build.0 = Debug|Any CPU - {C32D4073-2A9B-4257-8895-09951FAD8E7A}.Debug|x64.ActiveCfg = Debug|Any CPU - {C32D4073-2A9B-4257-8895-09951FAD8E7A}.Debug|x64.Build.0 = Debug|Any CPU - {C32D4073-2A9B-4257-8895-09951FAD8E7A}.Debug|x86.ActiveCfg = Debug|Any CPU - {C32D4073-2A9B-4257-8895-09951FAD8E7A}.Debug|x86.Build.0 = Debug|Any CPU - {C32D4073-2A9B-4257-8895-09951FAD8E7A}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C32D4073-2A9B-4257-8895-09951FAD8E7A}.Release|Any CPU.Build.0 = Release|Any CPU - {C32D4073-2A9B-4257-8895-09951FAD8E7A}.Release|ARM64.ActiveCfg = Release|Any CPU - {C32D4073-2A9B-4257-8895-09951FAD8E7A}.Release|ARM64.Build.0 = Release|Any CPU - {C32D4073-2A9B-4257-8895-09951FAD8E7A}.Release|x64.ActiveCfg = Release|Any CPU - {C32D4073-2A9B-4257-8895-09951FAD8E7A}.Release|x64.Build.0 = Release|Any CPU - {C32D4073-2A9B-4257-8895-09951FAD8E7A}.Release|x86.ActiveCfg = Release|Any CPU - {C32D4073-2A9B-4257-8895-09951FAD8E7A}.Release|x86.Build.0 = Release|Any CPU - {AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Debug|Any CPU.Build.0 = Debug|Any CPU - {AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Debug|ARM64.Build.0 = Debug|Any CPU - {AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Debug|x64.ActiveCfg = Debug|Any CPU - {AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Debug|x64.Build.0 = Debug|Any CPU - {AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Debug|x86.ActiveCfg = Debug|Any CPU - {AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Debug|x86.Build.0 = Debug|Any CPU - {AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Release|Any CPU.ActiveCfg = Release|Any CPU - {AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Release|Any CPU.Build.0 = Release|Any CPU - {AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Release|ARM64.ActiveCfg = Release|Any CPU - {AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Release|ARM64.Build.0 = Release|Any CPU - {AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Release|x64.ActiveCfg = Release|Any CPU - {AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Release|x64.Build.0 = Release|Any CPU - {AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Release|x86.ActiveCfg = Release|Any CPU - {AFB8A3EB-8831-4041-AE05-3E0EF672887C}.Release|x86.Build.0 = Release|Any CPU - {ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Debug|Any CPU.Build.0 = Debug|Any CPU - {ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Debug|ARM64.Build.0 = Debug|Any CPU - {ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Debug|x64.ActiveCfg = Debug|Any CPU - {ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Debug|x64.Build.0 = Debug|Any CPU - {ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Debug|x86.ActiveCfg = Debug|Any CPU - {ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Debug|x86.Build.0 = Debug|Any CPU - {ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Release|Any CPU.ActiveCfg = Release|Any CPU - {ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Release|Any CPU.Build.0 = Release|Any CPU - {ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Release|ARM64.ActiveCfg = Release|Any CPU - {ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Release|ARM64.Build.0 = Release|Any CPU - {ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Release|x64.ActiveCfg = Release|Any CPU - {ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Release|x64.Build.0 = Release|Any CPU - {ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Release|x86.ActiveCfg = Release|Any CPU - {ED489968-89A5-42B5-9FC3-20DCF5D78A5E}.Release|x86.Build.0 = Release|Any CPU - {7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Debug|ARM64.Build.0 = Debug|Any CPU - {7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Debug|x64.ActiveCfg = Debug|Any CPU - {7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Debug|x64.Build.0 = Debug|Any CPU - {7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Debug|x86.ActiveCfg = Debug|Any CPU - {7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Debug|x86.Build.0 = Debug|Any CPU - {7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Release|Any CPU.Build.0 = Release|Any CPU - {7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Release|ARM64.ActiveCfg = Release|Any CPU - {7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Release|ARM64.Build.0 = Release|Any CPU - {7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Release|x64.ActiveCfg = Release|Any CPU - {7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Release|x64.Build.0 = Release|Any CPU - {7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Release|x86.ActiveCfg = Release|Any CPU - {7263FB8C-4007-4581-8AD7-DCAB2AD7C444}.Release|x86.Build.0 = Release|Any CPU - {88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Debug|Any CPU.Build.0 = Debug|Any CPU - {88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Debug|ARM64.ActiveCfg = Debug|Any CPU - {88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Debug|ARM64.Build.0 = Debug|Any CPU - {88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Debug|x64.ActiveCfg = Debug|Any CPU - {88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Debug|x64.Build.0 = Debug|Any CPU - {88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Debug|x86.ActiveCfg = Debug|Any CPU - {88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Debug|x86.Build.0 = Debug|Any CPU - {88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Release|Any CPU.ActiveCfg = Release|Any CPU - {88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Release|Any CPU.Build.0 = Release|Any CPU - {88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Release|ARM64.ActiveCfg = Release|Any CPU - {88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Release|ARM64.Build.0 = Release|Any CPU - {88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Release|x64.ActiveCfg = Release|Any CPU - {88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Release|x64.Build.0 = Release|Any CPU - {88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Release|x86.ActiveCfg = Release|Any CPU - {88C3EC90-C48C-47B9-89A8-740EFFFE5AAD}.Release|x86.Build.0 = Release|Any CPU {D38F95E6-744B-45DB-AF67-F331FB73615A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {D38F95E6-744B-45DB-AF67-F331FB73615A}.Debug|Any CPU.Build.0 = Debug|Any CPU {D38F95E6-744B-45DB-AF67-F331FB73615A}.Debug|ARM64.ActiveCfg = Debug|Any CPU @@ -185,6 +89,102 @@ Global {D38F95E6-744B-45DB-AF67-F331FB73615A}.Release|x64.Build.0 = Release|Any CPU {D38F95E6-744B-45DB-AF67-F331FB73615A}.Release|x86.ActiveCfg = Release|Any CPU {D38F95E6-744B-45DB-AF67-F331FB73615A}.Release|x86.Build.0 = Release|Any CPU + {9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Debug|ARM64.Build.0 = Debug|Any CPU + {9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Debug|x64.ActiveCfg = Debug|Any CPU + {9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Debug|x64.Build.0 = Debug|Any CPU + {9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Debug|x86.ActiveCfg = Debug|Any CPU + {9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Debug|x86.Build.0 = Debug|Any CPU + {9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Release|Any CPU.Build.0 = Release|Any CPU + {9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Release|ARM64.ActiveCfg = Release|Any CPU + {9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Release|ARM64.Build.0 = Release|Any CPU + {9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Release|x64.ActiveCfg = Release|Any CPU + {9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Release|x64.Build.0 = Release|Any CPU + {9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Release|x86.ActiveCfg = Release|Any CPU + {9D3C89EB-E4C6-4CC0-877C-EB5FC8A18F6C}.Release|x86.Build.0 = Release|Any CPU + {D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Debug|ARM64.Build.0 = Debug|Any CPU + {D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Debug|x64.ActiveCfg = Debug|Any CPU + {D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Debug|x64.Build.0 = Debug|Any CPU + {D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Debug|x86.ActiveCfg = Debug|Any CPU + {D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Debug|x86.Build.0 = Debug|Any CPU + {D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Release|Any CPU.Build.0 = Release|Any CPU + {D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Release|ARM64.ActiveCfg = Release|Any CPU + {D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Release|ARM64.Build.0 = Release|Any CPU + {D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Release|x64.ActiveCfg = Release|Any CPU + {D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Release|x64.Build.0 = Release|Any CPU + {D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Release|x86.ActiveCfg = Release|Any CPU + {D3F45FD8-03BA-4F5C-AEE2-E2DDD3ED6993}.Release|x86.Build.0 = Release|Any CPU + {97077400-7513-451E-83CB-C876D6C4E40E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {97077400-7513-451E-83CB-C876D6C4E40E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {97077400-7513-451E-83CB-C876D6C4E40E}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {97077400-7513-451E-83CB-C876D6C4E40E}.Debug|ARM64.Build.0 = Debug|Any CPU + {97077400-7513-451E-83CB-C876D6C4E40E}.Debug|x64.ActiveCfg = Debug|Any CPU + {97077400-7513-451E-83CB-C876D6C4E40E}.Debug|x64.Build.0 = Debug|Any CPU + {97077400-7513-451E-83CB-C876D6C4E40E}.Debug|x86.ActiveCfg = Debug|Any CPU + {97077400-7513-451E-83CB-C876D6C4E40E}.Debug|x86.Build.0 = Debug|Any CPU + {97077400-7513-451E-83CB-C876D6C4E40E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {97077400-7513-451E-83CB-C876D6C4E40E}.Release|Any CPU.Build.0 = Release|Any CPU + {97077400-7513-451E-83CB-C876D6C4E40E}.Release|ARM64.ActiveCfg = Release|Any CPU + {97077400-7513-451E-83CB-C876D6C4E40E}.Release|ARM64.Build.0 = Release|Any CPU + {97077400-7513-451E-83CB-C876D6C4E40E}.Release|x64.ActiveCfg = Release|Any CPU + {97077400-7513-451E-83CB-C876D6C4E40E}.Release|x64.Build.0 = Release|Any CPU + {97077400-7513-451E-83CB-C876D6C4E40E}.Release|x86.ActiveCfg = Release|Any CPU + {97077400-7513-451E-83CB-C876D6C4E40E}.Release|x86.Build.0 = Release|Any CPU + {FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Debug|ARM64.Build.0 = Debug|Any CPU + {FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Debug|x64.ActiveCfg = Debug|Any CPU + {FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Debug|x64.Build.0 = Debug|Any CPU + {FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Debug|x86.ActiveCfg = Debug|Any CPU + {FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Debug|x86.Build.0 = Debug|Any CPU + {FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Release|Any CPU.Build.0 = Release|Any CPU + {FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Release|ARM64.ActiveCfg = Release|Any CPU + {FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Release|ARM64.Build.0 = Release|Any CPU + {FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Release|x64.ActiveCfg = Release|Any CPU + {FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Release|x64.Build.0 = Release|Any CPU + {FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Release|x86.ActiveCfg = Release|Any CPU + {FF57BDC8-6E6D-478A-8312-D946D7ED4BAB}.Release|x86.Build.0 = Release|Any CPU + {4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Debug|ARM64.Build.0 = Debug|Any CPU + {4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Debug|x64.ActiveCfg = Debug|Any CPU + {4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Debug|x64.Build.0 = Debug|Any CPU + {4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Debug|x86.ActiveCfg = Debug|Any CPU + {4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Debug|x86.Build.0 = Debug|Any CPU + {4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Release|Any CPU.Build.0 = Release|Any CPU + {4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Release|ARM64.ActiveCfg = Release|Any CPU + {4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Release|ARM64.Build.0 = Release|Any CPU + {4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Release|x64.ActiveCfg = Release|Any CPU + {4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Release|x64.Build.0 = Release|Any CPU + {4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Release|x86.ActiveCfg = Release|Any CPU + {4F2A7DDC-C841-45B8-A324-8A9BD949FBDF}.Release|x86.Build.0 = Release|Any CPU + {ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Debug|ARM64.ActiveCfg = Debug|Any CPU + {ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Debug|ARM64.Build.0 = Debug|Any CPU + {ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Debug|x64.ActiveCfg = Debug|Any CPU + {ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Debug|x64.Build.0 = Debug|Any CPU + {ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Debug|x86.ActiveCfg = Debug|Any CPU + {ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Debug|x86.Build.0 = Debug|Any CPU + {ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Release|Any CPU.Build.0 = Release|Any CPU + {ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Release|ARM64.ActiveCfg = Release|Any CPU + {ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Release|ARM64.Build.0 = Release|Any CPU + {ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Release|x64.ActiveCfg = Release|Any CPU + {ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Release|x64.Build.0 = Release|Any CPU + {ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Release|x86.ActiveCfg = Release|Any CPU + {ACBB1C58-1DB6-40E1-ABF1-71F2D2F0EC73}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE diff --git a/Hyperbar/Hyperbar.csproj b/Hyperbar/Hyperbar.csproj index 29c2be8..1850150 100644 --- a/Hyperbar/Hyperbar.csproj +++ b/Hyperbar/Hyperbar.csproj @@ -7,6 +7,6 @@ - +