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

Next30 #332

Merged
merged 169 commits into from
Jan 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
169 commits
Select commit Hold shift + click to select a range
382c88b
Filter pipeline steps may filter multiple channels
HEnquist Feb 12, 2024
617084b
Update readmes
HEnquist Feb 13, 2024
a72e664
Make channels optional, update readme
HEnquist Feb 13, 2024
7ea2c04
Update last few example configs
HEnquist Feb 13, 2024
30fe9b0
Add logging, simplify filter step creation
HEnquist Feb 13, 2024
6fdd4dc
Option to Write wav header for File and Stdout
HEnquist Feb 13, 2024
609311a
Add a basic signal generator
HEnquist Feb 17, 2024
07091da
Add the new module
HEnquist Feb 17, 2024
37f334d
Merge branch 'next30' of https://github.com/HEnquist/camilladsp into …
HEnquist Feb 20, 2024
78cd912
Merge pull request #324 from HEnquist/filter_multiple_channels
HEnquist Feb 20, 2024
21f74db
Merge branch 'next30' of https://github.com/HEnquist/camilladsp into …
HEnquist Feb 20, 2024
f15460c
Update changelog
HEnquist Feb 20, 2024
e3df1eb
Merge pull request #326 from HEnquist/generator
HEnquist Feb 20, 2024
8f9cfe3
Merge branch 'next30' of https://github.com/HEnquist/camilladsp into …
HEnquist Feb 20, 2024
e3952b1
Merge pull request #325 from HEnquist/wav_output
HEnquist Feb 20, 2024
ea38d89
Simplify signal generator config
HEnquist Feb 20, 2024
493ac0b
Move wav reading and writing to separate file
HEnquist Feb 21, 2024
3f31ec3
Tests for wav read and write
HEnquist Feb 22, 2024
ac9b09a
Typos
HEnquist Feb 22, 2024
e8c01fa
Clean up test scripts
HEnquist Feb 22, 2024
cbf615d
Merge pull request #328 from HEnquist/refactor_wav
HEnquist Feb 22, 2024
727eb2a
Try to find supported multichannel channel mask in exclusive mode
HEnquist Mar 3, 2024
b69a549
Update wasapi crate
HEnquist Mar 3, 2024
45e243f
Update rubato to latest
HEnquist Mar 5, 2024
20b8ccc
Use aligned period size
HEnquist Mar 6, 2024
83f927c
Round off numbers in logging
HEnquist Mar 6, 2024
c56cea3
Add preliminary support for capture from wav
HEnquist Mar 10, 2024
b6318e2
Raise inner thread priority
HEnquist Mar 12, 2024
6eafef9
Update changelog
HEnquist Mar 13, 2024
2af22eb
Get override values from wav, update readme
HEnquist Mar 14, 2024
3a5afea
Change sample format type also for bluez
HEnquist Mar 14, 2024
387c1b2
Mention no wav from pipe
HEnquist Mar 17, 2024
7f58e34
Merge pull request #331 from HEnquist/read_wav
HEnquist Mar 17, 2024
57ba34b
Add limit for volume controls
HEnquist Apr 1, 2024
9a644aa
Simplify volume limit update
HEnquist Apr 2, 2024
7f6252d
Merge pull request #333 from HEnquist/volume_limit
HEnquist Apr 2, 2024
9636b71
Look up device id by name and scope
HEnquist Apr 2, 2024
1edacd4
Merge branch 'next30' into wasapi_quirks
HEnquist Apr 2, 2024
e16c961
Merge pull request #330 from HEnquist/wasapi_quirks
HEnquist Apr 2, 2024
3460087
Fix readme for default devices, clean up
HEnquist Apr 2, 2024
5f0a896
Remove unused image
HEnquist Apr 2, 2024
05a37ce
Update clap and fftw
HEnquist Apr 4, 2024
e0aaeab
Merge pull request #337 from HEnquist/clap4
HEnquist Apr 5, 2024
d21bc73
Update Alsa and Nix crates
HEnquist Apr 6, 2024
9959596
Improved optional logging
HEnquist Apr 7, 2024
bbbf975
Merge branch 'next30' of https://github.com/HEnquist/camilladsp into …
HEnquist Apr 7, 2024
cacecbc
Update bluez backend for new nix
HEnquist Apr 7, 2024
9d859ce
Merge pull request #338 from HEnquist/update_alsa_nix
HEnquist Apr 7, 2024
b1823f1
ALSA: Handle EPIPE errors as xruns
pavhofman Apr 4, 2024
60500a5
ALSA: Use immutable DeviceBufferManager
pavhofman Apr 4, 2024
095b06e
ALSA: Move buf_manager trace
pavhofman Apr 4, 2024
fd19ffa
ALSA: Log the actual period size used by the device
pavhofman Apr 4, 2024
52af5c3
Add command for getting all faders
HEnquist Apr 9, 2024
9e24199
Merge pull request #339 from HEnquist/alsa_error_handling
HEnquist Apr 17, 2024
9b556a3
Merge pull request #340 from HEnquist/get_all_faders_command
HEnquist Apr 17, 2024
e976cfa
Update changelog
HEnquist Apr 17, 2024
06c66f4
Update github actions
HEnquist Apr 17, 2024
ca25bda
Raise target_level limit for Alsa playback
HEnquist Apr 18, 2024
ed6ef2b
WIP wait for pollfds
HEnquist Apr 27, 2024
b197c34
New poll works
HEnquist Apr 27, 2024
bfe2a37
WIP handling of events
HEnquist Apr 27, 2024
cbecf4e
Fix in event handling
HEnquist Apr 27, 2024
d6c20f7
Send SetVolume message
HEnquist Apr 27, 2024
930a1cf
Update TODOs
HEnquist Apr 27, 2024
988c91f
Options for reacting to Alsa control events
HEnquist Apr 27, 2024
f59a186
Check if rate changed
HEnquist Apr 29, 2024
235c494
Stop nicely on events
HEnquist Apr 29, 2024
092176e
Update changelog and readme
HEnquist Apr 29, 2024
ee8d5f6
Clean up control reading
HEnquist May 1, 2024
905568b
Simplify safe unwrapping
HEnquist May 1, 2024
6722ff2
Move more things to alsa_utils
HEnquist May 1, 2024
312eac2
Use new read methods on events
HEnquist May 1, 2024
769c9f7
Refactor elemet writing
HEnquist May 1, 2024
0b9298b
WIP make alsa sample format optional
HEnquist May 1, 2024
090e126
Make Alsa sample format optional
HEnquist May 1, 2024
9890316
Redo config for following a volume cotnrol
HEnquist May 3, 2024
b2d8a4b
Improved search for vol ctl
HEnquist May 3, 2024
d9fdab4
Update alsa readme
HEnquist May 3, 2024
9132077
ALSA: Add a comment explaining how initial target delay is generated
pavhofman May 5, 2024
2a8dac0
Merge pull request #343 from pavhofman/next30
HEnquist May 5, 2024
128e7d8
WIP add a PI controller for better rate adjust
HEnquist May 6, 2024
e216ee3
Fix clippy warning
HEnquist May 6, 2024
8ba7a2a
Merge pull request #341 from HEnquist/alsa_fd
HEnquist May 6, 2024
ad7e428
Merge branch 'next30' of https://github.com/HEnquist/camilladsp into …
HEnquist May 6, 2024
6fcae2d
ramp buffer level slowly to avoid large changes
HEnquist May 8, 2024
2246eed
New rate controller in Alsa backend
HEnquist May 8, 2024
ef53c7b
New pi rate controller used for wasapi
HEnquist May 9, 2024
61c1e88
New rate controller in cpal backend
HEnquist May 9, 2024
7f1eaa1
Update changelog [skip ci]
HEnquist May 9, 2024
ee610fc
Merge pull request #345 from HEnquist/pi_rate_control
HEnquist May 10, 2024
4f200e8
Remove needless warning
HEnquist Jun 12, 2024
492b467
Add CLI options for setting initial aux fader values
HEnquist Jun 14, 2024
805ed67
Nicer shutdown of Alsa playback device
HEnquist Jun 15, 2024
521cdff
Check if playback device supports pause
HEnquist Jun 17, 2024
f7bead5
Update wasapi crate
HEnquist Jun 18, 2024
80e16f9
Add noise gate processor
HEnquist Jun 24, 2024
065a8df
Add missing file
HEnquist Jun 24, 2024
8418515
Deny unknown config fields everywhere
HEnquist Jun 26, 2024
4eaa27f
Remove FFTW
HEnquist Jun 27, 2024
a47a40f
Merge pull request #349 from HEnquist/noisegate
HEnquist Jun 28, 2024
ef6a15d
Optional limits for volume adjust commands
HEnquist Jul 17, 2024
d225cb1
Merge branch 'next30' of https://github.com/HEnquist/camilladsp into …
HEnquist Jul 17, 2024
ce78f55
Add channel labels property to mixer and capture devices
HEnquist Jul 21, 2024
befd9c7
Fix broken tests
HEnquist Jul 21, 2024
0c44795
Mention channel labels in readme
HEnquist Jul 21, 2024
772f12a
Merge pull request #353 from HEnquist/labels
HEnquist Jul 28, 2024
d151210
Improve readme on REW and other tools
HEnquist Aug 18, 2024
e6b2f27
Mention microhone access on macOS
HEnquist Aug 18, 2024
63ddc8d
Fix rew link in toc
HEnquist Aug 20, 2024
05023ba
Clippy
HEnquist Aug 20, 2024
3bd5e89
Clippy again
HEnquist Aug 20, 2024
bc202f2
Add more tests for config switch
HEnquist Aug 26, 2024
25a57aa
Ensure the playback queue has more than one buffer
HEnquist Sep 1, 2024
8a33c65
Add better buffer level estimator
HEnquist Sep 1, 2024
bf0c1ea
Python script for logging load and buffer level
HEnquist Sep 1, 2024
1a39e9a
Better buffer estimation also for wasapi
HEnquist Sep 3, 2024
173dd0d
Clean up
HEnquist Sep 3, 2024
4467dc5
Merge pull request #358 from HEnquist/buffer_estimate
HEnquist Sep 3, 2024
1990f0d
Request real-time thread prio on macos
HEnquist Sep 7, 2024
1c9c648
No default features for audio thread prio crate
HEnquist Sep 7, 2024
76ad297
Real time prio for Alsa
HEnquist Sep 7, 2024
eb2dee5
Raise audio thread prio on wasapi
HEnquist Sep 7, 2024
11176f8
Initial implementation of parallel filtering
HEnquist Sep 8, 2024
97c4a13
Add logging in filter sorting function
HEnquist Sep 8, 2024
94636e7
Make parallel processing optional
HEnquist Sep 9, 2024
41b1876
Merge pull request #360 from HEnquist/audio_thread_prio
HEnquist Sep 9, 2024
86d6b83
Merge branch 'next30' of https://github.com/HEnquist/camilladsp into …
HEnquist Sep 9, 2024
830bb85
Raise worker thread prio, add option to set number of threads
HEnquist Sep 10, 2024
8fc0251
Mention multithreading in readme
HEnquist Sep 10, 2024
9327529
Add log messages to help with multithreading settings
HEnquist Sep 13, 2024
93ec1bd
Merge pull request #362 from HEnquist/with_rayon
HEnquist Sep 13, 2024
8fc1c1f
Improve readme on multithreading
HEnquist Sep 13, 2024
3d526b8
Update changelog
HEnquist Sep 13, 2024
6e4e994
Make loudness filter log less on info level
HEnquist Sep 19, 2024
602d660
Add optional log file rotation
HEnquist Sep 19, 2024
5219078
Merge pull request #363 from HEnquist/logrotate
HEnquist Sep 22, 2024
b2fbed6
Improve readme on choice of chunksize
HEnquist Sep 22, 2024
24d1516
Update outdated readme on clock adjust in Blackhole
HEnquist Sep 22, 2024
170fb47
WIP alsa follow mute
HEnquist Sep 23, 2024
cb4d31a
Fix typos
HEnquist Sep 24, 2024
f3c6f73
WIP update the gadget controls
HEnquist Sep 25, 2024
4387664
Move ctrl sync to end of loop
HEnquist Sep 25, 2024
1635212
Write the elements
HEnquist Sep 25, 2024
81a1b1e
Write the elements
HEnquist Sep 25, 2024
b16cb28
Flip alsa mute
HEnquist Sep 25, 2024
96898d2
Add new start arg to all backends
HEnquist Sep 26, 2024
4758efa
Rename volume following to linking, update readme
HEnquist Sep 26, 2024
42e5c67
Merge pull request #365 from HEnquist/sync_gadget_ctrls
HEnquist Sep 26, 2024
8ee647e
Merge pull request #366 from HEnquist/twoway_gadget_vol
HEnquist Sep 26, 2024
385105c
Change vol sync logs to debug
HEnquist Sep 28, 2024
d1e4a35
Tweak reame on chunk size
HEnquist Sep 29, 2024
3c65116
Update some outdated example configs
HEnquist Oct 13, 2024
e42710a
Add build with rust 1.75 to keep win7 compatibility
HEnquist Oct 19, 2024
a0f4658
Merge pull request #371 from HEnquist/win7
HEnquist Oct 26, 2024
2ceaf0d
Update version in readme
HEnquist Oct 26, 2024
5b496e8
Skip updating shared data instead of blocking
HEnquist Nov 2, 2024
c9eb61a
Increase alsa capture timeout
HEnquist Nov 4, 2024
bfccde2
Change warn to optional trace when shared data is blocked
HEnquist Nov 4, 2024
b7736f7
No blocking also in file device
HEnquist Nov 4, 2024
ac04637
No blocking for shared data updates in coreaudio
HEnquist Nov 4, 2024
1413597
Change log level for unused alsa events
HEnquist Nov 4, 2024
e601ec9
Avoid blocking wasapi threads
HEnquist Nov 5, 2024
aceddd0
Merge pull request #372 from HEnquist/skip_instead_of__block
HEnquist Nov 9, 2024
1f510c5
Fix target level limit check
HEnquist Nov 9, 2024
f6d4b94
Update for new macos runners
HEnquist Nov 10, 2024
8135e5e
Merge pull request #377 from HEnquist/updated_macos_runners
HEnquist Nov 10, 2024
edbb4ce
Use avail instead of delay to avoid glitches
HEnquist Jan 4, 2025
9fc7517
Clippy
HEnquist Jan 5, 2025
346ffdd
Merge pull request #386 from HEnquist/call_avail_not_delay
HEnquist Jan 5, 2025
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
47 changes: 32 additions & 15 deletions .github/workflows/ci_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
#container: ubuntu:20.04
steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Update package list
run: sudo apt-get update
Expand Down Expand Up @@ -44,7 +44,7 @@ jobs:
run: cargo test --features bluez-backend,cpal-backend,jack-backend,pulse-backend,

