To Top
# Continuation Now that I've got some time on my hands in university, I've decided to work on this project a little more (and also now that I'm basically certain it works properly, given how long its been running for)
There are a couple of bugs/minor issues I've noticed though: - The TLS version crashes on occasion, so need to debug that and make it as usable as the non TLS version - If the title of an audio file has double spaces in it, then it cannot be voted for, this is in all likelihood due to `strtok_r` being used somewhere - The formatting for the vote count return message has a mistake in it (a missing closing bracket) But since I'm going to have to restart it after this much uptime, I've decided I'll do a proper upgrade: - Firstly I'll write a simple abstraction for the async IO stuff, so I could potentially extend it to use `epoll` or something similar if I so wished - Then modularise it, allowing for dynamically reloading components of the system at runtime, making it much easier to extend it (since I won't have to restart it) - Write a simple RDBMS for sorting out audio files - Add in a simple accounts system, for adding files more easily if I so wish - Add in a chat system, likely extending from the account system - Improve the data being sent over websocket/synchronisation with client, i.e make the audio progress and metadata audio progress times actually sync, and sync the listener count with people leaving and joining more synced - Make it possible to configure stations, and possibly everything else too, at runtime (so potentially making the core project some sort of service that is extended entirely at runtime) - Potentially make an offline usable app for the radio, where a random selection of tracks will be securely selected and played on the users device offline (for example, allowing the user to play the radio while in the tube or something - an issue that I've come across) - Dockerize the entire thing, to make it easy for someone to setup their own radio - Potentially allow styling in some sort of dashboard Some of these will likely take a bit longer than others (RDBMS) but we'll see how this plays out.