1
0
Fork
You've already forked JackSharp
0
C# bindings for Jackd
  • C# 100%
Find a file
2023年11月21日 19:30:40 +01:00
Jack.CSCore Update release number for bindings. 2018年04月04日 10:30:53 +02:00
Jack.CSCoreTest Update release number for bindings. 2018年04月04日 10:30:53 +02:00
Jack.NAudio Update release number for bindings. 2018年04月04日 10:30:53 +02:00
Jack.NAudioTest Update release number for bindings. 2018年04月04日 10:30:53 +02:00
JackSharp Generate documentation with doxygen. 2023年11月21日 19:30:40 +01:00
JackSharpTest Refactored JackSharp. 2017年12月08日 23:44:36 +01:00
.gitignore Enable basic operations: 2016年02月13日 01:22:34 +01:00
.travis.yml Update release number for bindings. 2018年04月04日 10:30:53 +02:00
example.wav Add CSCore wrapper. 2017年12月08日 23:55:47 +01:00
JackSharp.sln Rename namespace for NAudio and CSCore bindings. 2018年04月04日 10:20:13 +02:00
LICENSE Rename namespace for NAudio and CSCore bindings. 2018年04月04日 10:20:13 +02:00
README.md Rename namespace for NAudio and CSCore bindings. 2018年04月04日 10:20:13 +02:00

Jack-Sharp

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.

Tested Platforms

  • Debian GNU/Linux sid amd64 and i386
  • Windows 8.1

Dependencies

  • Jack
  • .NET >= 3.5 or Mono >= 2.4.0

JackSharp

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.

Processor

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.

Controller

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.

Jack.NAudio

Binding for JackSharp.Processor for NAudio. It contains implementations for IWavePlayer and IWaveIn.

Install via NuGet: nuget install Jack.NAudio.

Jack.CSCore

Binding for JackSharp.Processor for CSCore. It contains implementations for ISoundOut and ISoundIn.

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:

  • ServerStartTest