- name: Run cargo test with all optional features
run: cargo test --features 32bit,debug,fftw,secure-websocket
run: cargo test --features 32bit,debug,secure-websocket

- name: Run cargo fmt
run: cargo fmt --all -- --check
Expand All @@ -57,7 +57,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
Expand All @@ -81,7 +81,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
Expand All @@ -105,7 +105,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
Expand All @@ -131,7 +131,7 @@ jobs:
runs-on: windows-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
Expand All @@ -142,12 +142,28 @@ jobs:
- name: Run cargo test
run: cargo test --no-default-features

check_test_windows7:
name: Check and test Windows7 (rustc 1.75)
runs-on: windows-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: Install stable toolchain
uses: dtolnay/[email protected]

- name: Run cargo check
run: cargo check --no-default-features

- name: Run cargo test
run: cargo test --no-default-features

check_test_macos:
name: Check and test macOS
runs-on: macos-latest
name: Check and test macOS Intel
runs-on: macos-13
steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
Expand All @@ -159,19 +175,20 @@ jobs:
run: cargo test --no-default-features

check_macos_arm:
name: Check macOS aarch64
name: Check and test macOS Arm
runs-on: macos-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: aarch64-apple-darwin

- name: Run cargo check for arm
run: cargo check --target aarch64-apple-darwin
- name: Run cargo check
run: cargo check --no-default-features

