Jack-Sharp is a .NET/mono binding for Jack, and contains multiple: JackSharp, Jack.NAudio, and Jack.CSCore. The latter projects are bindings of JackSharp for NAudio and CSCore.
- Debian GNU/Linux sid amd64 and i386
- Windows 8.1
- .NET >= 3.5 or Mono >= 2.4.0
C# Wrapper around libjack API. Uses the following classes to structure the API into manageable chunks. Abstracts away all pointers.
Install via NuGet: nuget install JackSharp.
Client: Base Class for Processor and Controller
Emits events on general Jack information, that consumers can subscribe to. See the source code comments for details.
Audio and MIDI client. Useful for creating an application with inputs and outputs.
Add your logic for processing a buffer on audio and MIDI input and output by adding a
ProcessFunc of an instance of
JackSharp.Processor. Multiple methods can be added and removed.
Client for controlling the Jack server and connections. Useful for creating a control application.
Can connect and disconnect ports of different applications.
If your application needs functionality from both
Controller, then you must create instances of both classes in your consumer with different names.
JackSharp.Processor for NAudio. It contains implementations for
Install via NuGet: nuget install Jack.NAudio.
JackSharp.Processor for CSCore. It contains implementations for
Install via NuGet: nuget install Jack.CSCore.
Running Unit Tests
Running unit tests can be a bit tricky, as some unit tests require an already running instance of Jack, while others require, that Jack must be started by the tested objects themselves.
The following test class from the project
JackSharpTest must be run without Jack: