aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2022-07-25-curseradio.md
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2024-01-08 20:11:17 -0600
committerChristian Cleberg <hello@cleberg.net>2024-01-08 20:11:17 -0600
commit25945b8fead989cca09a23983623b63ce36dcc0c (patch)
tree0dfc869ce8b028e04ce9da196af08779780915ce /content/blog/2022-07-25-curseradio.md
parent22b526be60bf4257c2a1d58a5fad59cf6b044375 (diff)
downloadcleberg.net-25945b8fead989cca09a23983623b63ce36dcc0c.tar.gz
cleberg.net-25945b8fead989cca09a23983623b63ce36dcc0c.tar.bz2
cleberg.net-25945b8fead989cca09a23983623b63ce36dcc0c.zip
feat: total re-write from Emacs org-mode to Zola markdown
Diffstat (limited to 'content/blog/2022-07-25-curseradio.md')
-rw-r--r--content/blog/2022-07-25-curseradio.md106
1 files changed, 106 insertions, 0 deletions
diff --git a/content/blog/2022-07-25-curseradio.md b/content/blog/2022-07-25-curseradio.md
new file mode 100644
index 0000000..27b35d6
--- /dev/null
+++ b/content/blog/2022-07-25-curseradio.md
@@ -0,0 +1,106 @@
++++
+date = 2022-07-25
+title = "CurseRadio: Listening to the Radio on the Comand Line"
+description = "Use Curse Radio to listen to radio on the command-line."
++++
+
+## Overview
+
+While exploring some interesting Linux applications, I stumbled across
+[curseradio](https://github.com/chronitis/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
+
+![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.
+
+```sh
+sudo dnf install python3 pip3 mpv
+```
+
+Next, use `pip3` to install `requests`,
+`xdg`, and `lxml`:
+
+```sh
+pip3 install requests xdg lxml
+```
+
+### Repository Source Installation
+
+Once all the dependencies are installed, we can clone the source code
+and enter that directory:
+
+```sh
+git clone https://github.com/chronitis/curseradio && cd curseradio
+```
+
+Once you're within the `curseradio` directory, you can
+install the application with the provided `setup.py` script.
+
+```sh
+sudo python3 setup.py install
+```
+
+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.
+
+```sh
+sudo mkdir /usr/local/lib/python3.10/
+sudo mkdir /usr/local/lib/python3.10/site-packages/
+```
+
+```sh
+sudo chown -R $USER:$USER /usr/local/lib/python3.10/
+```
+
+## Run the Application
+
+Once fully installed without errors, you can run the application!
+
+```sh
+python3 /usr/local/bin/curseradio
+```