A simple internet radio player built with the Enlightenment Foundation Libraries (EFL).
- Search for radio stations using the radio-browser.info API
- List stations with their favicons
- Play, pause, and stop radio streams
- Search by station name, country, language, or tag
- Save favorite radio stations locally
- Add custom radio station URLs manually
- GOOM visualizer
Favorite radio stations are saved locally in XML format at:
~/.config/eradio/favorites.xml
The favorites file uses a simple XML structure to store station metadata:
<?xml version="1.0" encoding="UTF-8"?>
<favorites version="1">
<station uuid="station-uuid-here" name="Station Name"
url="http://example.com/stream.mp3"
favicon="http://example.com/icon.png"/>
<station uuid="another-uuid" name="Another Station"
url="http://example.org/stream"/>
</favorites>Each <station> element can contain the following attributes:
uuid(optional): Unique identifier from the radio-browser.info APIname(optional): Human-readable station nameurl(optional): Stream URL for the radio stationfavicon(optional): URL to the station's favicon image
Note: Either uuid or url must be present for a station entry to be valid. The uuid is used as the primary key when available, with url as fallback.
- The file is automatically created when you add your first favorite station
- Favorites are saved atomically using a temporary file and rename operation
- The file can be manually edited - changes will be loaded when the application starts
EFL / Elementarygccwith C99 supportpkg-configlibxml2
First, generate the build system:
autoreconf --installThen, configure, build, and run the application:
./configure
make
./src/eradioTo clean the build artifacts:
make cleanThe application initializes Elementary, creates a window with a search bar, a results list, and playback controls. It uses Ecore_Con to fetch station data from the radio-browser.info API, parses the XML response with libxml2, and populates a list. The Emotion library is used to handle media playback.
The application icon is derived from Vintage Panasonic Two-Band (FM-AM) Transistor Radio, Model RF-800, 9 Transistors, Made In Japan, Circa 1965 by Joe Haupt from USA, licensed under the Creative Commons Attribution-Share Alike 2.0 Generic license.

