Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update README.md #205

Merged
merged 5 commits into from
Sep 9, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
62 changes: 21 additions & 41 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,66 +1,46 @@
# JACK (for Rust)

# Table of Contents
Rust bindings for [JACK Audio Connection Kit](<https://jackaudio.org>).

1. [Overview](#Overview-9s7h6d81ktj0)
2. [Testing](#Testing-7y451e81ktj0)
1. [Possible Issues](#TestingPossibleIssues-8u551e81ktj0)
| [![Crates.io](https://img.shields.io/crates/v/jack.svg)](https://crates.io/crates/jack) | [![License](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) |
|-----------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [![Docs.rs](https://docs.rs/jack/badge.svg)](https://docs.rs/jack) | [![Test](https://github.com/RustAudio/rust-jack/actions/workflows/testing.yml/badge.svg)](https://github.com/RustAudio/rust-jack/actions/workflows/testing.yml) |
| | [:heart: Sponsor](<https://github.com/sponsors/wmedrano>) |

- [![img](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
- [![img](https://github.com/RustAudio/rust-jack/workflows/Rust/badge.svg)](https://github.com/RustAudio/rust-jack/actions)
- [![img](https://img.shields.io/crates/v/jack.svg)](https://crates.io/crates/jack)
- [![img](https://docs.rs/jack/badge.svg)](https://docs.rs/jack)
## Using JACK


<a id="Overview-9s7h6d81ktj0"></a>
The JACK server is usually started by the user or system. Clients can request
that the JACK server is started on demand when they connect, but this can be
disabled by creating a client with the `NO_START_SERVER` option.

# Overview

Rust bindings for the [JACK Audio Connection Kit](<https://jackaudio.org>). These bindings work on every
operating system that JACK does.

The JACK server is usually started by the user or system. Clients can request that the JACK server is
started on demand when they connect, but this can be disabled by the user and is the recommended
configuration.

- Linux and BSD users may install JACK1, JACK2, or Pipewire JACK from their
system package manager.
- Windows users may install JACK from the

[official website](<http://jackaudio.org/downloads/>) or
[Chocolatey](<https://community.chocolatey.org/packages/jack>).

- macOS users may install JACK from the [official website](<http://jackaudio.org/downloads/>) or

[Homebrew](<https://formulae.brew.sh/formula/jack>).

[:heart: Sponsor](<https://github.com/sponsors/wmedrano>)
- Linux and BSD users may install JACK1, JACK2 (preferred for low latency), or
Pipewire JACK (preferred for ease of use) from their system package manager.
- Windows users may install JACK from the [official
website](<http://jackaudio.org/downloads/>) or [Chocolatey](<https://community.chocolatey.org/packages/jack>).
- MacOS users may install JACK from the [official
website](<http://jackaudio.org/downloads/>) or [Homebrew](<https://formulae.brew.sh/formula/jack>).

Refer to the [documentation](<https://docs.rs/jack/>) for details about the API, building, and packaging.
Also take a look at the `examples` directory for usage.


<a id="Testing-7y451e81ktj0"></a>

# Testing

Testing requires setting up a dummy server and running the tests using a single
thread. `rust-jack` automatically configures `cargo nextest` to use a single
thread.

```sh
# Set up a dummy server for tests. The script is included in this repository.
./dummy_jack_server.sh &
# Run tests with limited concurrency. Optionally, `cargo nextest run` is set up
# to run single threaded by default.
RUST_TEST_THREADS=1 cargo test

# Run tests
cargo nextest run
```

**Note**: We use a single thread for tests since too many client instantiations
in short periods of time cause some unit tests to interact negatively with each
other. Additionally the JACK server may become flaky.

Note: If cargo nextest is not available, use `RUST_TEST_THREADS=1 cargo test` to
run in single threaded mode.

<a id="TestingPossibleIssues-8u551e81ktj0"></a>

## Possible Issues

Expand Down
Loading