We provide a C, C++, Python, .NET and Node.js interface to the adapter.
- the API can be found in
include/cec.h - an example implementation can be found on https://github.com/Pulse-Eight/libcec/blob/master/src/cec-client/cec-client.cpp
- the API can be found in
include/cecc.h - an example implementation can be found on https://github.com/Pulse-Eight/libcec/blob/master/src/cecc-client/cecc-client.c
- add a reference to
LibCecSharp.dll, installed toC:\Program Files (x86)\Pulse-Eight\USB-CEC Adapter\net8.0by default on Windows. On Debian thelibcec-dotnetpackage installs it to/usr/lib/libcec/LibCecSharp.dlland ships a NuGet package under/usr/share/libcec-dotnetthat downstream projects canPackageReference. LibCecSharpis a single, pure-C# assembly (namespaceCecSharp) that binds libCEC through P/Invoke over the C API. It targets net8.0 and is architecture-neutral (the nativecec.dll/libcec.soit loads is the arch-specific part), so it runs on Windows, Linux, macOS and Raspberry Pi.- it replaces the previous C++/CLI wrappers (
LibCecSharpfor .NET Framework andLibCecSharpCorefor net8.0), which were Windows-only. Consumers keep the sameCecSharpAPI, so existing code compiles unchanged against net8.0. - WinForms/WPF apps target
net8.0-windows; console/service apps targetnet8.0. - an example implementation can be found on https://github.com/Pulse-Eight/cec-dotnet/blob/master/src/CecSharpTester/CecSharpClient.cs
- the API is exported to Python through Swig
- an example implementation can be found on https://github.com/Pulse-Eight/libcec/blob/master/src/pyCecClient/pyCecClient.py
- a native N-API addon in
src/nodejsbinds libCEC over the C API (include/cecc.h), the same surface the .NET binding uses. It exposes anEventEmitter-basedCecAdapterand works anywhere libCEC and a C++ toolchain do (Linux, macOS, Raspberry Pi, Windows). - build it with
cd src/nodejs && npm install(runsnode-gyp, compiling against an installed libCEC found viapkg-config; on Debian that is thelibcec8-devpackage). - an example implementation can be found in src/nodejs/example/simple.js; see src/nodejs/README.md for the full API.
If you wish to contribute to this project, you must first sign our contributors agreement. Please see the contributors agreement for more information.