- name: Run cargo test
run: cargo test --no-default-features



Expand Down
49 changes: 35 additions & 14 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
#container: ubuntu:20.04
steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Update package list
run: sudo apt-get update
Expand Down Expand Up @@ -51,7 +51,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
Expand Down Expand Up @@ -85,7 +85,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
Expand Down Expand Up @@ -117,7 +117,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
Expand Down Expand Up @@ -149,7 +149,7 @@ jobs:
runs-on: windows-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
Expand All @@ -168,12 +168,35 @@ jobs:
asset_name: camilladsp-windows-amd64.zip
tag: ${{ github.ref }}

windows7:
name: Windows7
runs-on: windows-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: Install stable toolchain
uses: dtolnay/[email protected]

- name: Build
run: cargo build --release

- name: Compress
run: powershell Compress-Archive target/release/camilladsp.exe camilladsp.zip

- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: camilladsp.zip
asset_name: camilladsp-windows7-amd64.zip
tag: ${{ github.ref }}
macos:
name: macOS
runs-on: macos-latest
name: macOS Intel
runs-on: macos-13
steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
Expand All @@ -194,22 +217,20 @@ jobs:


macos_arm:
name: macOS aarch64
name: macOS Arm
runs-on: macos-latest
steps:
- name: Checkout sources
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Install stable toolchain
uses: dtolnay/rust-toolchain@stable
with:
targets: aarch64-apple-darwin

