Skip to content

A simple webui to control PulseAudio (or Pipewire) and any mediaplayer with MPRIS on linux

Notifications You must be signed in to change notification settings

TheRedstoneDEV-DE/PinguControll

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 

Repository files navigation

GitHub Readme Stats

PinguControll

A simple webui to control PulseAudio (or Pipewire) and any mediaplayer with MPRIS on linux. This project was just created since all software I found in this direction was deprecated or not working, so I created my own.

GitHub Release Issues GitHub pull requests

We rewrite it in rust.
Status: 07.26.2024: Its Rewritten! But we still fix bugs and add more features.
⚠️ This is still Work-In-Progress! ⚠️



Todolist

Frontend:

  • Dashboard
  • Controls
  • Music
  • Mixer
  • Settings

Backend:

  • auto update

Requirements

- A PC running linux

- A recent JRE / JDK version, minimum is Java 18

- An audio server compatible with pactl (tested on Pipewire)

- Maven for building the project


Configuring

  1. Change the allowed hosts like you need them in src/main/java/me/theredstonedevde/pawebctl/WebServer.java (line 18-23)
...
public class WebServer {
    private static final String[] APPROVED_IP_ADDRESSES = {
        "192.168.21.117", //host pc
        "192.168.21.118", //controlpanel or client for the web interface
        "127.0.0.1" //localhost
    };
...
  1. Configure the MPRIS interface (optional if you use the plasma-browser-extension) in src/main/java/me/theredstonedevde/mprisctl/MPRISctl.java (line 13-18)
...
	PlasmaBrowserExtension pbe;
	DBusConnection dbusconnection;
	String MPRIS_BUSNAME = "org.mpris.MediaPlayer2.plasma-browser-integration"; // <--- change busname
	String MPRIS_OBJECTPATH = "/org/mpris/MediaPlayer2"; // <--- change objectpath (only required in some cases)
	public void init() {
		try {
...

You can get these values by using the program d-feet. You just open the program switch to "Session Bus", filter for mpris and grab the player you want to control.


Now you are ready to compile the code!



Compiling

  1. Go to the repository root and execute mvn install dependency:copy-dependencies. The process should complete with "BUILD SUCCSESSFUL" if not you're always welcome to create an issue!

  2. Run the program! Run the program with java -cp target/dependency/*:target/PaMprisController-1.0-SNAPSHOT.jar me.theredstonedevde.pawebctl.WebServer

  3. Open the webui! The webui runs under http://127.0.0.1:8193/ or http://<your pc's IP here>:8193/

About

A simple webui to control PulseAudio (or Pipewire) and any mediaplayer with MPRIS on linux

Resources

Stars

Watchers

Forks

Packages

No packages published