EmberPlus.ConsumerLib
0.0.13
dotnet add package EmberPlus.ConsumerLib --version 0.0.13
NuGet\Install-Package EmberPlus.ConsumerLib -Version 0.0.13
<PackageReference Include="EmberPlus.ConsumerLib" Version="0.0.13" />
paket add EmberPlus.ConsumerLib --version 0.0.13
#r "nuget: EmberPlus.ConsumerLib, 0.0.13"
// Install EmberPlus.ConsumerLib as a Cake Addin #addin nuget:?package=EmberPlus.ConsumerLib&version=0.0.13 // Install EmberPlus.ConsumerLib as a Cake Tool #tool nuget:?package=EmberPlus.ConsumerLib&version=0.0.13
EmBER+ consumer lib
A library that gives you the possibility to create an EmBER+ consumer.
How to use?
Add the NuGet package to your solution
Initiate the EmBER+ consumer
// Note that the most-derived subtype MyRoot needs to be passed to the generic base class. // Represents the root containing dynamic and optional static elements in the object tree accessible through Consumer<TRoot>.Root private class MyRoot : DynamicRoot<MyRoot> { } AsyncPump.Run(async () => { // Create TCP connection var tcpClient = new TcpClient(); await tcpClient.ConnectAsync("localhost", 9001); // Establish S101 protocol // S101 provides message packaging, CRC integrity checks and a keep-alive mechanism. var stream = tcpClient.GetStream(); var s101Client = new S101Client(tcpClient, stream.ReadAsync, stream.WriteAsync); // Create consumer var consumer = await Consumer<MyRoot>.CreateAsync(s101Client); await consumer.SendAsync(); // Navigate down tree until IParameter is reached or desired INode var mixer = (consumer.Root as INode).Children.First(c => c.Identifier == "MixerEmberIdentifier"); var mute = (IParameter)mixer.Children.First(c => c.Identifier == "Mute"); mute.Value = true; });
Rock on with your creations
There is some more helper methods to use:
// Helps to create a TcpClient and an S101Client used for consumer connection.
S101Extension.CreateClient("localhost", 9001);
// Create an EmBER+ consumer. Add your ILogger, if set to LogLevel.Debug the connection also logs.
var device = DeviceConsumerConnection(ILogger logger);
device.Connect("localhost", 9001);
Soluton contains
Lawo - Common shared classes (Required by main library) - .NET Standard 2.1, .NET Framework 4.5, .NET Framework 4.8
Lawo.EmberPlusSharp - The EmBER+ Consumer main library - .NET Standard 2.1, .NET Framework 4.5, .NET Framework 4.8
Lawo.GlowAnalyzerProxy.Main - An EmBER+ analyzer tool for Glow debugging - WPF, .NET Framework 4.5
Lawo.GlowLogConverter.Main - Converts the log format received from the Glow Analyzer Proxy - WPF, .NET Framework 4.5
License
The consumer is a library 'ember-plus-sharp' from Lawo GmbH.
LawoEmberPlusSharp.net -- .NET implementation of the Ember+ Protocol
Copyright (c) 2012-2019 Lawo GmbH (http://www.lawo.com).
Distributed under the Boost Software License, Version 1.0.
There has been some modifications to the source code for .NET Standard adaption.
NuGet Ember Consumer Library
Copyright (c) 2023 Roger Sandholm & Fredrik Bergholtz, Stockholm, Sweden
The code is licensed under the BSD 3-clause license.
Build
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 | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.1 is compatible. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | 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.1
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.