My goal is to be a plugin only and theme agnostic.A plugin is an independent piece of software that can be added to any WordPress site. Radio Station first creates a CCK of Shows (in Drupal parlance). In WordPress parlance, a Drupal CCK is a WordPress CPT - a custom post type. The plugin creates “Shows” CPT. You then add a Show and it spawns a page for the Show with the meta data about the show. See https://netmix.co/radio-station-demo for a demo display. Click on a Show in the master schedule to see the Show page. The plugin also spawns “Widgets,” which are blocks for the website’s sidebar. There’s an upcoming show / DJ, an on-air show / DJ, and a current ly playing song widget (but that is a manual process of using the second CPT, “Playlists” to start manually creating playlists.
This plugin should and can be used with any WordPress theme. We are not planning on getting into theming. A radio station already has a website with a theme and they don’t care to change their entire theme (costly, especially if it’s custom) and go with an untested theme that is new. So, we are staying away from themes and we are ONLY a plugin and will always be such.
The goal is to sync the Libretime show schedule via API with Radio Station’s master schedule and that will trigger the pages in Shows to be generated for the user, as well. So, if they connect via API to Libretime, the show schedule they added to Libretime would automatically spawn a clone of that schedule in WordPress through the plugin. We discussed last night about Playlisting and realize that many shows can come in as Podcasts or blocks and aren’t just a bunch of songs compiled to make a Playlist in Libretime. I think if someone were to use the Playlist functionality in Libretime, then if there were an API, we could generate that playlist against that Show in WordPress.
Just to encapsulate all of this - if a radio station realized they have Libretime to run the station and Radio Station plugin to connect to Libretime and pull data automatically via API and publish it into WordPress for them, they’ve managed to win half the battle. The only issue would be that you’d have to make the distinct choice to use Libretime first and then connect to the plugin and that will push the setup process. So, on our side, we’d need to add a setup process if using Libretime.
If the user already has shows on the master calendar and then tries to connect with LibreTime, it may double up or impact the current show set in some way. We’d have to tell the user their calendar may have duplicates if they chose to set up schedules in both.