Switch to groups of audio input/output devices
Find a file
locnide 935d7b56ae
All checks were successful
ci/woodpecker/pr/versionning Pipeline was successful
ci/woodpecker/pr/python/2 Pipeline was successful
ci/woodpecker/pr/python/1 Pipeline was successful
chore: add changelog for previous versions
2026-01-22 21:41:33 +01:00
.woodpecker ci: add python pipeline for running mypy and tests 2026-01-22 19:44:32 +01:00
cog_changelog chore: configure cog changelog 2026-01-22 21:36:48 +01:00
src/audio_io_switch chore: make ruff and mypy pass 2026-01-22 19:44:33 +01:00
tests chore: add dummy test 2026-01-22 19:46:34 +01:00
.editorconfig feat: add editorconfig 2026-01-22 19:44:33 +01:00
.envrc feat: add command to switch to audio source and sink groups 2025-11-26 02:01:30 +01:00
.gitignore feat: add command to switch to audio source and sink groups 2025-11-26 02:01:30 +01:00
.python-version chore: fix python version and type issues 2025-11-26 15:29:28 +01:00
.yamlfmt.yaml feat: add formatting tools in devShell 2026-01-22 19:44:32 +01:00
bacon.toml feat: run mypy on ruff success and use dmypy run rather than check 2026-01-22 19:44:33 +01:00
CHANGELOG.md chore: add changelog for previous versions 2026-01-22 21:41:33 +01:00
cog.toml chore: configure cog changelog 2026-01-22 21:36:48 +01:00
flake.lock feat: add formatting tools in devShell 2026-01-22 19:44:32 +01:00
flake.nix feat: add formatting tools in devShell 2026-01-22 19:44:32 +01:00
LICENSE feat: add EUPL-1.2 license 2025-11-26 16:51:40 +01:00
pyproject.toml chore(version): v1.1.0 2026-01-22 21:37:54 +01:00
README.md docs: instruction to configure and run 2026-01-12 23:12:52 +01:00
uv.lock chore(version): v1.1.0 2026-01-22 21:37:54 +01:00

Switch to couples of audio input/output.

It works with pipewire and wireplumber and uses the wpctl command.

Usage

You can use the following command to name identifying the nodes.

audio-io-switch list-nodes

After configuring

# in ~/.config/audio-io-switch/config.toml
[[audio_config]]
name = "usb interface"
groups = ["wired"]
sink = "<name key of the node>"
source = "<name key of the node>"

[[audio_config]]
name = "motherboard jack"
groups = ["wired"]
sink = "<name key of the node>"
source = "<name key of the node>"

you can use the following command to switch between the two audio io couples.

audio-io-switch switch wired

Licence

This software is licensed under the EUPL. You can find an english copy in this repository and other languages on https://interoperable-europe.ec.europa.eu/collection/eupl/eupl-text-eupl-12 .