Support for Vorbis and Opus, not MP3

I’ve kept a reminder on my todo-list for a long time that I should not implement MP3 file support, but a couple of weeks ago i rebelled and started doing it anyway, which ended up as yet another decision to not do it. Instead, I implemented Ogg Vorbis support for playing .ogg files and streaming… Continue reading Support for Vorbis and Opus, not MP3

The things you have to do for an interactive terminal interface

Programming language libraries usually expect terminal interaction to take place one print line or read line at a time, and don’t have much support for detecting keypresses or changing what’s already written on the screen. Still, POSIX and other generally followed standards allow more dynamic interaction techniques that are compatible across many systems, and this… Continue reading The things you have to do for an interactive terminal interface

ALSA broken pipe errors

Since last summer, when I changed Klipspringer to access ALSA directly, I’ve had problems with occasional sudden stops in playback and capture, caused by broken pipe errors from the ALSA interface. This post contains the information I would have needed – but failed to find when searching the internet – to solve the problem when… Continue reading ALSA broken pipe errors

Never implement doHickey

I sometimes feel like an impostor when I talk about code design because I have absolutely no formal education in it, and I’ve been imprinted with the attitude that it’s the algorithms, their correctness and efficiency, that you’re supposed to worry about. Working on larger projects, in companies and on my own, I’ve come to… Continue reading Never implement doHickey

Capturing audio for streaming and recording

Since version 3.2, the Klipspringer hub includes the possibility to capture audio from an input device. My idea is to use it for getting music from my vinyl records into digital files, or just to listen to the records digitally with headphones when I’m sitting on the balcony or somewhere else away from my stereo. To… Continue reading Capturing audio for streaming and recording

Screenshots of Klipspringer, now streaming

This post describes my setup of the Klipsringer hub, with screenshots. Since version 3.1 the purpose not only to play music on the speakers in my living room, but also to stream the same music collection to my mobile phone, to let me listen to it with headphones whenever I’m within reach of the wifi in my apartment.

Version 3, a new beginning

Version 3.0.1 is now released, with many major differences from previous versions. The track player has undergone major refactoring and cleanup, and some annoying quirks have been removed. In addition to FLAC files, it now supports WAV and whatever other PCM formats the Java platform knows how to handle. The Klipspringer hub has been made… Continue reading Version 3, a new beginning

What’s all this then?

Klipspringer is a collection of software that I’ve been using (and kept developing) since 2014 for playing the collection of music files I got from ripping my CDs (and have since expanded by buying music online). It controls playing audio files (primarily FLAC files) on the server side (the computer connected to the stereo) via… Continue reading What’s all this then?