What is "Stream-Pi"?

Stream-Pi was created to fill the gap in the open-source for a proper, powerful macro pad keyboard software.

The existing free alternatives are either proprietary or are limited in terms of personalization or expansion.

Stream-Pi exists as a proper open-source alternative as it offers a rich Theme System, that users can use to personalize every crook and nook of the UI System with CSS.

Stream-Pi also offers a rich API, that developers can use to write their own custom plug-ins – just like some paid and proprietary options currently available. The big difference here is that Stream-Pi is completely Free!

Meet the Team!

These are the people behind Stream-Pi, they make sure everything runs smoothly.

Lead Developers

Samuel Quinones

Samuel Quinones Pic

Debayan Sutradhar

Debayan Sutradhar Pic

Java Developers

Quimo

Quimo Pic

j4ckofalltrades

j4ckofalltrades Pic

Web Developers

dmf444

dmf444 Pic

User Experience

Toglk

Toglk Pic

Testing & Auditing

Cerberus

Cerberus Pic

NorvillesDingus

NorvillesDingus Pic

Infrastructure

Jason Toland

Jason Toland Pic

How is it Made?

Stream-Pi is completely built using Java and JavaFX technology.

The theme system makes use of JavaFX CSS for stylizing the UI.

The Action API makes use of the Java Platform Module System or JPMS. This system allows developers to write their own plug-ins.

The essential actions that are pre-bundled with Stream-Pi public builds, are all based on this system.

The Android and iOS builds, unlike the other builds, run natively and are compiled "Ahead-Of-Time" (AOT). This is possible because Stream-Pi uses GluonFX technology, which itself makes use of Oracle’s GraalVM native image tool to create natively run, Ahead-Of-Time (AOT) executables, that do not run on JVM, and consume far less memory and resources.

The Linux ARM builds makes use of Gluon’s DRM library, that allows Stream-Pi to leverage hardware acceleration via OpenGL ES on ARM systems that offer DRM/KMS support (Example: Raspberry Pi). In case if the system has no DRM support, Stream-Pi can still run on X Server, although the performance will be slower since Stream-Pi will not be able to leverage hardware acceleration.

How does it Work?

Stream-Pi consists of two main components – Server and Client. The Server is meant to be run on the host PC, and the Client is what you want to use as the macropad (Example: Android device, Raspberry Pi, iPad, etc.)

The Server and Client are connected to and communicate with each other over your local network. When the Client registers the user clicking on an action, it talks to the Server about the clicked action – which the Server then proceeds to execute. If failed, the Server replies back with an error, and a danger icon is shown on the action box on the client, and an alert popup is shown to the user on the Server.