Spicing Up Your PyRadio: Easy Peasy Online Radio Playlists Integration

Cover Image for Spicing Up Your PyRadio: Easy Peasy Online Radio Playlists Integration
Rahul M. Juliato
Rahul M. Juliato
#python#pyradio# m3u

In this article, we'll guide you through enhancing PyRadio using a Python package that I've developed. This package is designed to streamline the process of importing m3u files into PyRadio. Additionally, it offers the convenience of automatically populating PyRadio with an extensive list of radios using just one command!

What is PyRadio?

PyRadio stands as a powerful and versatile command-line radio player, offering a unique blend of features that cater to a seamless and customizable radio streaming experience. Here's a closer look at its notable attributes:

Features:

  • Intuitive Navigation: PyRadio adopts vi-like keys, providing a familiar and efficient navigation experience using arrows, special keys, and vi-like station registers.

  • Station Management: Enjoy the convenience of a station editor with support for CJK characters, allowing you to effortlessly add or edit stations.

  • Configurability: Customize PyRadio according to your preferences using the built-in configuration editor, ensuring a personalized and tailored radio environment.

  • Playlist Diversity: PyRadio supports multiple playlists, enabling you to organize and switch between different sets of your favorite stations effortlessly.

  • Search Functionality: Seamlessly find your preferred stations with PyRadio's search function, enhancing the overall accessibility of your radio experience.

  • Theming Support: Personalize the visual aesthetics of PyRadio with theming support, allowing you to tailor the interface to match your style.

  • RadioBrowser Integration: Benefit from RadioBrowser support, expanding your radio station options and providing a broader spectrum of choices.

  • Remote Control: PyRadio extends its functionality with remote control capabilities, allowing for enhanced accessibility and control.

  • Compatibility: PyRadio is designed to run on Linux, macOS, and Windows, offering a versatile solution across different operating systems.

  • Easy Installation: Install or update PyRadio effortlessly through distribution packages, where available. For cases where distribution packages are not an option, building PyRadio from source ensures a straightforward installation process.

  • Extended Compatibility: PyRadio interfaces seamlessly with popular multimedia players, requiring MPV, MPlayer, or VLC to be installed and accessible in your system's path.

  • Optional Enhancements: For users seeking additional features, PyRadio supports optional integration with MKVToolNix (cli files) to insert tags, chapters, and cover to recordings, as well as optional netifaces for enhanced network interface functionality.

Requirements:

  • Python 2.7/3.5+
  • Setuptools
  • Wheel
  • Requests
  • Dnspython
  • Psutil
  • Rich
  • Python-dateutil
  • Netifaces (optional)
  • MPV, MPlayer, or VLC installed and in your system's path
  • MKVToolNix (cli files) for optional advanced features

Installation:

For optimal installation, use distribution packages when available, such as on Arch Linux and derivatives, where PyRadio can be easily installed from the AUR. In cases where distribution packages are not accessible, building PyRadio from source ensures a smooth installation process, bringing you closer to an enriched command-line radio experience.

For more information, check PyRadio's GitHub Repository.

What is m3u_to_pyradio?

m3u_to_pyradio is a versatile Python package designed as a PyRadio playlist generator from m3u playlist files. It addresses the common desire to seamlessly insert extensive m3u playlists into PyRadio or even automate the process of downloading and converting m3u playlists from external sources.

For complete information, check m3u_to_pyradio_playlist Github Repository.

How to use it

Install and Usage: To get started, install the package with pip install m3u_to_pyradio_playlist. Once installed, you can utilize the following command-line options:

m3u_to_pyradio [-h] [-i INPUT -o OUTPUT] [-d] [-a]

This program converts .m3u files into pyradio playlists.

examples:
   m3u_to_pyradio -d    Downloads and creates a huge stations.csv
   m3u_to_pyradio -a    Same as -a and overrides current pyradio stations
   m3u_to_pyradio -i playlist.m3u -o playlist.csv
                        Creates playlist.csv file from your playlist.m3u file

options:
  -h, --help            show this help message and exit
  -i INPUT, --input INPUT
                        The m3u input file
  -o OUTPUT, --output OUTPUT
                        The output CSV file where playlist will be saved
  -d, --download-super-list
                        Download and convert the complete m3u list from
                        https://github.com/junguler/m3u-radio-music-playlists.
  -a, --auto            DANGER: Same as -dsl but OVERRIDES your
                        ~/.config/pyradio/stations.csv

Usage Examples:

-- Import a custom m3u file to PyRadio: m3u_to_pyradio -i my_playlist.m3u -o converted.csv

-- Automatically download the "everything-full.m3u" playlist and save it as stations.csv: m3u_to_pyradio -d

-- Override your current playlist with the downloaded list: m3u_to_pyradio -a

The output .csv file is what pyradio actually reads.

Uninstall

To uninstall, use: pip uninstall m3u_to_pyradio_playlist

How to make everything work with one command?

Achieving a seamless integration of the extensive playlist from the junguler repository into PyRadio, automatically downloading, converting it to PyRadio's custom .csv format, and seamlessly replacing the existing configuration can be effortlessly accomplished by executing:

m3u_to_pyradio -a && pyradio

This single command ensures a streamlined experience, opening PyRadio with all the components seamlessly integrated.

Conclusion

In a nutshell, PyRadio just got cooler with "m3u_to_pyradio." This Python package makes importing m3u files a breeze – a quick command, and you're seamlessly integrating extensive playlists, updating configurations, all in one go. It's a perfect match for radio enthusiasts who want a snappy, customized command-line radio experience. Whether you're tinkering with playlists, automating updates, or exploring stations from repositories like junguler's, "m3u_to_pyradio" has your back. Check out the GitHub repository for the inside scoop and to elevate your PyRadio vibes effortlessly. Now, sit back and let the tunes roll! 🎶

Happy listening!