Jezra.net

Station: an API controlled stream player

Many moons ago, Muttonchop was created to handle all of my media consumption needs. Recently however, I was in the mood to set up a small utility computer to play audio streams, and I wanted to control the player through a web browser. While Muttonchop would do what I needed, I was simply not interested in setting up the build environment necessary for compiling Muttonchop, and since the requirements of what I wanted (play streams only) were far simpler than Muttonchop, I opted to write a server and UI to do only what was needed.

Embracing Minimalist
After dealing with copious bloat, complicated software backends and frontends, and poorly crafted disjoined UI design, depression was setting in and negatively affecting the emotions that I derive from writing code. To counteract the clutter, there was an embrace of Zen Minimalism and striving to do much with little. The Elegance of Simplicity. The focus on writing just what needs to be written is wonderful in the context of keeping the code base small, and the reminder that software development doesn't need to be complicated certainly rekindled the joy I find in writing code.

The API for Station is written in python and is served using the excellent bottle framework, and the UI is a combination of boring HTML, boring Javascript, and boring CSS.

Audio playback is handles by a Player class that utilized the Gstreamer media framework.

Code for this project is available at https://gitlab.com/jezra/station; licensed GPLv3.

the Minimalist UI

And that's about it.

Now I need to make a special computer just to run Station. I think I'll call it "Station" :)

cheers,
jezra