Skip to content

Commit

Permalink
Update README.md (#205)
Browse files Browse the repository at this point in the history
  • Loading branch information
wmedrano authored Sep 9, 2024
1 parent fd5c16e commit da38704
Showing 1 changed file with 21 additions and 41 deletions.
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

0 comments on commit da38704

Please sign in to comment.