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

https://gitlab.com/christosangel/radion

Radion can be customized 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: customizing prompt text for fzf dmenu and rofi.


Update: MacOS support added now thanks to Andrea Schäfer

Also, I was forced by my daughter to add some anime radio stations


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!

    • @folkrav
      link
      39
      edit-2
      9 months ago

      deleted by creator

      • Maeve
        link
        fedilink
        129 months ago

        That’s why it’s impressive. It’s not easy.

        • @folkrav
          link
          14
          edit-2
          9 months ago

          deleted by creator

          • Maeve
            link
            fedilink
            59 months ago

            Some people just have a natural affinity, I guess. If it made the programmer happy and it’s not full of maliciously exploitable bugs, why not?

            • @folkrav
              link
              2
              edit-2
              9 months ago

              deleted by creator

      • shinomoroll
        link
        fedilink
        119 months ago

        Everything is not pure bash here, it’s a radio frontend for mpv. It is also using sed, awk… A standard bash use case actually.

      • Dran
        link
        109 months ago

        My entire homelab env is written in “pure bash”. Bare metal deployments, creation, build, deployment, update, and backup, of docker containers (which are also just convenience wrappers around other pure bash projects of mine.). Etc…

        I do it because I got sick of losing data, work, workflow or convenience to black boxes I didn’t create myself. Hell, even with my third party projects like Plex I have a lot of bash automation around extracting playlists from the internal sqlite db, etc. It really shifts your perspective on what’s possible when you build things by hand yourself.

        • @folkrav
          link
          5
          edit-2
          9 months ago

          deleted by creator

          • Dran
            link
            39 months ago

            It’s not like I don’t use open source solutions, I use docker for example rather than automating chroots/cgroups by hand in bash. I just use them as little as possible. While you’re correct, I don’t lose data in a well designed open source project, I do lose work, workflow, and convenience when those projects change or shut down. What’s really nice about the pure bash solutions is they’re entirely portable once you have them dialed in. If I wanted to switch from docker back to vms or forward to something like harvester/rancher/k3s I’d be able to port the projects very trivially. If I built everything around one of those projects in mind, all of my work would rely on it not changing. I acknowledge it’s sometimes a little more work but it’s work that I get to decide when to do, not when the project maintainers decide it for me.

      • DreamButt
        link
        English
        59 months ago

        Not to mention the tool isn’t meant to be anything more than glue between other programs

    • christosOP
      link
      159 months ago

      Don’t give me new ideas…

    • @fluxion
      link
      English
      69 months ago

      That silly, obviously they’re using VFIO so they can use a userspace sound card driver written in bash

  • HexesofVexes
    link
    129 months ago

    Well, I know what I’ll be using to listen to my radio stations from now on. Really neat project!

    Also, it doesn’t pick up user defined tags because it’s looking in the wrong place for them!

    Row 114:

    TAGS=( $(sed ‘s/ /\n/g’ stations.txt |grep “#”|grep -v “#Favorites”|sort|uniq|sed ‘s/#//g’) )

    Should be

    TAGS=( $(sed ‘s/ /\n/g’ $HOME/.cache/radion/stations.txt |grep “#”|grep -v “#Favorites”|sort|uniq|sed ‘s/#//g’) )

    • christosOP
      link
      109 months ago
      • Excellent catch! This one slipped through! I just fixed the bug, thank you very much!

      I am happy you like it!

    • christosOP
      link
      69 months ago

      I must admit I had to look sxmo up…

      thx!

      • @[email protected]
        link
        fedilink
        19 months ago

        How can we connect… I’m having weird graphical issues… But I might be drunk and missing something. Tomorrow morning I’ll send a video

  • lemmyvore
    link
    fedilink
    English
    59 months ago

    Unrelated but, in case it’s not dyslexia, it’s “customize” not “costumize”. It comes from “custom” not “costume”.

    • christosOP
      link
      19 months ago

      You are right, lapsus calami

  • christosOP
    link
    39 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!

    • christosOP
      link
      279 months ago

      Of course, next time I feel like writing a script, I will make sure that I let you know first, and get your approval.

      • darcy
        link
        fedilink
        49 months ago

        respectfully, why did you write it in bash? for the challenge?

        • christosOP
          link
          59 months ago

          This script could might as well be an one-liner. It was simple and easy.

          • @[email protected]
            link
            fedilink
            English
            49 months ago

            Yeah right, that’s what my co-worker said writing the most obscure bash scripts… *looks at code Ah, it is easy and well structured indeed. Nice :-) .

            • christosOP
              link
              29 months ago

              I know this feeling! However this script in its essence is quite simple…

                • christosOP
                  link
                  English
                  19 months ago

                  Try this, it is less pretty, but in essence, the same:

                  cat ~/.cache/radion/stations.txt |fzf|awk '{print $1}'|xargs mpv
                  
                  
        • christosOP
          link
          English
          19 months ago

          I like how people I don’t know insist on telling me what to do. Actually, I like the part where I ignore them.

    • christosOP
      link
      139 months ago

      Maybe. Respectfuly, feel free to move along. I fail to see the aim of your message.

        • christosOP
          link
          59 months ago

          By the way: Who’s “we”? Do you represent a group of people? Are you elected to speak for someone? Or is it the plural of some royal family? Please.

            • christosOP
              link
              49 months ago

              I know, it so indifferent to you, that you have written so many messages on my post, just to troll me. Go on, write one more, have the last word and be done with it.