Due to Github's determination to be the "world’s leading AI-powered developer platform" I will move my projects to Codeberg
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
- Jack
- .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.
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 Func<JackSharp.Processing.ProcessBuffer>
to 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 Processor
and Controller
, then you must create instances of both classes in your consumer with different names.
Binding for JackSharp.Processor
for NAudio. It contains implementations for IWavePlayer
and IWaveIn
.
Install via NuGet: nuget install Jack.NAudio.
Binding for JackSharp.Processor
for CSCore. It contains implementations for ISoundOut
and ISoundIn
.
Install via NuGet: nuget install Jack.CSCore.
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:
ServerStartTest