Skip to content

A sleek CustomTkinter radio app powered by VLC with search, flags and live metadata.

License

Notifications You must be signed in to change notification settings

reory/Internet_radio_python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python License Repo Size Last Commit Stars

Internet Radio Player

Internet Radio (Python + CustomTkinter + VLC)

A modern, modular Internet Radio application built with Python, CustomTkinter, and python-vlc.
It features a clean UI, live metadata updates, station search, flag icons, and a modular architecture that makes future expansion easy.


🚀 Features

  • Play hundreds of online radio stations
  • Live metadata updates (track titles, artist info, etc.)
  • Search bar for instant station filtering
  • Country flags for each station
  • Scrollable station list
  • Now Playing card with LIVE indicator
  • Volume control + Stop button
  • Modular architecture (easy to extend)
  • JSON‑based station database

📸 Screenshots

Below are some example screenshots of the Internet Radio app in action.
(You can add your own images to the assets/screenshots/ folder and update the paths here.)

🖥️ Main Window

Main Window

🎵 Now Playing Card

Now Playing

📜 Station List

Station List

🔍 Search Bar

Search Bar


🧩 Project Structure

internet_radio/ │ ├── app.py ├── requirements.txt │ ├── gui/ │ ├── main_window.py │ ├── now_playing.py │ ├── station_list.py │ ├── controls.py │ └── search_bar.py │ ├── player/ │ ├── radio_player.py │ └── stations.py │ └── assets/ └── icons/ ├── stop.png ├── flags..


Installation

Clone the repository

git clone https://github.com/reory/internet-radio-python.git
cd internet-radio-python


Install dependencies
pip install -r requirements.txt


Install VLC
This app uses python-vlc, which requires VLC installed on your system.
Download VLC here:
https://www.videolan.org/vlc/

Run the app
python app.py

Add Radio Stations which are stored in:
player/stations.json

Future Plans
- Interactive world map for selecting stations by country
- Favourites system
- Categories & filters
- Mini‑player mode
- Buffering indicator
- Better error handling for offline stream

License
MIT License — free to use, modify, and share.

Built by Roy Peters — a hands‑on architect exploring Python GUI development, 
modular design, and media streaming.

## 🤝 Contributing

Contributions, ideas, and feedback are welcome!

If you’d like to help improve this project:

1. **Fork** the repository  
2. Create a new branch for your feature or fix  
3. Make your changes  
4. Submit a **pull request** with a clear description

You can also open **issues** for:
- Bug reports  
- Feature requests  
- UI/UX suggestions  
- Station list improvements  

This is my first public project, so constructive feedback is especially appreciated as the app continues to grow.

About

A sleek CustomTkinter radio app powered by VLC with search, flags and live metadata.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages