From 2be43cc479dfd4cfb621f14381330c708291e324 Mon Sep 17 00:00:00 2001 From: Christian Cleberg Date: Sun, 28 Jul 2024 19:46:20 -0500 Subject: conversion from Zola to Weblorg --- content/blog/2022-07-25-curseradio.org | 99 ++++++++++++++++++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 content/blog/2022-07-25-curseradio.org (limited to 'content/blog/2022-07-25-curseradio.org') diff --git a/content/blog/2022-07-25-curseradio.org b/content/blog/2022-07-25-curseradio.org new file mode 100644 index 0000000..cf339e8 --- /dev/null +++ b/content/blog/2022-07-25-curseradio.org @@ -0,0 +1,99 @@ +#+date: <2022-07-25> +#+title: CurseRadio: Listening to the Radio on the Command Line +#+description: + + +* 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 + +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 -- cgit v1.2.3-70-g09d2