MCPcopy Index your code
hub / github.com/chris-ritsen/network-audio-controller

github.com/chris-ritsen/network-audio-controller @v0.2.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.2.5 ↗ · + Follow
2,126 symbols 7,871 edges 130 files 63 documented · 3%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Description

This is a python program for controlling Dante network audio devices (and possibly others in the future). It's early, so expect things to break or switches to change. Use this at your own risk; it's not ready for anything other than a test environment and could make the devices behave unexpectedly. The first goal is to do everything that Dante Controller can do that would be useful for control of the devices from a command-line interface or within scripts.

For more information, check out the gearspace discussion.

Features

Current

  • AVIO input/output gain control
  • Add/remove subscriptions
  • CLI
  • Display active subscriptions, Rx and Tx channels, devices names and addresses, subscription status
  • JSON output
  • Set device latency, sample rate, encoding
  • Set/reset channel names, device names
  • mDNS device discovery

Installation

To install from PyPI:

uv tool install netaudio

Or with pip/pipx:

pip install netaudio

To install from a clone:

uv sync
uv run netaudio

Arch Linux

To install from AUR, build the package with aur/python-netaudio.

Usage

Run netaudio if installed globally, or uv run netaudio from a clone.

Run tests:

uv run pytest

Lint and format:

uv run ruff check .
uv run ruff format .

Documentation

Core symbols most depended-on inside this repo

get
called by 1083
packages/netaudio/src/netaudio/common/mdns_cache.py
run
called by 66
packages/netaudio/src/netaudio/capture/daemon.py
execute
called by 65
packages/netaudio/src/netaudio/core/binding.py
icon
called by 64
packages/netaudio/src/netaudio/icons.py
close
called by 56
packages/netaudio/src/netaudio/dante/packet_store.py
_send_json
called by 55
packages/netaudio/src/netaudio/daemon/relay.py
on
called by 33
packages/netaudio/src/netaudio/dante/events.py
ansi
called by 30
packages/netaudio/src/netaudio/_common.py

Shape

Method 1,092
Function 845
Class 168
Route 11
Enum 10

Languages

Python89%
Rust11%
C++1%
C1%

Modules by API surface

packages/netaudio/src/netaudio/daemon/dbus_interfaces.py76 symbols
packages/netaudio/src/netaudio/dante/virtual_device.py56 symbols
tests/test_relay.py51 symbols
packages/netaudio-core/src/commands.rs51 symbols
packages/netaudio/src/netaudio/daemon/relay.py50 symbols
tests/test_aes67.py48 symbols
packages/netaudio/src/netaudio/dante/packet_store.py44 symbols
tests/test_preferred_leader.py42 symbols
packages/netaudio/src/netaudio/commands/shure.py42 symbols
packages/netaudio/src/netaudio/dante/services/notification.py41 symbols
packages/netaudio/src/netaudio/dante/device_commands.py41 symbols
packages/netaudio/src/netaudio/commands/firmware.py41 symbols

For agents

$ claude mcp add network-audio-controller \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page