Solostation
I'm the absolute worst when it comes to naming things, so it's fair to say that taking a year to come up with a name (much less actual progress on the project itself) shouldn't surprise anyone.
I picked the name Solostation simply because it was the only reasonable name I could find. Everything that I asked ChatGPT (don't judge) to help me with resulted in "retro" or "wave", something like that. This project does mimic retro cable TV but it's also very modern, so the "retro" name doesn't fit. Also, Solostation represents a made up cable station that houses multiple channels; it's not just one channel or a single "signal".
Progress and Github
Most of my work on this project has been a lot of learning, trial and error, figuring out the best way to manipulate MPV Player to do exactly what I want, not to mention how to get the best results for smooth playback. I'll eventually document the details of the workflow of how Solostation works in the future, but for now, it's more complicated than it probably should be. MPV has worked out really well for this project, but you HAVE to be patient with it. For example, if you want to seek to a specific position in a video file, you must wait until MPV is ready to do so. You would think this would be fairly instant but it isn't. MPV will literally shut itself down if anything it out of "order".
Another fun thing to learn is datetime in Python. Time is the key, core component to making sure media is not only scheduled, but that it is playing on time. It's about making sure that the schedule is full of media with no blank spots.
I did create an official Github repo for Solostation so you can see all of my commits and code updates.
The plan is to get this project to a "0.1" state to where all basic functionality works, regardless of the code quality. Features like error checks, making sure that there are no repeat media items, and additional bells and whistles will come later on. I'm hoping to learn a little more about Git so that way I can revert if I really screw up the code.
0.1 Features
To go into more detail about the baseline version, let's talk features.
- 24 hour schedule
- Each channel will have a full schedule from midnight on the current day until early the next morning on first boot up (a "lazy scheduling" method if you will).
- Future: If Solostation is left powered on and the schedule is running out of things to play, a new schedule will be built for the next day.
- Commercials
- The "channel2" channel, which is a mix of all media items, will inject commercial breaks when and where needed. No other channel will have commercials for now.
- Commercials are mixed from multiple decades: 70s-00s
- Loud!
- MTV clone "Loud!" will play music videos all day.
- Each music video will show an "info card" with the Artist and Title, just like MTV did.
- Random old school MTV "idents" will play every so often to give more of a MTV vibe.
- Movie Channels
- Pay Per View, Bang, and Motion channels
- Each channel (except PPV) will play movies all day, but will have a brief period of time between each movie, showing movie trailers, music videos, and random, short web content.
- Movies will start on 15 minute increments (15:00, 15:15, 15:30, or 15:45).
Once these features are implemented and are working flawlessly, I will be spending some time away from the code and more into filling my external hard drive with more media.