Native C
Working in and extending an established native-C application foundation.
/projects/signalbox · active process
Modern native-C terminal client for Pandora, evolving pianobar’s foundation into a responsive cross-platform TUI targeting macOS, Linux, and Windows.
Independent engineering / FOSS project
Signalbox takes pianobar’s proven native-C foundation and asks what a modern, responsive Pandora terminal client can look like while keeping the speed, simplicity, and character of a native terminal application.
It is more than a visual reskin. The work reaches through the interaction model, terminal state and rendering, live resize behavior, audio playback, keyboard input, authentication and session behavior, build tooling, and cross-platform compatibility while modernizing an established codebase.
Implemented and tested
Operator note
I’ve always liked software that does one thing well, stays close to the machine, and does not need a browser tab to justify its existence.
Signalbox became an excuse to revisit native C, terminal application design, audio, cross-platform behavior, and the strange engineering problems that only show up when the entire UI lives inside a terminal.
Current areas of work
Working in and extending an established native-C application foundation.
Building a responsive interface with distinct Stations and Now Playing regions—not treating stdout as a static stream.
Maintaining real Pandora streaming and playback behavior while modernizing the surrounding application experience.
Handling keyboard interaction, authentication and session behavior, selection, playback, and application state inside a terminal.
Detecting live terminal dimension changes and rebuilding or redrawing interface regions correctly.
Developing across macOS, Linux, and Windows while preserving the application’s native-C terminal architecture. The native Windows .exe target is in active development.
Using runtime instrumentation and logging to trace terminal behavior and diagnose rendering and state problems.
Signalbox carries forward and builds upon pianobar’s native-C foundation. The project respects that lineage while evolving the interface and interaction model; it does not present the underlying work as something written from scratch.