- name: Build
run: cargo build --release --target aarch64-apple-darwin
run: cargo build --release

- name: Compress
run: tar -zcvf camilladsp.tar.gz -C target/aarch64-apple-darwin/release camilladsp
run: tar -zcvf camilladsp.tar.gz -C target/release camilladsp

- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
Expand Down
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,7 @@ default_config.yml
active_config.yml
camilladsp.log
configs/
coeffs/
coeffs/
.venv
*.csv
*.exe
26 changes: 26 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,29 @@
## v3.0.0
New features:
- Optional multithreaded filter processing.
- Request higher proprity of audio threads for improved stability.
- Add a signal generator capture device.
- Optionally write wav header when outputting to file or stdout.
- Add `WavFile` capture device type for reading wav files.
- Optional limit for volume controls.
- Add websocket command for reading all faders with a single call.
- Linux: Subscribe to capture device control events for volume, sample rate and format changes.
- Linux: Optionally select Alsa sample format automatically.
- Improved controller for rate adjustment.
- Command line options for setting aux volume and mute.
- Optional user-defined volume limits for volume adjust commands.
- Add noise gate.
- Add optional channel labels for capture devices and mixers.
- Optional log file rotation.
Changes:
- Remove the optional use of FFTW instead of RustFFT.
- Rename `File` capture device to `RawFile`.
- Filter pipeline steps take a list of channels to filter instead of a single one.
Bugfixes:
- Windows: Fix compatibility issues for some WASAPI devices.
- MacOS: Support devices appearing as separate capture and playback devices.
- Linux: Improved Alsa error handling.

