cross-posted from: https://lemmy.world/post/7130937

radion is an internet radio CLI client, written in Bash.

https://gitlab.com/christosangel/radion

Radion can be costumized as far as the station selecting program is concerned. The user can choose between:

  • read

read

  • fzf

fzf

  • rofi

rofi

  • dmenu

dmenu


Update: Introduced new feature: costumizing prompt text for fzf dmenu and rofi.

Update: Recording functionality added, with the use of another (you guessed it) bash script

icy

Also options in read as Preferred selector are also case insensitive.

Any feedback is appreciated!

    • christosOP
      link
      26 months ago

      This may clearly shock you, I know. Why though?

    • christosOP
      link
      15 months ago

      This may come as a shock as well, but here’s the same script, in python: radion.py

  • After using this for a while, my feedback is that it’s fantastic.

    It would help if you explained the station file a bit more. I’ve added URLs to .pls, .m3u, .m3u8, and to the parent pages without the direct playlist links, and while radion does eventually play the playlist, it churns a lot trying (and failing) to parse … something (I’m not sure what). What are the links supposed to be to? Why, when given an .m3u directly, doesn’t it just pull the playlist and play it? What is it expecting for links, if not playlists?

    Anyway, I love this program! Thank you!

    • christosOP
      link
      1
      edit-2
      6 months ago

      Wow, first of all let me thank you for the kind words and your feedback , I am glad that you love the script (to be honest I kinda like it myself, I use it every day!). If I understand well your remark, I should explain specifically that the first string (the url) should be a link to a radio stream, correct? Or elaborate more on the procedure to add a line in station.txt, in order to avoid the mess you mentioned?

      Would it help in your opinion if I added an extra screenshot to he README, pinpointing what exactly should the user as the first string of the stations.txt file? Something like this?

      The truth is that this project is far from being mature, I was just thinking of writing something 10 days ago.

      Let me know if this is what you were talking about (explaining further and with little more detail **what ** goes as the first string of a stations.txt line). If not, I would appreciate if you explained a bit more, if it is not too much too ask, of course.

      Again, thanks fo the good words!

      • It really is quite nice; it almost immediately became my go-to for everyday sitting-at-to-desk.

        I just tried mpv directly with the URLs I added to radion, and they all generate 404s, so some of the items in the playlists must be bad. It’s not Radion’s issue aftet all; sorry.

        I do have one other comment: the stations gile should not be in .cache; it should be in .config, because it’s configuration. Users should be able to delete any application’s .cache directory as part of cache cleaning - if they delete radion’s, it will result in a loss of any additional configured stations they’ve added.

        Sorry about the station red herring; I should have checked the station’s playlist contents for validity first.

        • christosOP
          link
          26 months ago

          Hey something good came out of this feedback, I added a few more details in the README about finding new stations.

          The stations.txt directory is a valid point as well, I was considering this before, but as it is a minor detail that is easily changed, I did not give it much thought. I will most probably implement the change later on.

          Thanks again for the helpful feedback.

    • christosOP
      link
      16 months ago

      It does, doesn’t it? No. The code is there.

  • christosOP
    link
    16 months ago

    Update: Recording functionality added, with the use of another (you guessed it) bash script

    icy

    Also options in read as Preferred selector are also case insensitive.

    Any feedback is appreciated!