radico8 is both a youtube stream and web radio that plays pico-8 music.
if you know some good pico-8 music, submit a pull request adding the lexaloffle cart-id and track to the playlist.txt file.
you can submit a github issues for issues with the stream, feature suggestions, and bugfixes.
youtube changes the video url everytime the stream goes down unless you use the link at the top of this document. so make sure you bookmark that link.
giving credit to the actual artist of a song is a manual process. if a song is attributed to the wrong user please submit a pull request with the fix in the playlist.txt file.
you can run the radio locally on a linux system. here are the steps:
# the radico8 p8/lua files should be in the cartridges directory.
> ls cartridges | grep radico8
radico8.lua
radico8.p8
# perform a 1 time download of the carts listed in the playlist file.
# running this script multiple times will skip carts that are already downloaded.
# this populates the cartridges directory with ".p8" and ".txt" files and removes comments/formatting from the playlist.txt file.
> ./scripts/install_carts ./playlist.txt cartridges
Saved size: 212 212 3665
# and finally, run the radio!
# this opens up pico8 and loads carts/songs on demand.
# also listens to changes in the playlist.txt file (good for a 24/7 radio).
> ./scripts/local-radio /opt/pico8/pico8 cartridges playlist.txt
hotfoot-2:0:0:34:repeat:
seinsim-0:18:0:16:repeat:
...
radico8 is currently hosted on a tiny arch-linux linode instance along with some other things. there are 4 parts to the server setup:
radico8 could be setup on any linux machine, but it is a bit of a manual process. here are the general steps:
1. ensure you have the docker daemon installed & running
2. if you want to host a webradio:
- ensure you have icecast installed: https://icecast.org/
- make sure you have a file at: /etc/radico8/icecast.env
- the file content would be:
PASS=<icecast-stream-token>
3. if you want to host a youtube stream:
- setup a youtube stream, use these scripts to help:
- ./get_oauth_refresh_token
- ./update_youtube_broadcast
- make sure you have a file at: /etc/radico8/youtube.env
- the file content would be:
PASS=<youtube-stream-token>
4. run this script: install_to_server
- it may require some tweaking since it's designed for a specific setup
- systemd services: radico8 radico8-icecast radico8-youtube radico8-youtube-backup
- systemd timers: radico8-install-carts radico8-reboot
5. use systemd to manage the radico8 server:
- initial install of carts: systemctl restart radico8-install-carts
- restart radico8: systemctl restart radico8
please don't sue me. i'm not that rich anyways, so it's probably not worth it. if you're the author of a song and you'd like it removed from the radio, just submit a pull request to remove that song.
this repo is licensed under CC4-BY-NC-SA because most pico-8 games use that license too.