Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/RustAudio/rust-jack
Rust bindings for JACK. A realtime sound server for audio and midi IO
https://github.com/RustAudio/rust-jack
audio jack libjack midi real rust rust-bindings rust-jack time
Last synced: 5 days ago
JSON representation
Rust bindings for JACK. A realtime sound server for audio and midi IO
- Host: GitHub
- URL: https://github.com/RustAudio/rust-jack
- Owner: RustAudio
- License: mit
- Created: 2016-05-31T22:04:33.000Z (over 8 years ago)
- Default Branch: main
- Last Pushed: 2024-10-09T15:15:21.000Z (about 1 month ago)
- Last Synced: 2024-10-31T11:52:27.757Z (12 days ago)
- Topics: audio, jack, libjack, midi, real, rust, rust-bindings, rust-jack, time
- Language: Rust
- Homepage: http://rustaudio.github.io/rust-jack/
- Size: 619 KB
- Stars: 211
- Watchers: 12
- Forks: 33
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-open-synth - rust-jack
README
# JACK (for Rust)
Rust bindings for [JACK Audio Connection Kit]().
| [![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) |
| [📚 Documentation](https://rustaudio.github.io/rust-jack) | [:heart: 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 .# 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
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.Another case is that libjack may be broken on your setup. Try using libjack2 or
pipewire-jack.