Skip to content

srperens/rust-jack

This branch is 3 commits ahead of, 4 commits behind RustAudio/rust-jack:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

bf97a2e · Sep 14, 2024
Sep 14, 2024
Sep 14, 2024
Sep 14, 2024
Sep 14, 2024
Sep 14, 2024
Sep 14, 2024
Jan 2, 2017
Feb 6, 2022
Dec 2, 2017
Sep 14, 2024
Jun 14, 2016
Sep 14, 2024
Mar 1, 2022
Dec 29, 2017

Repository files navigation

JACK (for Rust)

Rust bindings for JACK Audio Connection Kit.

Crates.io License
Docs.rs Test
📚 Documentation ❤️ Sponsor

Using JACK

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 or ClientOptions::default().

  • 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 or Chocolatey.
  • MacOS users may install JACK from the official website or Homebrew.

Refer to the docs.rs documentation for details about the API. For more general documentation, visit https://rustaudio.github.io/rust-jack.

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.

# Set up a dummy server for tests. The script is included in this repository.
./dummy_jack_server.sh &
# Run tests
cargo nextest run

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

Possible Issues

If the tests are failing, a possible gotcha may be timing issues.

  1. If using cargo test, try cargo nextest. The cargo nextest configuration is set up to run single threaded and to retry flaky tests up to 3 times.
  2. Increase the value used by sleep_on_test in client/common.rs.

Another case is that libjack may be broken on your setup. Try using libjack2 or pipewire-jack.

About

Decent jack bindings for rust

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%