From 9455873952dd2b6d63da315f1650a74d6a132f7e Mon Sep 17 00:00:00 2001 From: Rambalac Date: Sun, 11 Jun 2017 18:17:07 +0900 Subject: [PATCH 1/8] Started universal camera refactoring to add Sony cameras --- Core.Tests/MenuSetHelperTests.cs | 3 +- Core/Camera/ICamera.cs | 12 ++ Core/Camera/LumixData/SdMemorySet.cs | 13 -- .../{ => Panasonic}/CameraMenuItem256.cs | 2 +- .../{ => Panasonic}/CameraMenuItemText.cs | 6 +- .../{ => Panasonic}/CameraOrientation.cs | 2 +- Core/Camera/{ => Panasonic}/CameraParser.cs | 16 +-- Core/Camera/{ => Panasonic}/CameraProfile.cs | 6 +- Core/Camera/{ => Panasonic}/CurMenu.cs | 6 +- Core/Camera/{ => Panasonic}/DeviceInfo.cs | 6 +- Core/Camera/{ => Panasonic}/FloatPoint.cs | 2 +- Core/Camera/{ => Panasonic}/FocusAreas.cs | 8 +- Core/Camera/{ => Panasonic}/GH3Parser.cs | 10 +- Core/Camera/{ => Panasonic}/GH4Parser.cs | 10 +- Core/Camera/{ => Panasonic}/Http.cs | 24 ++-- .../Camera/{ => Panasonic}/ICameraMenuItem.cs | 6 +- Core/Camera/{ => Panasonic}/IntPoint.cs | 8 +- Core/Camera/{ => Panasonic}/LensInfo.cs | 2 +- Core/Camera/{ => Panasonic}/Lumix.Internal.cs | 28 ++-- Core/Camera/{ => Panasonic}/Lumix.cs | 18 +-- .../LumixData/AutoFocusMode.cs | 6 +- .../LumixData/BaseRequestResult.cs | 6 +- .../{ => Panasonic}/LumixData/CameraMode.cs | 8 +- .../{ => Panasonic}/LumixData/CameraState.cs | 24 +++- .../LumixData/CameraStateRequestResult.cs | 6 +- .../LumixData/ChangeDirection.cs | 6 +- .../{ => Panasonic}/LumixData/CurMenuItem.cs | 8 +- .../LumixData/CurMenuRequestResult.cs | 6 +- .../LumixData/FocusAreaType.cs | 2 +- .../{ => Panasonic}/LumixData/FocusMode.cs | 8 +- .../LumixData/FocusModeRequestResult.cs | 6 +- .../LumixData/FocusPosition.cs | 2 +- Core/Camera/{ => Panasonic}/LumixData/Item.cs | 10 +- .../{ => Panasonic}/LumixData/Language.cs | 8 +- .../{ => Panasonic}/LumixData/MenuHolder.cs | 8 +- .../{ => Panasonic}/LumixData/MenuInfo.cs | 8 +- .../LumixData/MenuSetRequestResult.cs | 6 +- .../Camera/{ => Panasonic}/LumixData/OnOff.cs | 8 +- .../{ => Panasonic}/LumixData/RawMenuSet.cs | 6 +- .../{ => Panasonic}/LumixData/RecState.cs | 2 +- .../Camera/Panasonic/LumixData/SdMemorySet.cs | 13 ++ .../Camera/{ => Panasonic}/LumixData/Title.cs | 8 +- .../{ => Panasonic}/LumixData/TitleList.cs | 8 +- .../Camera/{ => Panasonic}/LumixData/YesNo.cs | 6 +- Core/Camera/{ => Panasonic}/LumixError.cs | 6 +- Core/Camera/{ => Panasonic}/LumixException.cs | 6 +- Core/Camera/{ => Panasonic}/LumixManager.cs | 24 ++-- Core/Camera/{ => Panasonic}/LumixState.cs | 14 +- .../{ => Panasonic}/MFAssistMoveStage.cs | 6 +- Core/Camera/{ => Panasonic}/MenuSet.cs | 2 +- .../{ => Panasonic}/OffFrameProcessor.cs | 16 +-- Core/Camera/{ => Panasonic}/Slice.cs | 10 +- Core/Camera/{ => Panasonic}/TextBinValue.cs | 2 +- Core/Camera/{ => Panasonic}/TitledList.cs | 8 +- .../{ => Panasonic}/TitledListExtensions.cs | 8 +- Core/Core.csproj | 7 +- Core/Tools/Log.cs | 5 +- GMaster/App.xaml.cs | 49 +++---- GMaster/GMaster.csproj | 22 ++-- GMaster/Package.StoreAssociation.xml | 1 + GMaster/Package.appxmanifest | 10 +- GMaster/Properties/AssemblyInfo.cs | 4 +- GMaster/Views/Adjuster.xaml.cs | 3 +- GMaster/Views/CameraContentPage.xaml | 13 ++ GMaster/Views/CameraContentPage.xaml.cs | 30 +++++ GMaster/Views/CameraViewControl.xaml | 61 +++++++-- GMaster/Views/CameraViewControl.xaml.cs | 6 +- GMaster/Views/CameraViewControlResources.xaml | 1 + .../Views/Commands/FocusPosResetCommand.cs | 43 ++++++ .../Views/Commands/ManualFocusAfCommand.cs | 3 +- GMaster/Views/Commands/MfAssistPinpCommand.cs | 3 +- GMaster/Views/Commands/RecCommand.cs | 5 +- .../Views/Commands/TouchAfReleaseCommand.cs | 3 +- .../AutofocusModeToIconPathConverter.cs | 3 +- .../CameraModeToIconPathConverter.cs | 3 +- .../Converters/RecStateToIconConvertor.cs | 3 +- GMaster/Views/MainMenu.xaml | 10 +- GMaster/Views/MainMenu.xaml.cs | 15 ++- GMaster/Views/Misc/FrameRenderer.cs | 5 +- GMaster/Views/Misc/LutInfo.cs | 1 + GMaster/Views/Models/CameraViewModel.cs | 122 +++++++++++------- GMaster/Views/Models/ConnectedCamera.cs | 4 +- GMaster/Views/Models/ConnectionsManager.cs | 4 +- GMaster/Views/Models/FocusArea.cs | 2 + GMaster/Views/Models/MainPageModel.cs | 4 +- GMaster/Views/NewWindowsPage.xaml | 2 +- GMaster/Views/NewWindowsPage.xaml.cs | 6 + GMaster/_pkginfo.txt | 2 +- GMaster/project.json | 6 +- {GMaster => Tools}/CubeLutParser.cs | 2 +- .../Misc => Tools}/ILutEffectGenerator.cs | 2 +- {GMaster => Tools}/ILutParser.cs | 2 +- {GMaster => Tools}/Lut.cs | 3 +- .../Misc => Tools}/Lut1DEffectGenerator.cs | 2 +- .../Misc => Tools}/Lut3DEffectGenerator.cs | 2 +- Tools/StoryboardManager.cs | 5 +- Tools/Tools.csproj | 6 + Tools/project.json | 3 +- 98 files changed, 601 insertions(+), 356 deletions(-) create mode 100644 Core/Camera/ICamera.cs delete mode 100644 Core/Camera/LumixData/SdMemorySet.cs rename Core/Camera/{ => Panasonic}/CameraMenuItem256.cs (96%) rename Core/Camera/{ => Panasonic}/CameraMenuItemText.cs (94%) rename Core/Camera/{ => Panasonic}/CameraOrientation.cs (79%) rename Core/Camera/{ => Panasonic}/CameraParser.cs (97%) rename Core/Camera/{ => Panasonic}/CameraProfile.cs (97%) rename Core/Camera/{ => Panasonic}/CurMenu.cs (63%) rename Core/Camera/{ => Panasonic}/DeviceInfo.cs (95%) rename Core/Camera/{ => Panasonic}/FloatPoint.cs (94%) rename Core/Camera/{ => Panasonic}/FocusAreas.cs (97%) rename Core/Camera/{ => Panasonic}/GH3Parser.cs (95%) rename Core/Camera/{ => Panasonic}/GH4Parser.cs (96%) rename Core/Camera/{ => Panasonic}/Http.cs (92%) rename Core/Camera/{ => Panasonic}/ICameraMenuItem.cs (74%) rename Core/Camera/{ => Panasonic}/IntPoint.cs (72%) rename Core/Camera/{ => Panasonic}/LensInfo.cs (97%) rename Core/Camera/{ => Panasonic}/Lumix.Internal.cs (97%) rename Core/Camera/{ => Panasonic}/Lumix.cs (98%) rename Core/Camera/{ => Panasonic}/LumixData/AutoFocusMode.cs (90%) rename Core/Camera/{ => Panasonic}/LumixData/BaseRequestResult.cs (68%) rename Core/Camera/{ => Panasonic}/LumixData/CameraMode.cs (93%) rename Core/Camera/{ => Panasonic}/LumixData/CameraState.cs (89%) rename Core/Camera/{ => Panasonic}/LumixData/CameraStateRequestResult.cs (70%) rename Core/Camera/{ => Panasonic}/LumixData/ChangeDirection.cs (80%) rename Core/Camera/{ => Panasonic}/LumixData/CurMenuItem.cs (83%) rename Core/Camera/{ => Panasonic}/LumixData/CurMenuRequestResult.cs (69%) rename Core/Camera/{ => Panasonic}/LumixData/FocusAreaType.cs (88%) rename Core/Camera/{ => Panasonic}/LumixData/FocusMode.cs (75%) rename Core/Camera/{ => Panasonic}/LumixData/FocusModeRequestResult.cs (84%) rename Core/Camera/{ => Panasonic}/LumixData/FocusPosition.cs (70%) rename Core/Camera/{ => Panasonic}/LumixData/Item.cs (93%) rename Core/Camera/{ => Panasonic}/LumixData/Language.cs (77%) rename Core/Camera/{ => Panasonic}/LumixData/MenuHolder.cs (58%) rename Core/Camera/{ => Panasonic}/LumixData/MenuInfo.cs (83%) rename Core/Camera/{ => Panasonic}/LumixData/MenuSetRequestResult.cs (70%) rename Core/Camera/{ => Panasonic}/LumixData/OnOff.cs (61%) rename Core/Camera/{ => Panasonic}/LumixData/RawMenuSet.cs (91%) rename Core/Camera/{ => Panasonic}/LumixData/RecState.cs (72%) create mode 100644 Core/Camera/Panasonic/LumixData/SdMemorySet.cs rename Core/Camera/{ => Panasonic}/LumixData/Title.cs (68%) rename Core/Camera/{ => Panasonic}/LumixData/TitleList.cs (81%) rename Core/Camera/{ => Panasonic}/LumixData/YesNo.cs (61%) rename Core/Camera/{ => Panasonic}/LumixError.cs (63%) rename Core/Camera/{ => Panasonic}/LumixException.cs (88%) rename Core/Camera/{ => Panasonic}/LumixManager.cs (96%) rename Core/Camera/{ => Panasonic}/LumixState.cs (97%) rename Core/Camera/{ => Panasonic}/MFAssistMoveStage.cs (75%) rename Core/Camera/{ => Panasonic}/MenuSet.cs (97%) rename Core/Camera/{ => Panasonic}/OffFrameProcessor.cs (96%) rename Core/Camera/{ => Panasonic}/Slice.cs (93%) rename Core/Camera/{ => Panasonic}/TextBinValue.cs (96%) rename Core/Camera/{ => Panasonic}/TitledList.cs (77%) rename Core/Camera/{ => Panasonic}/TitledListExtensions.cs (73%) create mode 100644 GMaster/Views/CameraContentPage.xaml create mode 100644 GMaster/Views/CameraContentPage.xaml.cs create mode 100644 GMaster/Views/Commands/FocusPosResetCommand.cs rename {GMaster => Tools}/CubeLutParser.cs (98%) rename {GMaster/Views/Misc => Tools}/ILutEffectGenerator.cs (92%) rename {GMaster => Tools}/ILutParser.cs (84%) rename {GMaster => Tools}/Lut.cs (93%) rename {GMaster/Views/Misc => Tools}/Lut1DEffectGenerator.cs (96%) rename {GMaster/Views/Misc => Tools}/Lut3DEffectGenerator.cs (96%) diff --git a/Core.Tests/MenuSetHelperTests.cs b/Core.Tests/MenuSetHelperTests.cs index 32773cd..8cb2136 100644 --- a/Core.Tests/MenuSetHelperTests.cs +++ b/Core.Tests/MenuSetHelperTests.cs @@ -1,6 +1,7 @@ using System.Linq; using GMaster.Core.Camera; -using GMaster.Core.Camera.LumixData; +using GMaster.Core.Camera.Panasonic; +using GMaster.Core.Camera.Panasonic.LumixData; using Newtonsoft.Json; namespace Gmaster.Core.Camera diff --git a/Core/Camera/ICamera.cs b/Core/Camera/ICamera.cs new file mode 100644 index 0000000..fb8c790 --- /dev/null +++ b/Core/Camera/ICamera.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace GMaster.Core.Camera +{ + delegate void LiveviewReceiver + class ICamera + { + StartLiveview(LiveviewReceiver receiver) + } +} diff --git a/Core/Camera/LumixData/SdMemorySet.cs b/Core/Camera/LumixData/SdMemorySet.cs deleted file mode 100644 index 3e096da..0000000 --- a/Core/Camera/LumixData/SdMemorySet.cs +++ /dev/null @@ -1,13 +0,0 @@ -namespace GMaster.Core.Camera.LumixData -{ - using System.Xml.Serialization; - - public enum SdMemorySet - { - [XmlEnum(Name = "set")] - Set, - - [XmlEnum(Name = "unset")] - Unset - } -} \ No newline at end of file diff --git a/Core/Camera/CameraMenuItem256.cs b/Core/Camera/Panasonic/CameraMenuItem256.cs similarity index 96% rename from Core/Camera/CameraMenuItem256.cs rename to Core/Camera/Panasonic/CameraMenuItem256.cs index d435478..11c5f4f 100644 --- a/Core/Camera/CameraMenuItem256.cs +++ b/Core/Camera/Panasonic/CameraMenuItem256.cs @@ -1,4 +1,4 @@ -namespace GMaster.Core.Camera +namespace GMaster.Core.Camera.Panasonic { public class CameraMenuItem256 : ICameraMenuItem { diff --git a/Core/Camera/CameraMenuItemText.cs b/Core/Camera/Panasonic/CameraMenuItemText.cs similarity index 94% rename from Core/Camera/CameraMenuItemText.cs rename to Core/Camera/Panasonic/CameraMenuItemText.cs index ed7d9e3..8a85a4c 100644 --- a/Core/Camera/CameraMenuItemText.cs +++ b/Core/Camera/Panasonic/CameraMenuItemText.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera -{ - using LumixData; +using GMaster.Core.Camera.Panasonic.LumixData; +namespace GMaster.Core.Camera.Panasonic +{ public class CameraMenuItemText : ICameraMenuItem { public CameraMenuItemText(Item i, string text) diff --git a/Core/Camera/CameraOrientation.cs b/Core/Camera/Panasonic/CameraOrientation.cs similarity index 79% rename from Core/Camera/CameraOrientation.cs rename to Core/Camera/Panasonic/CameraOrientation.cs index 67f6589..43f775b 100644 --- a/Core/Camera/CameraOrientation.cs +++ b/Core/Camera/Panasonic/CameraOrientation.cs @@ -1,4 +1,4 @@ -namespace GMaster.Core.Camera +namespace GMaster.Core.Camera.Panasonic { public enum CameraOrientation { diff --git a/Core/Camera/CameraParser.cs b/Core/Camera/Panasonic/CameraParser.cs similarity index 97% rename from Core/Camera/CameraParser.cs rename to Core/Camera/Panasonic/CameraParser.cs index dce72e0..f7dfe95 100644 --- a/Core/Camera/CameraParser.cs +++ b/Core/Camera/Panasonic/CameraParser.cs @@ -1,12 +1,12 @@ -namespace GMaster.Core.Camera -{ - using System; - using System.Collections.Generic; - using System.Globalization; - using System.Linq; - using LumixData; - using Tools; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using GMaster.Core.Camera.Panasonic.LumixData; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic +{ public abstract class CameraParser { protected static readonly TitledList DefaultIsoValues = new List diff --git a/Core/Camera/CameraProfile.cs b/Core/Camera/Panasonic/CameraProfile.cs similarity index 97% rename from Core/Camera/CameraProfile.cs rename to Core/Camera/Panasonic/CameraProfile.cs index 29f647b..2b26ff2 100644 --- a/Core/Camera/CameraProfile.cs +++ b/Core/Camera/Panasonic/CameraProfile.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera -{ - using System.Collections.Generic; +using System.Collections.Generic; +namespace GMaster.Core.Camera.Panasonic +{ public class CameraProfile { private static readonly CameraParser GH3Parser = new GH3Parser(); diff --git a/Core/Camera/CurMenu.cs b/Core/Camera/Panasonic/CurMenu.cs similarity index 63% rename from Core/Camera/CurMenu.cs rename to Core/Camera/Panasonic/CurMenu.cs index 9f96eae..8240765 100644 --- a/Core/Camera/CurMenu.cs +++ b/Core/Camera/Panasonic/CurMenu.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera -{ - using System.Collections.Generic; +using System.Collections.Generic; +namespace GMaster.Core.Camera.Panasonic +{ public class CurMenu { public Dictionary Enabled { get; } = new Dictionary(); diff --git a/Core/Camera/DeviceInfo.cs b/Core/Camera/Panasonic/DeviceInfo.cs similarity index 95% rename from Core/Camera/DeviceInfo.cs rename to Core/Camera/Panasonic/DeviceInfo.cs index f814b26..4363a9a 100644 --- a/Core/Camera/DeviceInfo.cs +++ b/Core/Camera/Panasonic/DeviceInfo.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera -{ - using Rssdp; +using Rssdp; +namespace GMaster.Core.Camera.Panasonic +{ public class DeviceInfo { internal DeviceInfo(SsdpRootDevice dev, string usn) diff --git a/Core/Camera/FloatPoint.cs b/Core/Camera/Panasonic/FloatPoint.cs similarity index 94% rename from Core/Camera/FloatPoint.cs rename to Core/Camera/Panasonic/FloatPoint.cs index 7c0ca29..b85e703 100644 --- a/Core/Camera/FloatPoint.cs +++ b/Core/Camera/Panasonic/FloatPoint.cs @@ -1,4 +1,4 @@ -namespace GMaster.Core.Camera +namespace GMaster.Core.Camera.Panasonic { public struct FloatPoint { diff --git a/Core/Camera/FocusAreas.cs b/Core/Camera/Panasonic/FocusAreas.cs similarity index 97% rename from Core/Camera/FocusAreas.cs rename to Core/Camera/Panasonic/FocusAreas.cs index 355b51b..79ad4e8 100644 --- a/Core/Camera/FocusAreas.cs +++ b/Core/Camera/Panasonic/FocusAreas.cs @@ -1,8 +1,8 @@ -namespace GMaster.Core.Camera -{ - using System.Collections.Generic; - using LumixData; +using System.Collections.Generic; +using GMaster.Core.Camera.Panasonic.LumixData; +namespace GMaster.Core.Camera.Panasonic +{ public class FocusAreas { private static readonly Dictionary FocusPointShifts = new Dictionary diff --git a/Core/Camera/GH3Parser.cs b/Core/Camera/Panasonic/GH3Parser.cs similarity index 95% rename from Core/Camera/GH3Parser.cs rename to Core/Camera/Panasonic/GH3Parser.cs index 4db0d72..e10d06e 100644 --- a/Core/Camera/GH3Parser.cs +++ b/Core/Camera/Panasonic/GH3Parser.cs @@ -1,9 +1,9 @@ -namespace GMaster.Core.Camera -{ - using System.Collections.Generic; - using System.Linq; - using LumixData; +using System.Collections.Generic; +using System.Linq; +using GMaster.Core.Camera.Panasonic.LumixData; +namespace GMaster.Core.Camera.Panasonic +{ public class GH3Parser : CameraParser { public override IReadOnlyDictionary IsoBinary { get; } = new Dictionary diff --git a/Core/Camera/GH4Parser.cs b/Core/Camera/Panasonic/GH4Parser.cs similarity index 96% rename from Core/Camera/GH4Parser.cs rename to Core/Camera/Panasonic/GH4Parser.cs index 32b9e67..e4541ab 100644 --- a/Core/Camera/GH4Parser.cs +++ b/Core/Camera/Panasonic/GH4Parser.cs @@ -1,9 +1,9 @@ -namespace GMaster.Core.Camera -{ - using System.Collections.Generic; - using System.Linq; - using LumixData; +using System.Collections.Generic; +using System.Linq; +using GMaster.Core.Camera.Panasonic.LumixData; +namespace GMaster.Core.Camera.Panasonic +{ public class GH4Parser : CameraParser { public override IReadOnlyDictionary IsoBinary { get; } = new Dictionary diff --git a/Core/Camera/Http.cs b/Core/Camera/Panasonic/Http.cs similarity index 92% rename from Core/Camera/Http.cs rename to Core/Camera/Panasonic/Http.cs index 7ebede4..38c6d4f 100644 --- a/Core/Camera/Http.cs +++ b/Core/Camera/Panasonic/Http.cs @@ -1,16 +1,16 @@ -namespace GMaster.Core.Camera -{ - using System; - using System.Collections.Generic; - using System.IO; - using System.Linq; - using System.Threading; - using System.Threading.Tasks; - using System.Xml.Serialization; - using LumixData; - using Network; - using Tools; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using System.Xml.Serialization; +using GMaster.Core.Camera.Panasonic.LumixData; +using GMaster.Core.Network; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic +{ public class Http : IDisposable { private readonly Uri baseUri; diff --git a/Core/Camera/ICameraMenuItem.cs b/Core/Camera/Panasonic/ICameraMenuItem.cs similarity index 74% rename from Core/Camera/ICameraMenuItem.cs rename to Core/Camera/Panasonic/ICameraMenuItem.cs index 0a30a1c..5cef0aa 100644 --- a/Core/Camera/ICameraMenuItem.cs +++ b/Core/Camera/Panasonic/ICameraMenuItem.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera -{ - using Tools; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic +{ public interface ICameraMenuItem : IStringIdItem { string Command { get; } diff --git a/Core/Camera/IntPoint.cs b/Core/Camera/Panasonic/IntPoint.cs similarity index 72% rename from Core/Camera/IntPoint.cs rename to Core/Camera/Panasonic/IntPoint.cs index 7124913..caa9fd5 100644 --- a/Core/Camera/IntPoint.cs +++ b/Core/Camera/Panasonic/IntPoint.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera -{ - using static System.Math; +using System; +namespace GMaster.Core.Camera.Panasonic +{ public struct IntPoint { public IntPoint(int x, int y) @@ -22,7 +22,7 @@ public IntPoint(FloatPoint p1, float m) public IntPoint Clamp(int min, int max) { - return new IntPoint(Max(Min(X, max), min), Max(Min(Y, max), min)); + return new IntPoint(Math.Max(Math.Min(X, max), min), Math.Max(Math.Min(Y, max), min)); } } } \ No newline at end of file diff --git a/Core/Camera/LensInfo.cs b/Core/Camera/Panasonic/LensInfo.cs similarity index 97% rename from Core/Camera/LensInfo.cs rename to Core/Camera/Panasonic/LensInfo.cs index 38d14bb..585e7eb 100644 --- a/Core/Camera/LensInfo.cs +++ b/Core/Camera/Panasonic/LensInfo.cs @@ -1,4 +1,4 @@ -namespace GMaster.Core.Camera +namespace GMaster.Core.Camera.Panasonic { public class LensInfo { diff --git a/Core/Camera/Lumix.Internal.cs b/Core/Camera/Panasonic/Lumix.Internal.cs similarity index 97% rename from Core/Camera/Lumix.Internal.cs rename to Core/Camera/Panasonic/Lumix.Internal.cs index a556864..6afaec5 100644 --- a/Core/Camera/Lumix.Internal.cs +++ b/Core/Camera/Panasonic/Lumix.Internal.cs @@ -1,18 +1,18 @@ -namespace GMaster.Core.Camera +using System; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; +using System.Threading; +using System.Threading.Tasks; +using GMaster.Core.Camera.Panasonic.LumixData; +using GMaster.Core.Network; +using GMaster.Core.Tools; +using Nito.AsyncEx; + +namespace GMaster.Core.Camera.Panasonic { - using System; - using System.Collections.Generic; - using System.Linq; - using System.Reflection; - using System.Runtime.CompilerServices; - using System.Runtime.InteropServices; - using System.Threading; - using System.Threading.Tasks; - using LumixData; - using Network; - using Nito.AsyncEx; - using Tools; - public partial class Lumix { private static readonly Dictionary RunnableCommands; diff --git a/Core/Camera/Lumix.cs b/Core/Camera/Panasonic/Lumix.cs similarity index 98% rename from Core/Camera/Lumix.cs rename to Core/Camera/Panasonic/Lumix.cs index ab1bb01..c2fbb0e 100644 --- a/Core/Camera/Lumix.cs +++ b/Core/Camera/Panasonic/Lumix.cs @@ -1,13 +1,13 @@ -namespace GMaster.Core.Camera +using System; +using System.Collections.Generic; +using System.Threading; +using System.Threading.Tasks; +using GMaster.Core.Camera.Panasonic.LumixData; +using GMaster.Core.Network; +using GMaster.Core.Tools; + +namespace GMaster.Core.Camera.Panasonic { - using System; - using System.Collections.Generic; - using System.Threading; - using System.Threading.Tasks; - using LumixData; - using Network; - using Tools; - public partial class Lumix : IDisposable { private float lastOldPinchSize; diff --git a/Core/Camera/LumixData/AutoFocusMode.cs b/Core/Camera/Panasonic/LumixData/AutoFocusMode.cs similarity index 90% rename from Core/Camera/LumixData/AutoFocusMode.cs rename to Core/Camera/Panasonic/LumixData/AutoFocusMode.cs index 33c0a1b..df9463c 100644 --- a/Core/Camera/LumixData/AutoFocusMode.cs +++ b/Core/Camera/Panasonic/LumixData/AutoFocusMode.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera.LumixData -{ - using Tools; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ public enum AutoFocusModeFlags { None, diff --git a/Core/Camera/LumixData/BaseRequestResult.cs b/Core/Camera/Panasonic/LumixData/BaseRequestResult.cs similarity index 68% rename from Core/Camera/LumixData/BaseRequestResult.cs rename to Core/Camera/Panasonic/LumixData/BaseRequestResult.cs index 5656f4d..f99706d 100644 --- a/Core/Camera/LumixData/BaseRequestResult.cs +++ b/Core/Camera/Panasonic/LumixData/BaseRequestResult.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera.LumixData -{ - using System.Xml.Serialization; +using System.Xml.Serialization; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ [XmlRoot(ElementName = "camrply")] public class BaseRequestResult { diff --git a/Core/Camera/LumixData/CameraMode.cs b/Core/Camera/Panasonic/LumixData/CameraMode.cs similarity index 93% rename from Core/Camera/LumixData/CameraMode.cs rename to Core/Camera/Panasonic/LumixData/CameraMode.cs index f1a48cf..a398114 100644 --- a/Core/Camera/LumixData/CameraMode.cs +++ b/Core/Camera/Panasonic/LumixData/CameraMode.cs @@ -1,12 +1,12 @@ // ReSharper disable InconsistentNaming +using System; +using GMaster.Core.Tools; + #pragma warning disable SA1300 // Element must begin with upper-case letter -namespace GMaster.Core.Camera.LumixData +namespace GMaster.Core.Camera.Panasonic.LumixData { - using System; - using Tools; - [Flags] public enum CameraModeFlags { diff --git a/Core/Camera/LumixData/CameraState.cs b/Core/Camera/Panasonic/LumixData/CameraState.cs similarity index 89% rename from Core/Camera/LumixData/CameraState.cs rename to Core/Camera/Panasonic/LumixData/CameraState.cs index 6c3efa8..11f9318 100644 --- a/Core/Camera/LumixData/CameraState.cs +++ b/Core/Camera/Panasonic/LumixData/CameraState.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera.LumixData -{ - using System.Xml.Serialization; +using System.Xml.Serialization; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ public enum SdCardStatus { Unknown = 0, @@ -32,6 +32,9 @@ public class CameraState [XmlElement(ElementName = "batt")] public string Battery { get; set; } + [XmlElement(ElementName = "batt_grip")] + public string GripBattery { get; set; } + [XmlElement(ElementName = "burst_interval_status")] public string BurstIntervalStatus { get; set; } @@ -60,17 +63,26 @@ public class CameraState public RemainDisplayType RemainDisplayType { get; set; } [XmlElement(ElementName = "sd_access")] - public OnOff SdAccess { get; set; } = OnOff.On; + public OnOff SdAccess { get; set; } [XmlElement(ElementName = "sdcardstatus")] public SdCardStatus SdCardStatus { get; set; } + [XmlElement(ElementName = "sd2_access")] + public OnOff Sd2Access { get; set; } + + [XmlElement(ElementName = "sd2_cardstatus")] + public SdCardStatus Sd2CardStatus { get; set; } + [XmlElement(ElementName = "sdi_state")] public string SdiState { get; set; } [XmlElement(ElementName = "sd_memory")] public SdMemorySet SdMemory { get; set; } + [XmlElement(ElementName = "sd2_memory")] + public SdMemorySet Sd2Memory { get; set; } + [XmlElement(ElementName = "stop_motion")] public OnOff StopMotion { get; set; } @@ -144,10 +156,10 @@ protected bool Equals(CameraState other) string.Equals(Cammode, other.Cammode) && RemainCapacity == other.RemainCapacity && Equals(SdCardStatus, other.SdCardStatus) && - string.Equals(SdMemory, other.SdMemory) && + Equals(SdMemory, other.SdMemory) && VideoRemainCapacity == other.VideoRemainCapacity && Rec == other.Rec && string.Equals(BurstIntervalStatus, other.BurstIntervalStatus) && - string.Equals(SdAccess, other.SdAccess) && + Equals(SdAccess, other.SdAccess) && Equals(RemainDisplayType, other.RemainDisplayType) && ProgressTime == other.ProgressTime && string.Equals(Operate, other.Operate) && diff --git a/Core/Camera/LumixData/CameraStateRequestResult.cs b/Core/Camera/Panasonic/LumixData/CameraStateRequestResult.cs similarity index 70% rename from Core/Camera/LumixData/CameraStateRequestResult.cs rename to Core/Camera/Panasonic/LumixData/CameraStateRequestResult.cs index a02bf30..c32b315 100644 --- a/Core/Camera/LumixData/CameraStateRequestResult.cs +++ b/Core/Camera/Panasonic/LumixData/CameraStateRequestResult.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera.LumixData -{ - using System.Xml.Serialization; +using System.Xml.Serialization; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ [XmlRoot(ElementName = "camrply")] public class CameraStateRequestResult : BaseRequestResult { diff --git a/Core/Camera/LumixData/ChangeDirection.cs b/Core/Camera/Panasonic/LumixData/ChangeDirection.cs similarity index 80% rename from Core/Camera/LumixData/ChangeDirection.cs rename to Core/Camera/Panasonic/LumixData/ChangeDirection.cs index f849833..2858087 100644 --- a/Core/Camera/LumixData/ChangeDirection.cs +++ b/Core/Camera/Panasonic/LumixData/ChangeDirection.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera.LumixData -{ - using Tools; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ public enum ChangeDirection { [EnumValue("wide-fast")] diff --git a/Core/Camera/LumixData/CurMenuItem.cs b/Core/Camera/Panasonic/LumixData/CurMenuItem.cs similarity index 83% rename from Core/Camera/LumixData/CurMenuItem.cs rename to Core/Camera/Panasonic/LumixData/CurMenuItem.cs index 2f0f69e..7ef2fd3 100644 --- a/Core/Camera/LumixData/CurMenuItem.cs +++ b/Core/Camera/Panasonic/LumixData/CurMenuItem.cs @@ -1,8 +1,8 @@ -namespace GMaster.Core.Camera.LumixData -{ - using System.Xml.Serialization; - using Tools; +using System.Xml.Serialization; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ [XmlRoot(ElementName = "item")] public class CurMenuItem : IStringIdItem { diff --git a/Core/Camera/LumixData/CurMenuRequestResult.cs b/Core/Camera/Panasonic/LumixData/CurMenuRequestResult.cs similarity index 69% rename from Core/Camera/LumixData/CurMenuRequestResult.cs rename to Core/Camera/Panasonic/LumixData/CurMenuRequestResult.cs index 7145a56..c314b2b 100644 --- a/Core/Camera/LumixData/CurMenuRequestResult.cs +++ b/Core/Camera/Panasonic/LumixData/CurMenuRequestResult.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera.LumixData -{ - using System.Xml.Serialization; +using System.Xml.Serialization; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ [XmlRoot(ElementName = "camrply")] public class CurMenuRequestResult : BaseRequestResult { diff --git a/Core/Camera/LumixData/FocusAreaType.cs b/Core/Camera/Panasonic/LumixData/FocusAreaType.cs similarity index 88% rename from Core/Camera/LumixData/FocusAreaType.cs rename to Core/Camera/Panasonic/LumixData/FocusAreaType.cs index f6eadb1..5a0fa57 100644 --- a/Core/Camera/LumixData/FocusAreaType.cs +++ b/Core/Camera/Panasonic/LumixData/FocusAreaType.cs @@ -1,4 +1,4 @@ -namespace GMaster.Core.Camera.LumixData +namespace GMaster.Core.Camera.Panasonic.LumixData { public enum FocusAreaType { diff --git a/Core/Camera/LumixData/FocusMode.cs b/Core/Camera/Panasonic/LumixData/FocusMode.cs similarity index 75% rename from Core/Camera/LumixData/FocusMode.cs rename to Core/Camera/Panasonic/LumixData/FocusMode.cs index 72c71e0..6acc622 100644 --- a/Core/Camera/LumixData/FocusMode.cs +++ b/Core/Camera/Panasonic/LumixData/FocusMode.cs @@ -1,10 +1,10 @@ // ReSharper disable InconsistentNaming -namespace GMaster.Core.Camera.LumixData -{ - using System.Xml.Serialization; - using Tools; +using System.Xml.Serialization; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ public enum FocusMode { [EnumException(0x5)] diff --git a/Core/Camera/LumixData/FocusModeRequestResult.cs b/Core/Camera/Panasonic/LumixData/FocusModeRequestResult.cs similarity index 84% rename from Core/Camera/LumixData/FocusModeRequestResult.cs rename to Core/Camera/Panasonic/LumixData/FocusModeRequestResult.cs index b5c2c82..2b5a4f6 100644 --- a/Core/Camera/LumixData/FocusModeRequestResult.cs +++ b/Core/Camera/Panasonic/LumixData/FocusModeRequestResult.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera.LumixData -{ - using System.Xml.Serialization; +using System.Xml.Serialization; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ [XmlRoot(ElementName = "camrply")] public class FocusModeRequestResult : BaseRequestResult { diff --git a/Core/Camera/LumixData/FocusPosition.cs b/Core/Camera/Panasonic/LumixData/FocusPosition.cs similarity index 70% rename from Core/Camera/LumixData/FocusPosition.cs rename to Core/Camera/Panasonic/LumixData/FocusPosition.cs index 0cc21d2..924e9b5 100644 --- a/Core/Camera/LumixData/FocusPosition.cs +++ b/Core/Camera/Panasonic/LumixData/FocusPosition.cs @@ -1,4 +1,4 @@ -namespace GMaster.Core.Camera.LumixData +namespace GMaster.Core.Camera.Panasonic.LumixData { public class FocusPosition { diff --git a/Core/Camera/LumixData/Item.cs b/Core/Camera/Panasonic/LumixData/Item.cs similarity index 93% rename from Core/Camera/LumixData/Item.cs rename to Core/Camera/Panasonic/LumixData/Item.cs index af90856..007c1f3 100644 --- a/Core/Camera/LumixData/Item.cs +++ b/Core/Camera/Panasonic/LumixData/Item.cs @@ -1,9 +1,9 @@ -namespace GMaster.Core.Camera.LumixData -{ - using System; - using System.Xml.Serialization; - using Tools; +using System; +using System.Xml.Serialization; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ [XmlRoot(ElementName = "item")] public class Item : IStringIdItem { diff --git a/Core/Camera/LumixData/Language.cs b/Core/Camera/Panasonic/LumixData/Language.cs similarity index 77% rename from Core/Camera/LumixData/Language.cs rename to Core/Camera/Panasonic/LumixData/Language.cs index e916873..a0388f5 100644 --- a/Core/Camera/LumixData/Language.cs +++ b/Core/Camera/Panasonic/LumixData/Language.cs @@ -1,8 +1,8 @@ -namespace GMaster.Core.Camera.LumixData -{ - using System.Xml.Serialization; - using Tools; +using System.Xml.Serialization; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ [XmlRoot(ElementName = "language")] public class Language : IStringIdItem { diff --git a/Core/Camera/LumixData/MenuHolder.cs b/Core/Camera/Panasonic/LumixData/MenuHolder.cs similarity index 58% rename from Core/Camera/LumixData/MenuHolder.cs rename to Core/Camera/Panasonic/LumixData/MenuHolder.cs index f970e19..9ba1acb 100644 --- a/Core/Camera/LumixData/MenuHolder.cs +++ b/Core/Camera/Panasonic/LumixData/MenuHolder.cs @@ -1,8 +1,8 @@ -namespace GMaster.Core.Camera.LumixData -{ - using System.Xml.Serialization; - using Tools; +using System.Xml.Serialization; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ public class MenuHolder { [XmlArray("menu")] diff --git a/Core/Camera/LumixData/MenuInfo.cs b/Core/Camera/Panasonic/LumixData/MenuInfo.cs similarity index 83% rename from Core/Camera/LumixData/MenuInfo.cs rename to Core/Camera/Panasonic/LumixData/MenuInfo.cs index 9047f4b..e260275 100644 --- a/Core/Camera/LumixData/MenuInfo.cs +++ b/Core/Camera/Panasonic/LumixData/MenuInfo.cs @@ -1,8 +1,8 @@ -namespace GMaster.Core.Camera.LumixData -{ - using System.Xml.Serialization; - using Tools; +using System.Xml.Serialization; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ public class MenuInfo { [XmlArray("mainmenu")] diff --git a/Core/Camera/LumixData/MenuSetRequestResult.cs b/Core/Camera/Panasonic/LumixData/MenuSetRequestResult.cs similarity index 70% rename from Core/Camera/LumixData/MenuSetRequestResult.cs rename to Core/Camera/Panasonic/LumixData/MenuSetRequestResult.cs index e4d7714..789bff7 100644 --- a/Core/Camera/LumixData/MenuSetRequestResult.cs +++ b/Core/Camera/Panasonic/LumixData/MenuSetRequestResult.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera.LumixData -{ - using System.Xml.Serialization; +using System.Xml.Serialization; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ [XmlRoot(ElementName = "camrply")] public class MenuSetRequestResult : BaseRequestResult { diff --git a/Core/Camera/LumixData/OnOff.cs b/Core/Camera/Panasonic/LumixData/OnOff.cs similarity index 61% rename from Core/Camera/LumixData/OnOff.cs rename to Core/Camera/Panasonic/LumixData/OnOff.cs index 4aaefcd..f229564 100644 --- a/Core/Camera/LumixData/OnOff.cs +++ b/Core/Camera/Panasonic/LumixData/OnOff.cs @@ -1,8 +1,8 @@ -namespace GMaster.Core.Camera.LumixData -{ - using System.Xml.Serialization; - using Tools; +using System.Xml.Serialization; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ public enum OnOff { [EnumValue("on")] diff --git a/Core/Camera/LumixData/RawMenuSet.cs b/Core/Camera/Panasonic/LumixData/RawMenuSet.cs similarity index 91% rename from Core/Camera/LumixData/RawMenuSet.cs rename to Core/Camera/Panasonic/LumixData/RawMenuSet.cs index cc99a1e..dca7102 100644 --- a/Core/Camera/LumixData/RawMenuSet.cs +++ b/Core/Camera/Panasonic/LumixData/RawMenuSet.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera.LumixData -{ - using System.Xml.Serialization; +using System.Xml.Serialization; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ [XmlRoot(ElementName = "menuset")] public class RawMenuSet { diff --git a/Core/Camera/LumixData/RecState.cs b/Core/Camera/Panasonic/LumixData/RecState.cs similarity index 72% rename from Core/Camera/LumixData/RecState.cs rename to Core/Camera/Panasonic/LumixData/RecState.cs index 5d11b1e..b192753 100644 --- a/Core/Camera/LumixData/RecState.cs +++ b/Core/Camera/Panasonic/LumixData/RecState.cs @@ -1,4 +1,4 @@ -namespace GMaster.Core.Camera.LumixData +namespace GMaster.Core.Camera.Panasonic.LumixData { public enum RecState { diff --git a/Core/Camera/Panasonic/LumixData/SdMemorySet.cs b/Core/Camera/Panasonic/LumixData/SdMemorySet.cs new file mode 100644 index 0000000..a6b78af --- /dev/null +++ b/Core/Camera/Panasonic/LumixData/SdMemorySet.cs @@ -0,0 +1,13 @@ +using System.Xml.Serialization; + +namespace GMaster.Core.Camera.Panasonic.LumixData +{ + public enum SdMemorySet + { + [XmlEnum(Name = "set")] + Set = 1, + + [XmlEnum(Name = "unset")] + Unset = 0 + } +} \ No newline at end of file diff --git a/Core/Camera/LumixData/Title.cs b/Core/Camera/Panasonic/LumixData/Title.cs similarity index 68% rename from Core/Camera/LumixData/Title.cs rename to Core/Camera/Panasonic/LumixData/Title.cs index e176bfa..ed94bfe 100644 --- a/Core/Camera/LumixData/Title.cs +++ b/Core/Camera/Panasonic/LumixData/Title.cs @@ -1,8 +1,8 @@ -namespace GMaster.Core.Camera.LumixData -{ - using System.Xml.Serialization; - using Tools; +using System.Xml.Serialization; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ [XmlRoot(ElementName = "title")] public class Title : IStringIdItem { diff --git a/Core/Camera/LumixData/TitleList.cs b/Core/Camera/Panasonic/LumixData/TitleList.cs similarity index 81% rename from Core/Camera/LumixData/TitleList.cs rename to Core/Camera/Panasonic/LumixData/TitleList.cs index bd5ec97..9502ea6 100644 --- a/Core/Camera/LumixData/TitleList.cs +++ b/Core/Camera/Panasonic/LumixData/TitleList.cs @@ -1,8 +1,8 @@ -namespace GMaster.Core.Camera.LumixData -{ - using System.Xml.Serialization; - using Tools; +using System.Xml.Serialization; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ [XmlRoot(ElementName = "titlelist")] public class TitleList { diff --git a/Core/Camera/LumixData/YesNo.cs b/Core/Camera/Panasonic/LumixData/YesNo.cs similarity index 61% rename from Core/Camera/LumixData/YesNo.cs rename to Core/Camera/Panasonic/LumixData/YesNo.cs index e6eac74..4aac043 100644 --- a/Core/Camera/LumixData/YesNo.cs +++ b/Core/Camera/Panasonic/LumixData/YesNo.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera.LumixData -{ - using System.Xml.Serialization; +using System.Xml.Serialization; +namespace GMaster.Core.Camera.Panasonic.LumixData +{ public enum YesNo { [XmlEnum(Name = "no")] diff --git a/Core/Camera/LumixError.cs b/Core/Camera/Panasonic/LumixError.cs similarity index 63% rename from Core/Camera/LumixError.cs rename to Core/Camera/Panasonic/LumixError.cs index 7a507f7..632de94 100644 --- a/Core/Camera/LumixError.cs +++ b/Core/Camera/Panasonic/LumixError.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera -{ - using Tools; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic +{ public enum LumixError { [EnumValue("err_param")] diff --git a/Core/Camera/LumixException.cs b/Core/Camera/Panasonic/LumixException.cs similarity index 88% rename from Core/Camera/LumixException.cs rename to Core/Camera/Panasonic/LumixException.cs index adada4a..bc54062 100644 --- a/Core/Camera/LumixException.cs +++ b/Core/Camera/Panasonic/LumixException.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera -{ - using System; +using System; +namespace GMaster.Core.Camera.Panasonic +{ public class LumixException : Exception { public LumixException(LumixError error, string result, Exception exception = null) diff --git a/Core/Camera/LumixManager.cs b/Core/Camera/Panasonic/LumixManager.cs similarity index 96% rename from Core/Camera/LumixManager.cs rename to Core/Camera/Panasonic/LumixManager.cs index 3ca61e7..8d4c39f 100644 --- a/Core/Camera/LumixManager.cs +++ b/Core/Camera/Panasonic/LumixManager.cs @@ -1,16 +1,16 @@ -namespace GMaster.Core.Camera -{ - using System; - using System.Collections.Concurrent; - using System.Collections.Generic; - using System.Linq; - using System.Net.Http; - using System.Threading.Tasks; - using Network; - using Rssdp; - using Rssdp.Infrastructure; - using Tools; +using System; +using System.Collections.Concurrent; +using System.Collections.Generic; +using System.Linq; +using System.Net.Http; +using System.Threading.Tasks; +using GMaster.Core.Network; +using GMaster.Core.Tools; +using Rssdp; +using Rssdp.Infrastructure; +namespace GMaster.Core.Camera.Panasonic +{ public class LumixManager { private const int LiveViewPort = 49152; diff --git a/Core/Camera/LumixState.cs b/Core/Camera/Panasonic/LumixState.cs similarity index 97% rename from Core/Camera/LumixState.cs rename to Core/Camera/Panasonic/LumixState.cs index e6e2daa..b475d37 100644 --- a/Core/Camera/LumixState.cs +++ b/Core/Camera/Panasonic/LumixState.cs @@ -1,11 +1,11 @@ -namespace GMaster.Core.Camera -{ - using System.ComponentModel; - using System.Runtime.CompilerServices; - using Annotations; - using LumixData; - using Tools; +using System.ComponentModel; +using System.Runtime.CompilerServices; +using GMaster.Annotations; +using GMaster.Core.Camera.Panasonic.LumixData; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic +{ public class LumixState : INotifyPropertyChanged { private TextBinValue aperture; diff --git a/Core/Camera/MFAssistMoveStage.cs b/Core/Camera/Panasonic/MFAssistMoveStage.cs similarity index 75% rename from Core/Camera/MFAssistMoveStage.cs rename to Core/Camera/Panasonic/MFAssistMoveStage.cs index b635a9d..317d2ed 100644 --- a/Core/Camera/MFAssistMoveStage.cs +++ b/Core/Camera/Panasonic/MFAssistMoveStage.cs @@ -1,7 +1,7 @@ -namespace GMaster.Core.Camera -{ - using Tools; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic +{ public enum PinchStage { [EnumValue("start")] diff --git a/Core/Camera/MenuSet.cs b/Core/Camera/Panasonic/MenuSet.cs similarity index 97% rename from Core/Camera/MenuSet.cs rename to Core/Camera/Panasonic/MenuSet.cs index 95ec29e..d1bfaa2 100644 --- a/Core/Camera/MenuSet.cs +++ b/Core/Camera/Panasonic/MenuSet.cs @@ -1,4 +1,4 @@ -namespace GMaster.Core.Camera +namespace GMaster.Core.Camera.Panasonic { public class MenuSet { diff --git a/Core/Camera/OffFrameProcessor.cs b/Core/Camera/Panasonic/OffFrameProcessor.cs similarity index 96% rename from Core/Camera/OffFrameProcessor.cs rename to Core/Camera/Panasonic/OffFrameProcessor.cs index de7e232..6527828 100644 --- a/Core/Camera/OffFrameProcessor.cs +++ b/Core/Camera/Panasonic/OffFrameProcessor.cs @@ -1,12 +1,12 @@ -namespace GMaster.Core.Camera +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using GMaster.Core.Camera.Panasonic.LumixData; +using GMaster.Core.Tools; + +namespace GMaster.Core.Camera.Panasonic { - using System; - using System.Collections.Generic; - using System.Linq; - using System.Text; - using LumixData; - using Tools; - public class OffFrameProcessor { private readonly string deviceName; diff --git a/Core/Camera/Slice.cs b/Core/Camera/Panasonic/Slice.cs similarity index 93% rename from Core/Camera/Slice.cs rename to Core/Camera/Panasonic/Slice.cs index a57a516..d2a9975 100644 --- a/Core/Camera/Slice.cs +++ b/Core/Camera/Panasonic/Slice.cs @@ -1,9 +1,9 @@ -namespace GMaster.Core.Camera -{ - using System; - using System.Collections; - using System.Collections.Generic; +using System; +using System.Collections; +using System.Collections.Generic; +namespace GMaster.Core.Camera.Panasonic +{ public class Slice : IEnumerable { private readonly byte[] array; diff --git a/Core/Camera/TextBinValue.cs b/Core/Camera/Panasonic/TextBinValue.cs similarity index 96% rename from Core/Camera/TextBinValue.cs rename to Core/Camera/Panasonic/TextBinValue.cs index f066046..895ee38 100644 --- a/Core/Camera/TextBinValue.cs +++ b/Core/Camera/Panasonic/TextBinValue.cs @@ -1,4 +1,4 @@ -namespace GMaster.Core.Camera +namespace GMaster.Core.Camera.Panasonic { public struct TextBinValue { diff --git a/Core/Camera/TitledList.cs b/Core/Camera/Panasonic/TitledList.cs similarity index 77% rename from Core/Camera/TitledList.cs rename to Core/Camera/Panasonic/TitledList.cs index 2dd7e8d..23bc264 100644 --- a/Core/Camera/TitledList.cs +++ b/Core/Camera/Panasonic/TitledList.cs @@ -1,8 +1,8 @@ -namespace GMaster.Core.Camera -{ - using System.Collections.Generic; - using Tools; +using System.Collections.Generic; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic +{ public class TitledList : HashCollection where TItem : IStringIdItem { diff --git a/Core/Camera/TitledListExtensions.cs b/Core/Camera/Panasonic/TitledListExtensions.cs similarity index 73% rename from Core/Camera/TitledListExtensions.cs rename to Core/Camera/Panasonic/TitledListExtensions.cs index 4ed2e7c..7d6c6aa 100644 --- a/Core/Camera/TitledListExtensions.cs +++ b/Core/Camera/Panasonic/TitledListExtensions.cs @@ -1,8 +1,8 @@ -namespace GMaster.Core.Camera -{ - using System.Collections.Generic; - using Tools; +using System.Collections.Generic; +using GMaster.Core.Tools; +namespace GMaster.Core.Camera.Panasonic +{ public static class TitledListExtensions { public static TitledList ToTitledList(this IEnumerable items, string title) diff --git a/Core/Core.csproj b/Core/Core.csproj index a679f61..21aa49d 100644 --- a/Core/Core.csproj +++ b/Core/Core.csproj @@ -9,10 +9,15 @@ - + + + + + + \ No newline at end of file diff --git a/Core/Tools/Log.cs b/Core/Tools/Log.cs index f3cc8e4..a7b33d7 100644 --- a/Core/Tools/Log.cs +++ b/Core/Tools/Log.cs @@ -1,6 +1,4 @@ -using Newtonsoft.Json.Converters; - -namespace GMaster.Core.Tools +namespace GMaster.Core.Tools { using System; using System.Collections.Concurrent; @@ -10,6 +8,7 @@ namespace GMaster.Core.Tools using System.Threading.Tasks; using Network; using Newtonsoft.Json; + using Newtonsoft.Json.Converters; using Nito.AsyncEx; public static class Log diff --git a/GMaster/App.xaml.cs b/GMaster/App.xaml.cs index 393f017..c652f0b 100644 --- a/GMaster/App.xaml.cs +++ b/GMaster/App.xaml.cs @@ -36,30 +36,6 @@ public App() Debug.AddCategory("Discovery", false); } - private async void App_Resuming(object sender, object e) - { - await OnResuming(); - } - - private async Task OnResuming() - { - var ver = Package.Current.Id.Version; - - var eas = new EasClientDeviceInformation(); - var deviceName = string.Concat(eas.SystemProductName.Where(char.IsLetterOrDigit)); - if (deviceName == "SystemProductName") - { - deviceName = "PC"; - } - - Log.Init(new WindowsHttpClient(), "deb4bd35-6ddd-4044-b3e8-ac76330e559b", $"{ver.Major}.{ver.Minor}.{ver.Build}", deviceName, 500); - - if (MainModel != null) - { - await MainModel.ConnectionsManager.StartListening(); - } - } - public MainPageModel MainModel { get; private set; } public static async Task GetLutsFolder() @@ -123,12 +99,18 @@ protected override async void OnLaunched(LaunchActivatedEventArgs e) } } + private async void App_Resuming(object sender, object e) + { + await OnResuming(); + } + private void App_UnhandledException(object sender, UnhandledExceptionEventArgs e) { switch (e.Exception) { case ObjectDisposedException ex: Debug.WriteLine("ObjectDisposedException in " + ex.Source, "UnhandledException"); + e.Handled = true; break; default: @@ -150,6 +132,25 @@ private void OnNavigationFailed(object sender, NavigationFailedEventArgs e) throw new Exception("Failed to load Page " + e.SourcePageType.FullName); } + private async Task OnResuming() + { + var ver = Package.Current.Id.Version; + + var eas = new EasClientDeviceInformation(); + var deviceName = string.Concat(eas.SystemProductName.Where(char.IsLetterOrDigit)); + if (deviceName == "SystemProductName") + { + deviceName = "PC"; + } + + Log.Init(new WindowsHttpClient(), "deb4bd35-6ddd-4044-b3e8-ac76330e559b", $"{ver.Major}.{ver.Minor}.{ver.Build}", deviceName, 500); + + if (MainModel != null) + { + await MainModel.ConnectionsManager.StartListening(); + } + } + /// /// Invoked when application execution is being suspended. Application state is saved /// without knowing whether the application will be terminated or resumed with the contents diff --git a/GMaster/GMaster.csproj b/GMaster/GMaster.csproj index 5197ef4..aa6ea0f 100644 --- a/GMaster/GMaster.csproj +++ b/GMaster/GMaster.csproj @@ -7,8 +7,8 @@ {F361EA15-EF81-4B2D-9D9B-B32B4D174934} AppContainerExe Properties - GMaster - GMaster + LMaster + LMaster en-US UAP 10.0.15063.0 @@ -107,7 +107,10 @@ App.xaml - + + CameraContentPage.xaml + + @@ -131,12 +134,7 @@ - - - - - MainMenu.xaml @@ -264,6 +262,10 @@ MSBuild:Compile Designer + + Designer + MSBuild:Compile + MSBuild:Compile Designer @@ -320,7 +322,9 @@ Tools - + + + 14.0 diff --git a/GMaster/Package.StoreAssociation.xml b/GMaster/Package.StoreAssociation.xml index 69e3473..e086f6a 100644 --- a/GMaster/Package.StoreAssociation.xml +++ b/GMaster/Package.StoreAssociation.xml @@ -361,6 +361,7 @@ 51338Rambalac.GMaster GMaster + LMaster diff --git a/GMaster/Package.appxmanifest b/GMaster/Package.appxmanifest index 0757bea..c165707 100644 --- a/GMaster/Package.appxmanifest +++ b/GMaster/Package.appxmanifest @@ -1,9 +1,9 @@  - - + + - GMaster + LMaster Rambalac Assets\PackageLogo.png @@ -14,8 +14,8 @@ - - + + diff --git a/GMaster/Properties/AssemblyInfo.cs b/GMaster/Properties/AssemblyInfo.cs index fe9aa4d..22cf4e8 100644 --- a/GMaster/Properties/AssemblyInfo.cs +++ b/GMaster/Properties/AssemblyInfo.cs @@ -4,11 +4,11 @@ // 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("GMaster")] +[assembly: AssemblyTitle("LMaster")] [assembly: AssemblyDescription("")] [assembly: AssemblyConfiguration("")] [assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("GMaster")] +[assembly: AssemblyProduct("LMaster")] [assembly: AssemblyCopyright("Copyright © 2017")] [assembly: AssemblyTrademark("")] [assembly: AssemblyCulture("")] diff --git a/GMaster/Views/Adjuster.xaml.cs b/GMaster/Views/Adjuster.xaml.cs index 21eeaf7..9636409 100644 --- a/GMaster/Views/Adjuster.xaml.cs +++ b/GMaster/Views/Adjuster.xaml.cs @@ -1,9 +1,10 @@ // The User Control item template is documented at https://go.microsoft.com/fwlink/?LinkId=234236 +using GMaster.Core.Camera.Panasonic.LumixData; + namespace GMaster.Views { using System; - using Core.Camera.LumixData; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using Windows.UI.Xaml.Input; diff --git a/GMaster/Views/CameraContentPage.xaml b/GMaster/Views/CameraContentPage.xaml new file mode 100644 index 0000000..39265f0 --- /dev/null +++ b/GMaster/Views/CameraContentPage.xaml @@ -0,0 +1,13 @@ + + + + + + diff --git a/GMaster/Views/CameraContentPage.xaml.cs b/GMaster/Views/CameraContentPage.xaml.cs new file mode 100644 index 0000000..2ec3857 --- /dev/null +++ b/GMaster/Views/CameraContentPage.xaml.cs @@ -0,0 +1,30 @@ +// The Blank Page item template is documented at https://go.microsoft.com/fwlink/?LinkId=234238 + +namespace LMaster +{ + using System; + using System.Collections.Generic; + using System.IO; + using System.Linq; + using System.Runtime.InteropServices.WindowsRuntime; + using Windows.Foundation; + using Windows.Foundation.Collections; + using Windows.UI.Xaml; + using Windows.UI.Xaml.Controls; + using Windows.UI.Xaml.Controls.Primitives; + using Windows.UI.Xaml.Data; + using Windows.UI.Xaml.Input; + using Windows.UI.Xaml.Media; + using Windows.UI.Xaml.Navigation; + + /// + /// An empty page that can be used on its own or navigated to within a Frame. + /// + public sealed partial class CameraContentPage : Page + { + public CameraContentPage() + { + InitializeComponent(); + } + } +} diff --git a/GMaster/Views/CameraViewControl.xaml b/GMaster/Views/CameraViewControl.xaml index bc8e7ed..c30f147 100644 --- a/GMaster/Views/CameraViewControl.xaml +++ b/GMaster/Views/CameraViewControl.xaml @@ -99,9 +99,25 @@ - - + + + + + + + + + + + + + + + @@ -110,8 +126,8 @@ - - + @@ -121,8 +137,8 @@ - - + + @@ -141,6 +157,23 @@ + + + + + + + + + + + + + + + @@ -155,13 +188,21 @@ + @@ -83,7 +89,7 @@