aboutsummaryrefslogtreecommitdiff
path: root/content/blog/2022-07-25-curseradio.md
diff options
context:
space:
mode:
authorChristian Cleberg <hello@cleberg.net>2024-04-27 17:01:13 -0500
committerChristian Cleberg <hello@cleberg.net>2024-04-27 17:01:13 -0500
commit74992aaa27eb384128924c4a3b93052961a3eaab (patch)
treed5193997d72a52f7a6d6338ea5da8a6c80b4eddc /content/blog/2022-07-25-curseradio.md
parent3def68d80edf87e28473609c31970507d9f03467 (diff)
downloadcleberg.net-74992aaa27eb384128924c4a3b93052961a3eaab.tar.gz
cleberg.net-74992aaa27eb384128924c4a3b93052961a3eaab.tar.bz2
cleberg.net-74992aaa27eb384128924c4a3b93052961a3eaab.zip
test conversion back to markdown
Diffstat (limited to 'content/blog/2022-07-25-curseradio.md')
-rw-r--r--content/blog/2022-07-25-curseradio.md107
1 files changed, 107 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..683e750
--- /dev/null
+++ b/content/blog/2022-07-25-curseradio.md
@@ -0,0 +1,107 @@
++++
+date = 2022-07-25
+title = "CurseRadio: Listening to the Radio on the Command Line"
+description = ""
+draft = false
++++
+
+# 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
+```