The volume mixer device allows one to adjust the master volume and the volume of two applications at the turn of a knob.
Make sure Python and pip are installed.
Currently, only Windows PCs and (Linux) PCs using PulseAudio are supported.
- Download this repository and extract the zip archive.
- Go to the
pc
folder - Run the command
pip install -r requirements.txt
The program can be executed by running python main.py
.
The program has three modes:
python main.py list-applications
: show a list running programs and their volumes, which can be useful when editing the config file
python main.py list-devices
: list all found serial devices
python main.py start
: start communication with the device
Details of the commands can be viewed by adding --help
The applications displayed on the mixer device can be further configured in the config.yaml
file.
If this does not exist yet, copy config.example.yaml
. The example config file contains comments describing each option.
- Go to the
pc
folder, right-click onmain.py
and click 'Create shortcut'. - Press the keyboard shortcut Win+R and enter
shell:startup
. - Move the created
main.py
shortcut to the startup folder. - Right-click the shortcut, click 'Properties'.
- In the 'Target' field, add
start
after the path, so it becomes"C:\...\pc\main.py" start
- Change the 'Run' field to 'Minimized'.
- Click 'OK'.
- Add a cronjob by running
crontab -e
. - Take note of the path of the
main.py
file in thepc
folder. In the cronjob, insert the following line:@reboot python "<path-to-volume-mixer>/pc/main.py" start &
, e.g.@reboot python "/home/<user>/Downloads/Volume-Mixer/pc/main.py" start &
, and save it.
Install Arduino IDE, and the RotaryEncoder and ezButton libraries within the Arduino IDE.
Pin | Function |
---|---|
2 | Display D7 |
3 | Display D6 |
4 | Display D5 |
5 | Display D4 |
6 | Rotary Encoder 1 Button |
7 | Rotary Encoder 2 Button |
8 | Rotary Encoder 3 Button |
11 | Display EN |
12 | Display RS |
A0 | Rotary Encoder 1 A |
A1 | Rotary Encoder 1 B |
A2 | Rotary Encoder 2 A |
A3 | Rotary Encoder 2 B |
A4 | Rotary Encoder 3 A |
A5 | Rotary Encoder 3 B |
Simply upload the sketch in the device
folder to the Arduino nano.