diff options
author | Christian Cleberg <hello@cleberg.net> | 2024-04-27 17:01:13 -0500 |
---|---|---|
committer | Christian Cleberg <hello@cleberg.net> | 2024-04-27 17:01:13 -0500 |
commit | 74992aaa27eb384128924c4a3b93052961a3eaab (patch) | |
tree | d5193997d72a52f7a6d6338ea5da8a6c80b4eddc /content/blog/2022-07-25-curseradio.md | |
parent | 3def68d80edf87e28473609c31970507d9f03467 (diff) | |
download | cleberg.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.md | 107 |
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 + + + +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 +``` |