Skip to content

Manage and control the volume of your programs. Connect an Arduino/Pi to control the program

License

Notifications You must be signed in to change notification settings

Paulsenik/ryolith

Repository files navigation

Ryolith GitHub release (latest by date including pre-releases) GitHub GitHub top language

  • Ryolith is an Audiocontroller written in Java that controls the volume of processes individually.

  • Create groups, add different programs to each group and add the groups to your new controls.

  • The Arduino or any other programmable USB-Device can connect to the program to control it.

Mainmenu

Group-Settings

Tip: Connect an Arduino to it, by clicking next to "Port:", so you don't have to tab out of your Game/Application to change the volume.

Install (Windows/Linux)

Just download the latest .jar and execute.
It should automatically download/update any files needed.

Usage of Arduino/RaspberryPi

Using USB-Control on Linux

  1. You might need to add your User to some of those 4 groups
    Don't worry if some of the commands fail. All of these groups may not exist on every Linux distro.

    sudo usermod -a -G uucp,dialout,tty $USER
  2. Log out and you should have access to the serial port after logging back in

    If Problems still occur check the Troubleshooting-Wiki of the USB-Library

Programming

You can program your Microcontroller to Serial.print() control-commands to the Java-Programm.

  • Each command starts with ac[ and ends with ].
  • The message between should consist of the Control-Name a seperator | and a volume-value between 0-1000

For Example: ac[slider1|500] sets the control slider1 in the Java-program to 50%.
You can also look into my Arduino-example I use every day.

Config

If you want to edit the configs manually: At your own risk! You can find the files at your Home-Directory in %HOME%/.ryolith

Build-Note

  1. Make sure maven works correctly

  2. Setup pip environment:

pipenv install
  1. maven install to build jar and windows-executable

TODO

  • Use JSON for Serial-Protocol
  • add Min- & Max-Values for Processes
  • Serial-Protocol for directly controlling a processes' Volume
  • Logger