diff options
Diffstat (limited to 'blog/curseradio/index.org')
-rw-r--r-- | blog/curseradio/index.org | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/blog/curseradio/index.org b/blog/curseradio/index.org new file mode 100644 index 0000000..fb2c55b --- /dev/null +++ b/blog/curseradio/index.org @@ -0,0 +1,95 @@ +#+title: CurseRadio: Listening to the Radio on the Command Line +#+date: 2022-07-25 +#+description: Use Curse Radio to listen to radio on the command line. +#+filetags: :linux: + +* Overview +While exploring some interesting Linux applications, I stumbled across +[[https://github.com/chronitis/curseradio][curseradio]], a command-line +radio player based on Python. + +This application is fantastic and incredibly easy to install, so I +wanted to dedicate a post today to this app. Let's look at the features +within the app and then walk through the installation process I took to +get =curseradio= working. + +* Features +#+caption: curseradio +[[https://img.cleberg.net/blog/20220725-curseradio/curseradio.png]] + +The radio player itself is quite minimal. As you can see in the +screenshot above, it contains a simple plaintext list of all available +categories, which can be broken down further and further. In addition, +radio shows are available for listening, alongside regular radio +stations. + +For example, the =Sports= > =Pro Basketball= > =Shows= category contains +a number of specific shows related to Professional Basketball. + +Aside from being able to play any of the listed stations/shows, you can +make a channel your favorite by pressing =f=. It will now show up at the +top of the radio player in the =Favourites= category. + +** Commands/Shortcuts +| Key(s) | Command | +|------------+---------------------------------| +| ↑, ↓ | navigate | +| PgUp, PgDn | navigate quickly | +| Home, End | to top/bottom | +| Enter | open/close folders, play stream | +| k | stop playing stream | +| q | quit | +| f | toggle favourite | + +* Installation +** Dependencies +Before installing =curseradio=, a handful of system and Python packages +are required. To get started, install =python3=, =pip3=, and =mpv= on +your system. In this example, I'm using Fedora Linux, which uses the +=dnf= package manager. You may need to adjust this if you're using a +different system. + +#+begin_src sh +sudo dnf install python3 pip3 mpv +#+end_src + +Next, use =pip3= to install =requests=, =xdg=, and =lxml=: + +#+begin_src sh +pip3 install requests xdg lxml +#+end_src + +** Repository Source Installation +Once all the dependencies are installed, we can clone the source code +and enter that directory: + +#+begin_src sh +git clone https://github.com/chronitis/curseradio && cd curseradio +#+end_src + +Once you're within the =curseradio= directory, you can install the +application with the provided =setup.py= script. + +#+begin_src sh +sudo python3 setup.py install +#+end_src + +In my case, I ran into a few errors and needed to create the folders +that curseradio wanted to use for its installation. If you don't get any +errors, you can skip this and run the app. + +#+begin_src sh +sudo mkdir /usr/local/lib/python3.10/ +sudo mkdir /usr/local/lib/python3.10/site-packages/ +#+end_src + +#+begin_src sh +sudo chown -R $USER:$USER /usr/local/lib/python3.10/ +#+end_src + +* Run the Application +Once fully installed without errors, you can run the application! + +#+begin_src sh +python3 /usr/local/bin/curseradio +#+end_src |