From 2b1e86aeee219b236ba8cb33c5ebfa8bde89f14f Mon Sep 17 00:00:00 2001 From: Roy Ben-Shabat Date: Tue, 13 Feb 2018 14:27:37 +0200 Subject: Implemented future IVideoCaptureProvider.. --- .../Tango.MachineStudio.Common.csproj | 6 +++++ .../Video/DefaultVideoCaptureProvider.cs | 30 ++++++++++++++++++++++ .../Video/IVideoCaptureProvider.cs | 21 +++++++++++++++ .../Tango.MachineStudio.UI/ViewModelLocator.cs | 3 +++ 4 files changed, 60 insertions(+) create mode 100644 Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Video/DefaultVideoCaptureProvider.cs create mode 100644 Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Video/IVideoCaptureProvider.cs (limited to 'Software/Visual_Studio/MachineStudio') diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj index 790c95cb5..5d5df59b7 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Tango.MachineStudio.Common.csproj @@ -93,6 +93,8 @@ + + Designer MSBuild:Compile @@ -191,6 +193,10 @@ {8491d07b-c1f6-4b62-a412-41b9fd2d6538} Tango.SharedUI + + {9652f972-2bd1-4283-99cb-fc6240434c17} + Tango.Video + \ No newline at end of file diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Video/DefaultVideoCaptureProvider.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Video/DefaultVideoCaptureProvider.cs new file mode 100644 index 000000000..5aace7705 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Video/DefaultVideoCaptureProvider.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Video.DirectCapture; + +namespace Tango.MachineStudio.Common.Video +{ + /// + /// Represents the default implementation of . + /// + /// + public class DefaultVideoCaptureProvider : IVideoCaptureProvider + { + /// + /// Gets the available capture devices. + /// + public ObservableCollection AvailableCaptureDevices { get; private set; } + + /// + /// Initializes a new instance of the class. + /// + public DefaultVideoCaptureProvider() + { + AvailableCaptureDevices = CaptureDevice.GetAvailableCaptureDevices().Select(device => new CaptureDevice() { Device = device }).ToObservableCollection(); + } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Video/IVideoCaptureProvider.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Video/IVideoCaptureProvider.cs new file mode 100644 index 000000000..cd797dce2 --- /dev/null +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.Common/Video/IVideoCaptureProvider.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.Video.DirectCapture; + +namespace Tango.MachineStudio.Common.Video +{ + /// + /// Represents a video capturing device provider. + /// + public interface IVideoCaptureProvider + { + /// + /// Gets the available capture devices. + /// + ObservableCollection AvailableCaptureDevices { get; } + } +} diff --git a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs index 186e230dc..7ee3d50d5 100644 --- a/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs +++ b/Software/Visual_Studio/MachineStudio/Tango.MachineStudio.UI/ViewModelLocator.cs @@ -9,6 +9,7 @@ using Tango.MachineStudio.Common.Modules; using Tango.MachineStudio.Common.Navigation; using Tango.MachineStudio.Common.Notifications; using Tango.MachineStudio.Common.StudioApplication; +using Tango.MachineStudio.Common.Video; using Tango.MachineStudio.UI.Authentication; using Tango.MachineStudio.UI.Modules; using Tango.MachineStudio.UI.Navigation; @@ -51,6 +52,7 @@ namespace Tango.MachineStudio.UI SimpleIoc.Default.Unregister(); SimpleIoc.Default.Unregister(); SimpleIoc.Default.Unregister(); + SimpleIoc.Default.Unregister(); SimpleIoc.Default.Register(); SimpleIoc.Default.Register(); @@ -58,6 +60,7 @@ namespace Tango.MachineStudio.UI SimpleIoc.Default.Register(); SimpleIoc.Default.Register(); SimpleIoc.Default.Register(); + SimpleIoc.Default.Register(); SimpleIoc.Default.Register(); SimpleIoc.Default.Register(); -- cgit v1.3.1