Skip to content

Python library for handling the communication with CamillaDSP via a websocket.

License

Notifications You must be signed in to change notification settings

HEnquist/pycamilladsp

Repository files navigation

pyCamillaDSP

pyCamillaDSP

Companion Python library for CamillaDSP. Works with CamillaDSP version 2.0.0 and up.

See the published documentationfor descriptions of all classes and methods.

Included examples:

read_rms

Read the playback signal level continuously and print in the terminal, until stopped by Ctrl+c.

python read_rms.py 1234

get_config

Read the configuration and print some parameters.

python get_config.py 1234

set_volume

Set the main volume control to a new value. First argument is websocket port, second is new volume in dB.

python set_volume.py 1234 -12.3

play_wav

Play a wav file. This example reads a configuration from a file, updates the capture device to point at a given .wav file, and sends this modified config to CamillaDSP. Usage example:

python play_wav.py 1234 /path/to/wavtest.yml /path/to/music.wav

Development info

Code quality

This library uses the following tools to ensure code quality:

  • pylint
  • mypy
  • black
  • pytest

Check out the code and install the optional development depenencies with pip:

pip install ".[dev]"
mypy --install-types

Run the entire suite of checks and tests:

pylint camilladsp
mypy camilladsp 
black camilladsp
pytest

Documentation

The documentation is generated by mkdocs and mkdocstrings. It is generated from the templates stored in docs. The content is autogenerated from the docstrings in the code.

Install the optional dependencies for docs generation:

pip install ".[docs]"

Preview the documentation:

mkdocs serve

Publish to Github pages:

mkdocs gh-deploy