Enkadia.Synexsis.ComponentFramework
1.0.2-CI-20191211-232754
See the version list below for details.
dotnet add package Enkadia.Synexsis.ComponentFramework --version 1.0.2-CI-20191211-232754
NuGet\Install-Package Enkadia.Synexsis.ComponentFramework -Version 1.0.2-CI-20191211-232754
<PackageReference Include="Enkadia.Synexsis.ComponentFramework" Version="1.0.2-CI-20191211-232754" />
paket add Enkadia.Synexsis.ComponentFramework --version 1.0.2-CI-20191211-232754
#r "nuget: Enkadia.Synexsis.ComponentFramework, 1.0.2-CI-20191211-232754"
// Install Enkadia.Synexsis.ComponentFramework as a Cake Addin #addin nuget:?package=Enkadia.Synexsis.ComponentFramework&version=1.0.2-CI-20191211-232754&prerelease // Install Enkadia.Synexsis.ComponentFramework as a Cake Tool #tool nuget:?package=Enkadia.Synexsis.ComponentFramework&version=1.0.2-CI-20191211-232754&prerelease
Enkadia Synexsis
Enkadia Synexsis AV control software targets .NET Standard 2.0. This enables software development for both .NET Framework and .NET Core. Android and iOS applications can be developed using Synexsis components with Xamarin.
Getting Started
Using Synexsis is as easy as
- Find your component type from our NuGet packages.
- Build your appsettings.json file
- Use your component!
Configuring your components
Synexsis builds your components by reading values from an appsettings.json
file, located at the root of your program's runtime directory.
This example demonstrates registering a projector which supports the PJLink protocol.
Sample appsettings.json
{
"PJLinkProjector": {
"IPAddress": "192.168.1.100",
"Port": 4352,
"Password": "default"
},
"License": {
"Key": "license_key_value"
}
}
Offline Activation
{
"PJLinkProjector": {
"IPAddress": "192.168.1.100",
"Port": 4352,
"Password": "default"
},
"License": {
"OfflineActivation": "true",
"LicenseFileName": "MyLicense.skm"
}
}
A best practice is to name section keys (in this case PJLinkProjector) the same as the component's class name. The default section key can be double checked with intellisense on the class's constructor.
Sample Code
using Microsoft.Extensions.DependencyInjection;
using Enkadia.Synexsis.ComponentFramework.Extensions;
var serviceProvider = new ServiceCollection()
.AddSynexsis()
.AddTransient<PJLinkProjector>()
.AddTransient<Roboshot>()
.AddTransient<SharpDisplay>()
.AddTransient<DXPSwitcher>()
.BuildServiceProvider();
// Retrieve your components
var projector = serviceProvider.GetService<PJLinkProjector>();
var camera = serviceProvider.GetService<Roboshot>();
var frontDisplay = serviceProvider.GetService<SharpDisplay>();
var swt = serviceProvider.GetService<DXPSwitcher>();
Multiple components of the same type
It is possible to specify a section key other than the default. This is useful if you need to control several components of the same type with different information. This can be done with the ResolveWith
extension method.
appsettings.json (multiple components of the same type)
{
"PJLinkLeftProjector": {
"IPAddress": "192.168.1.100",
"Port": 4352,
"Password": "default"
},
"PJLinkRightProjector": {
"IPAddress": "192.168.1.101",
"Port": 4352,
"Password": "default"
},
"License": {
"Key": "license_key_value"
}
}
Initialize devices
using Microsoft.Extensions.DependencyInjection;
using Enkadia.Synexsis.ComponentFramework.Extensions;
var serviceProvider = new ServiceCollection()
.AddSynexsis()
.AddTransient<PJLinkProjector>
.BuildServiceProvider();
var leftProjector = serviceProvider.ResolveWith<PJLinkProjector>("PJLinkLeftProjector");
var rightProjector = serviceProvider.ResolveWith<PJLinkProjector>("PJLinkRightProjector");
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Enkadia.Synexsis.Utilities (>= 1.0.2-CI-20191211-232754)
NuGet packages (9)
Showing the top 5 NuGet packages that depend on Enkadia.Synexsis.ComponentFramework:
Package | Downloads |
---|---|
Enkadia.Synexsis.Components.Cameras
Enkadia Synexsis camera component - Supports Vaddio Roboshot, Roboshot Elite |
|
Enkadia.Synexsis.Components.Displays
Enkadia Synexsis component for video displays - Supports Samsung ExLink (RS232) - Supports Sharp IP display - Supports LG IP display |
|
Enkadia.Synexsis.Components.Codecs
Enkadia Synexsis component for Cisco Teleconferencing endpoints - Supports TC 6.x - 7.x API |
|
Enkadia.Synexsis.Components.Relays
Enkadia Synexsis component for IP-based relays - Supports Brick Electric |
|
Enkadia.Synexsis.Components.Projectors
Enkadia Synexsis base command component for video projectors - Supports Epson RS-232 - Supports Epson IP Addressable - PJLink - Supports PJLink enabled projectors - Panasonic, Sony, others - Supports Benq projectors |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.1.3 | 478 | 3/11/2021 |
1.0.4 | 2,757 | 2/20/2020 |
1.0.2-CI-20191211-232754 | 653 | 12/12/2019 |
1.0.2-CI-20191115-004923 | 788 | 11/25/2019 |
1.0.2-CI-20190929-123622 | 432 | 9/30/2019 |
1.0.2-CI-20190905-000943 | 924 | 9/5/2019 |