## v2.0.3
Bugfixes:
- MacOS: Fix using Aggregate devices for playback.
Expand Down
26 changes: 13 additions & 13 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
[package]
name = "camilladsp"
version = "2.0.3"
name = "CamillaDSP"
version = "3.0.0"
authors = ["Henrik Enquist <[email protected]>"]
edition = "2021"
description = "A flexible tool for processing audio"
rust-version = "1.61"
rust-version = "1.74"

[features]
default = ["websocket"]
Expand All @@ -15,7 +15,6 @@ bluez-backend = ["zbus"]
32bit = []
websocket = ["tungstenite"]
secure-websocket = ["websocket", "native-tls", "tungstenite/native-tls"]
FFTW = ["fftw"]
debug = []
avoid-rustc-issue-116359 = []

Expand All @@ -28,9 +27,9 @@ name = "camilladsp"
path = "src/bin.rs"

[target.'cfg(target_os="linux")'.dependencies]
alsa = "0.8.1"
alsa = "0.9.0"
alsa-sys = "0.3.1"
nix = "0.23"
nix = { version = "0.28", features = ["poll", "signal"] }
zbus = { version = "3.0.0", optional = true }

[target.'cfg(target_os="macos")'.dependencies]
Expand All @@ -42,8 +41,8 @@ dispatch = "0.2.0"
[target.'cfg(target_os="windows")'.dependencies]
#wasapi = { path = "../../rust/wasapi" }
#wasapi = { git = "https://github.com/HEnquist/wasapi-rs", branch = "win041" }
wasapi = "0.13.0"
windows = {version = "0.48.0", features = ["Win32_System_Threading", "Win32_Foundation"] }
wasapi = "0.15.0"
windows = {version = "0.57.0", features = ["Win32_System_Threading", "Win32_Foundation"] }

