aboutsummaryrefslogtreecommitdiff
path: root/blog/curseradio/index.org
diff options
context:
space:
mode:
Diffstat (limited to 'blog/curseradio/index.org')
-rw-r--r--blog/curseradio/index.org95
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