[dependencies]
serde = { version = "1.0", features = ["derive"] }
Expand All @@ -52,13 +51,12 @@ serde_json = "1.0"
serde_with = "1.11"
realfft = "3.0.0"
#realfft = { git = "https://github.com/HEnquist/realfft", branch = "better_errors" }
fftw = { version = "0.7.0", optional = true }
num-complex = "0.4"
num-traits = "0.2"
signal-hook = "0.3.8"
rand = { version = "0.8.3", default_features = false, features = ["small_rng", "std"] }
rand = { version = "0.8.3", default-features = false, features = ["small_rng", "std"] }
rand_distr = "0.4.3"
clap = "2.33.0"
clap = { version = "4.5.4", features = ["cargo"] }
lazy_static = "1.4.0"
log = "0.4.14"
flexi_logger = { version = "0.27.2", features = ["async", "colors"] }
Expand All @@ -67,15 +65,17 @@ tungstenite = { version = "0.21.0", optional = true }
native-tls = { version = "0.2.7", optional = true }
libpulse-binding = { version = "2.0", optional = true }
libpulse-simple-binding = { version = "2.0", optional = true }
rubato = "0.14.1"
#rubato = { git = "https://github.com/HEnquist/rubato", branch = "next-0.13" }
rubato = "0.15.0"
#rubato = { git = "https://github.com/HEnquist/rubato", branch = "optional_fft" }
cpal = { version = "0.13.3", optional = true }
#rawsample = { path = "../../rust/rawsample" }
#rawsample = { git = "https://github.com/HEnquist/rawsample", branch = "main" }
rawsample = "0.2.0"
circular-queue = "0.2.6"
parking_lot = { version = "0.12.1", features = ["hardware-lock-elision"] }
crossbeam-channel = "0.5"
rayon = "1.10.0"
audio_thread_priority = { version = "0.32.0", default-features = false }

[build-dependencies]
version_check = "0.9"
Expand Down
6 changes: 6 additions & 0 deletions FAQ.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,12 @@

Note the extra padding bytes (`0x00`) in S24LE. This scheme means that the samples get an "easier" alignment in memory, while wasting some space. In practice, this format isn't used much.

- Why don't I get any sound on MacOS?

Apps need to be granted access to the microphone in order to record sound from any source.
Without microphone access, things appear to be running well but only silence is recorded.
See [Microphone access](./backend_coreaudio.md#microphone-access)

## Filtering

- I only have filters with negative gain, why do I get clipping anyway?
Expand Down
Loading
Loading