=== Radio Station by netmix® - Manage and play your Show Schedule in WordPress! ===
Contributors: tonyzeoli, majick
Donate link: https://netmix.org
Tags: radio station, radio shows, radio station schedule, radio broadcasting, streaming radio player
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Requires at least: 3.3
Tested up to: 6.8.2
Stable tag: 2.5.17

Radio Station lets you build and manage a Show Schedule for a radio station or Internet broadcaster's WordPress website. 

== Description ==

[Live Demo](https://demo.radiostation.pro/) | [Documentation](https://radiostation.pro/docs/) | [Support](https://wordpress.org/support/plugin/radio-station/) | [**Upgrade to PRO**!](https://radiostation.pro/pricing/)

This plugin can be downloaded for free without any paid subscription from the [official WordPress repository](https://wordpress.org/plugins/radio-station/).

#### RADIO STATION by netmix®† - THE BEST WORDPRESS PLUGIN FOR BROADCASTERS!

**Radio Station** *by netmix®* is the most comprehensive WordPress plugin for broadcasters of all types, to manage your Show schedule and play your audio stream on a WordPress website. Thousands of broadcasters worldwide use **Radio Station** *by netmix®* to manage their schedules, showcase their shows, attach playlists, and feature broadcast teams.

Used by thousands of stations worldwide, **Radio Station** *by netmix®* is the most popular Radio Station plugin for WordPress and is used by broadcasters of all types.

*Radio channels* and *television networks* can use it to showcase their existing program schedule online, *podcasters* to announce upcoming episode drops, *streamers* to let their fans know of their next live webcast, *social audio moderators* to let their group know of the next meetup, and for other *online curators* to schedule content for their audience base.


#### SO WHAT DOES RADIO STATION BY netmix® DO?

At its core the plugin adds a **Show** custom post type, schedulable blocks of time that contain a description, a weekly shift repeater field, uploadable images and other meta information. This lets you easily and instantly display a full show **Schedule** on the front end of your site in one of three built-in schedule views. (It also supports adding **Overrides** for handling specific dates and times that can be fully or partially linked to existing shows.)

You can also create detailed track **Playlists** and associate them with a Show, or assign blog posts as **Related Posts** to a Show. Users can be given a plugin role of **Host** or **Producer** with edit privelages when assigned to a Show. **Genre** and **Language** taxonomies are available to group and filter your Shows. **Automatic Pages** are available for your Schedule and all plugin record lists.

**PLUS** we’ve built in a *NEW* **Stream Player** so that your audience can listen to your broadcast while navigating your site. You can also quickly display the **Current Show**, **Upcoming Shows**, **Current Playlist**, **Radio Time** and **Show Lists**. All are available for easily customizable display as *Blocks*, *Widgets* and/or *Shortcodes*!

[Want more? Click here to find out about **Radio Station PRO**](https://radiostation.pro/).


#### RADIO STATION BY netmix® FEATURES

**Radio Station** *by netmix®* is the most feature-packed WordPress plugin for broadcasters today. With features that address both station and audience use cases, your team will be eager to add content your audience will find more engaging. The improved user experience provided by our plugin will help your station website increase visitor time spent on the site, which a critical metric your advertising partners will be keen to know.

**Key Show Features**:

- Add **Shows** with Weekly Shifts
- Automatic Shift **Conflict Checker**
- Add Show **Description** and **Images**
- Add Timeslot **Overrides** (linkable to Shows)
- Assign **Host** and **Producer** user roles
- Assign **Genre** and **Language** Terms
- Assign Blog **Related Posts** to Shows
- Add **Playlists** and **Latest Audio** to Shows
- Show Page Content Layout Options
- Display Station/Show Phone Number
- Denote Encore Presentations (Repeats)

**Key Station and Schedule Features**:

- **3 Schedule Layouts**: Table, Tabs, List
- **Automatic Pages** for Schedule and Archives
- Full Schedule and Show **Data API**
- Set Station Name and Logo Image
- Set and Display Station Timezone
- Set Main Station Language
- Automatic Current Show Highlighting
- Genres Highlighted by User Selection
- Converts Show Times to Listener Timezone

**Key Stream Player Features**:

- Works with virtually any Stream source
- Compatible with Shoutcast, Icecast, Live365, and Radio.co
- 3 In-built Audio Scripts: Howler, Amplitude, jPlayer
- 7 Streaming Formats Support: MP3, AAC/M4A, OGG, OGA, WebM, RTMPA, OPUS
- Light and Dark Player Themes
- 3 Default Player Button Styles
- Added via Shortcode, Widget or Block


#### WIDGETS, SHORTCODES, GUTENBERG BLOCK SUPPORT

All of the following **Shortcodes** are available as classic **Widgets**, and as of version 2.5.0 they are also available as **Blocks** for the Gutenberg editor:

- Stream Player
- Show Schedule
- Show Lists
- Current Show
- Upcoming Shows
- Current Playlist
- Radio Clock

Need the best for your channel? Further improvements and extra features can be found in [**Radio Station PRO**](https://radiostation.pro/pricing/).


#### BOOST YOUR SEO WITH RADIO STATION BY netmix®

We strongly believe in SEO and we're confident that managing your Show schedule with **Radio Station** *by netmix®* will give your SEO a boost! Here's why...

When it comes to SEO, there's only one thing better than great content - and that's great content that's *well organized!* With **Radio Station**, your website is immediately optimized for search through the addition of the **Shows** custom post type, giving you the best natural placement for your Show description and content. On top of this, you benefit directly from the internal linking of **Shows** with **Playlists**, **Related Posts**, and **Genre** / **Language** taxonomies. (And in [**Radio Station PRO**](https://radiostation.pro) this is extended even further with profile pages for **Hosts* and *Producers**, and **Episodes** with **Guest** / **Topic** taxonomies!)

Combined this with a WordPress SEO plugin (such as All In One SEO Pack), this kind of keyword-rich organized content will boost your ranking in search results. You just need to make sure you add the content for all your Shows! *netmix®* founder Tony Zeoli had a strong working relationship with the founding team at All in One SEO and used it with **Radio Station** to boost client's SEO even before taking this plugin over. We know how important SEO is to your channel - so your audience can find the Shows and related content they care about - ***yours!***

**SPECIAL BONUS!** Once installed, broadcasters who power their station’s WordPress websites with **Radio Station** *by netmix®* may add their station listing to our [Netmix.com](https://netmix.com) Broadcasters Directory, making your schedule instantly available to a new audience, and giving you a free high-quality backlink from a legacy domain (originally registered in 1995!) ou can also receive a Featured Listing in the Directory by supporting the further development of the free, open-source version of this plugin via [Patreon](https://www.patreon.com/radiostation).



#### WANT MORE? UPGRADE TO RADIO STATION PRO!

In the course of improving the free version, we’ve tracked a plethora of great features and developed them for inclusion in **Radio Station PRO**. The Pro version amps up your broadcast website with numerous additional **Schedule Improvements** such as *extra schedule views*, *recurring timeslots*, *auto-refreshing widgets*, and a *visual schedule editor!* It also gives you **New Content Features** like *show Episodes and Ssegments*, *Topic and Guest taxonomies*, and *page builder modules!*

**PLUS**, building on our jamming free **Stream Player**, we’ve created our own *innovative page transition technology* and then combined it with a purpose-built sticky **Sitewide Player Bar**, allowing your listeners to navigate while continuing to play your audio ***uninterrupted***! This is a real game-changer for your listener's online experience of your site. The Player Bar includes *animated live track metadata*, *responsive display sections* and *extended color and button themes*.

[Click here to find out more about Radio Station PRO](https://radiostation.pro/).


#### RADIO STATION PRO BY netmix® FEATURES

**Radio Station PRO** takes your broadcast website to the next level with a full rack of **Scheduling Enhancements** and **Content Tools** you can use to satisfy and impress your visitors! **ALSO** in Pro, we’ve added even more improvements to our Stream Player, including the ability to activate a **Sitewide Player Bar** with smooth page transitions, allowing your audience to browse your site content while listening to your audio stream playback ***uninterrupted!***

**Key Scheduling Features**:
- Front End **Visual Schedule Editor**
- Additional Schedule **Calendar and Grid Views**
- **Multi-View Switching** on Show Schedule
- Schedule Previous/Next **Week Shifting**
- Listener **Timezone Selection** Switching
- **Recurring Override** Timeslots
- Show and Schedule **Import/Export**

**Key Content Features**:

- Host and Producer **Profile Pages**
- Easy **Role Assignment Interface**
- Dynamic **Auto-refresh Widgets**
- **Show Episodes** linked to Shows
- Add **Topic** and **Guest** Terms to Episodes
- Automatic **Team Display** for Show Pages
- **Social Network Icons** (for Shows & Profiles)
- Page Builder Modules (**Elementor** & **Beaver Builder**)
- All Pro Settings added to Gutenberg **Blocks**

**Key PRO Player Features**:

- **Persistent Sitewide Player Bar**
- Single Page Application **Fading Transitions**
- Station, Player/Track and Show **Bar Sections**
- **Responsive Display** Section Navigation
- Animated **Track Metadata** Display (via Stream)
- 12 Extra Player **Button Themes**
- Bar and Player **Advanced Color Styling**
- Optional **Popup Player** Button
- Player Page Builder Module (**Elementor** & **Beaver Builder**)
- Pro Player Settings added to **Player Block**

[Click here to Upgrade to **Radio Station PRO**](https://radiostation.pro/pricing/).


#### DOCUMENTATION AND SUPPORT

As there is a lot you can do with **Radio Station** *by netmix®*, we’ve made an effort to provide *complete* [Radio Station plugin Documentation](https://radiostation.pro/docs/). To get you going faster, you can find a [Quickstart Guide](https://radiostation.pro/docs/quickstart/) there (as well as in the section below.) Documentation for PRO Features can be found within the existing documentation, as well as indexed separately [here](http://radiostation.pro/docs/pro/). 

You can see some example displays from the plugin via the Screenshots section below, and *full live examples* for both Free and PRO features are available on the [Radio Station Plugin Demo Site](https://demo.radiostation.pro). If you are ready to upgrade or want to find out more about **Radio Station PRO** then [Click Here](https://radiostation.pro/pricing/).

For free version plugin **Support**, you can ask in the [WordPress Plugin Support Forum](https://wordpress.org/support/plugin/radio-station/). Please give 24-48 hours to answer support questions. Alternatively (and preferably) you can submit bugs, enhancement and feature requests directly to our [Github Repository Issues](https://github.com/netmix/radio-station/issues). For **PRO Support**, please [Submit a Support Ticket](https://radiostation.pro/support/).


#### QUICKSTART GUIDE

Once you have installed and activated the **Radio Station** plugin on your WordPress site, your WordPress Admin area will now have a new menu item titled Radio Station with submenu page items. Note if you have a specific question, you can check out the [Frequently Asked Questions](https://radiostation.pro/docs/faq/) as you may find the answer there.

Firstly, you can visit the Plugin Settings screen to adjust the default [Plugin Options](https://radiostation.pro/docs/options/) to your liking. Here you can set your Radio Timezone and Language, along with your Streaming URL and Station Logo, as well as other global plugin settings. Also from this Settings page you can assign [Automatic Pages](https://radiostation.pro/docs/display/#automatic-pages) and Views for your Program Schedule display and for other plugin post type archive displays. But first you will want to add some Shows to display in your Schedule!

To do this, click on Shows in the admin submenu, then on "Add a New Show" at the top. Give it a Shift timeslot and a description and then click Publish. Then view the Show page by clicking the Show Permalink under the show title. (Depending on your Theme, you may wish to adjust the [Templates](https://radiostation.pro/docs/display/#page-templates) used.) You can also assign different [Images](https://radiostation.pro/docs/display/#images) to Shows. 

Next, have a look at your Program Schedule page to see the Show displayed there also. Keep adding Shows until you have your Schedule filled in! You can also add schedule Overrides for specific date and time blocks only. For ease of use they can be fully or partially linked to an existing Show. You can further [Manage](https://radiostation.pro/docs/manage/) your Shows and other Station data via the WordPress Admin area.

Now you may want to give some users on your site some plugin [Roles](https://radiostation.pro/docs/roles/). (Note that while the default interface in WordPress allows you to assign a single role to a user, it also supports multiple roles, but you need to add a plugin to get an interface for this.) Giving a user role of Host/DJ or Producer to a user will allow them to be assigned to a Show on the Show Edit Page and allow them to edit that Show. You can also assign the Show Editor role if you have someone who needs to edit all plugin post types without being a site Administator.

There are a number of [Widgets](https://radiostation.pro/docs/widgets/) you can add to your site via your *Appearance -> Widgets* admin submenu. These are also available as [Shortcodes](https://radiostation.pro/docs/shortcodes/) and [Blocks](https://radiostation.pro/docs/widgets/#radio-station-blocks). There are widgets for the Current Show or Playlist, and another to display Upcoming Shows. In this way you can also add a Stream Player, Radio Clock, Schedule View or Show List anywhere you like.

Radio Station has several in-built [Data](https://radiostation.pro/docs/data/) types. These include [Custom Post Types](https://radiostation.pro/docs/data/#custom-post-types) for Shows, Schedule Overrides and Playlists. There are [Taxonomies](https://radiostation.pro/docs/data/#taxonomies) for Genres and Languages. You can override most data values and display output via custom [Data Filters](https://radiostation.pro/docs/filters/#data-filters) throughout the plugin. We have also incorporated a [Data API](https://radiostation.pro/docs/api/) in the plugin available via REST and/or WordPress Feeds, and this data is accessible in JSON format. 

This plugin is under active development and we are continuously working to enhance the free version available on [WordPress.Org](https://wordpress.org/plugins/radio-station/), as well as creating new feature additions for [Radio Station Pro](https://radiostation.pro/). Check out the [Roadmap](https://radiostation.pro/docs/roadmap/) if you are interested in seeing what is coming up next!


#### CONTRIBUTION

We are grateful to Nikki Blight for her contribution to creating and developing this plugin for as long as she could maintain the codebase. As of June 22, 2019, Radio Station is managed by [Tony Zeoli](https://profiles.wordpress.org/tonyzeoli/) with [Tony Hayes](https://profiles.wordpress.org/majick/) as lead developer and other contributing committers to the project.

If you are a WordPress developer wanting to contribute to Radio Station, please join the team and follow plugin development on [Github](https://github.com/netmix/radio-station) and submit Issues and Pull Requests there. You can see the current progress via the Projects tab, and the [Roadmap here](https://radiostation.pro/docs/roadmap/). Or if you would prefer to get involved even more substantially, please [Contact Us via Email](mailto:info@netmix.com) and let us know what you would like to do.


#### UPGRADING TO RADIO STATION PRO

Love Radio Station and ready for more? As the free version develops, we have also been working hard to introduce new features to create a Professional version to "level up" the plugin to make your channel's schedule and player even more useable and accessible for all your listeners! 

[Click here to learn more about Radio Station Pro](https://radiostation.pro/).


== Installation ==

1. Upload plugin .zip file to the `/wp-content/plugins/` directory and unzip.
2. Activate the plugin through the 'Plugins' menu in the WordPress Admin
3. Alternatively search for Radio Station via the WordPress admin Add New plugin interface and install and activate it there.
4. Give any users who need access to the plugin the role of "Host", "Producer" or "Show Editor". Assigning These roles gives publish and edit access to the plugin's records.
5. Create Shows, add Shifts to them, and assign Images, Genres, Languages, Hosts and/or Producers.
6. Add Playlists to your Shows or assign posts to Shows as needed.
7. Go to your admin Appearance -> Widgets page to add and configure Current and Upcoming Show Widgets, and any other desired plugin widgets.
8. See the QuickStart Guide above for more detailed instructions of what else is available.

== Frequently Asked Questions ==

= How do I get started with Radio Station (Free or PRO)? =

Read the [Quickstart Guide](./index.md#quickstart-guide) for an introduction to the plugin, what features are available and how to set them up.

= Where can I find the full Radio Station documentation (Free or PRO)? =

The latest documentation [can be found online here](https://radiostation.pro/docs/). Documentation is also included with the currently installed version via the Radio Station Help menu item located under the Radio Station admin menu. You can find the Markdown-formatted files in the `/docs` folder of the [GitHub Repository](https://github.com/netmix/radio-station/docs/) and in the `/docs` folder of the plugin directory. 

= How do I get support for Radio Station (Free or PRO)? =

For Radio Station customers using the free, open-source version of our plugin, you can contact us via [our support channel in the WordPress support forums here](https://wordpress.org/plugins/support/radio-station). If you have any bug reports or feature suggestions please [open an issue on our Github repository](https://github.com/netmix/radio-station/) For Radio Station PRO subscribers, you can email us at support@radiostation.pro and someone will respond to your inquiry within 12 to 124 hours. All support inquiries will be handled in the order they are received. Before contacting support or opening an issue, make sure you check for conflicts by disabling all of your plugins and re-enabling them one at a time to ascertain which plugin is conflicting with Radio Station. Note that Radio Station PRO works as an addon to Radio Station, so deactivating it will disable the PRO features until you reactivate it.

= How can I report security bugs?

You can report security bugs through the Patchstack Vulnerability Disclosure Program. The Patchstack team help validate, triage and handle any security vulnerabilities. [Report a security vulnerability.](https://patchstack.com/database/vdp/radio-station)

= Can I try Radio Station PRO before I purchase the plugin? =

Yes, you can trial Radio Station PRO for up to 14 days. You are required to set a credit or debit card when you sign up for the free trial and can cancel any time before the trial ends. The credit or debit card on file will be charged automatically once the trial expires 14 days from the date your free trial began. [Click here to start your trial.](https://radiostation.pro/pricing)

= How do I access my Radio Station PRO account? =

We have partnered with Freemius who provide an integrated subscription and upgrade system for WordPress plugin developers. When you purchase Radio Station PRO, you will receive email instructions to create your account, which contain a link to the [Freemius User Dashboard here](https://users.freemius.com/login). While you can see your account details by navigating to WordPress Dashboard > Radio Station > Account, logging into the Freemius Dashboard will give you full control over your account.

= Can I request a refund for Radio Station PRO? =

We offer a 30 day, moneyback guarantee. If you are not satisfied with Radio Station PRO within the 30 day period, we will issue a full refund, no questions asked. Once the 30 day period is exhausted refunds are not available.

### How do I cancel my Radio Station PRO subscription?

Login to your [Freemius User Dashboard](https://users.freemius.com/login) and navigate to Renewals & Billing to cancel your Radio Station PRO subscription. When you cancel your subscription, your account will stay active for the remainder of the billing period. Once your subscription is cancelled, you will lose access to PRO customer support and any future upgrades, bug fixes and feature additions. Radio Station (free) will continue to operate normally.

= How do I schedule a Show? =

Simply create a new show via Add Show in the Radio Station plugin menu in the Admin area. You will be able to assign Shift timeslots to it on the Show edit page, as well as add the Show description and other meta fields, including Show images.
In order to schedule a Show, a Show must be added and available to accept schedule entries. If this is your first time using Radio Station, create a new show via the Add Show item in the Radio Station menu in your WordPress Admin screen. You can assign Shift timeslots to your new Show or pre-existing Show on the Show edit page, as well as add a Show description and other meta fields, including Show images.

= How do I display a full schedule of my Station's shows? =

Navigate to the plugin Settings page via the Radio Station menu in your WordPress Admin screen and then click the Pages tab. There you can select the Page on which to automatically display the schedule, as well as which View to display (a Table grid by default.) Alternatively, you can use the shortcode `[master-schedule]` on any page (or post.) This option allows you to use additional shortcode attributes to control what is displayed in your Schedule (see [Master Schedule Shortcode Docs](./Shortcodes.md#master-schedule-shortcode) )

= What if I want to schedule a special event or one-off schedule change? =

If you have a one-off event that you need to show up in the Schedule and Widgets, you can create a Schedule Override by navigating to WordPress Dashboard > Radio Station > Schedule Overrides > Add New. This will allow you to set aside a block of time on a specific date, and when the Schedule or Widget is displaying that date, the override will be used instead of the normally scheduled Show. You can also link an Override to an existing Show, and partially update any Show information to be overridden. (Note that Schedule Overrides will not display in the old Legacy Table/Div Views of the Master Schedule.) In the Free version, if an Override needs to apply to multiple dates, you must schedule each time slot individually. In the PRO version, you can repeat the Override via day periods or monthly recurrences. To enable recurring overrides, [Upgrade to Pro here](https://radiostation.pro/pricing/)

= How do I change the Show Image displayed in the widgets and schedule? =

The schedule, widgets and show page will display whichever avatar is assigned to the show on the Show Edit screen. Navigate in the WordPress Dashboard to Radio Station -> Shows and locate the Show you want to add/edit the Avatar for in the Shows list. Edit the Show then simply set a new image for the Show.

= How do I style how the plugin displays content on the front end of my site? =

The default styles for Radio Station have intentionally kept fairly minimal so as to be compatible with most themes, so you may wish to add your own CSS styles to suit your site's look and feel. You can add these styles via Theme Customizer's Additional CSS setting. You can also add your own `rs-custom.css` file to your Child Theme's directory, and Radio Station will automatically detect the presence of this file and enqueue it. Either way you can add more specific selectors with rules that modify or override the existing styles. You can find the base styles in the `/css/` directory of the plugin. 

= What Widgets/Blocks are available with this plugin? =

The following Widgets are available to add via the WordPress Appearance -> Widgets page:

- Streaming Player
- Current Show
- Upcoming Shows
- Current Playlist
- Radio Clock
 
Since 2.5.0, these widgets are now also available as Gutenberg Blocks. See the [Widget Documentation](./Widgets.md) for more details on these Widgets.

= Do the Widgets reload automatically? =

In the free version of Radio Station, the Current Show, Upcoming Shows, and Current Playlist widgets can display a countdown, but do not refresh automatically. To enable auto-reloading of these widgets, so that they refresh exactly at a Show’s changeover time, [upgrade to Radio Station PRO](https://radiostation.pro/pricing/).

Current Show, Upcoming Shows and Current Playlist widgets do not refresh automatically in the Free version of Radio Station. This functionality is only available in our Pro version so widgets refresh exactly at a Show's changeover time. To enable s refresh exactly at Show changeover times. To enable auto-refresh widgets [upgrade to Radio Station PRO](https://radiostation.pro)

= What Shortcodes are available in Radio Station? =

See the [Shortcode Documentation](./Shortcodes.md) for more details and a full list of possible Attributes for these Shortcodes:

* `[master-schedule]` - Master Program Schedule Display
* `[current-show]` - Current Show Widget
* `[upcoming-shows]` - Upcoming Shows Widget
* `[current-playlist]` - Current Playlist Widget
* `[shows-archive]` - Archive List of Shows
* `[genres-archive]` - Archive List of Shows sorted by Genre
* `[languages-archive]` - Archive List of Shows sorted by Language
* `[overrides-archive]` - Archive List of Schedule overrides
* `[playlists-archive]` - Archive List of Show Playlists

(Note old shortcode aliases will still work in current and future versions to prevent breakage.)

= Do you include Page Builder support? =

The free version of Radio Station includes support for classic Widgets and Gutenberg Blocks. The same widgets are available as modules for Elementor and Beaver Builder in the Pro version, along with additional styling options for each module. To enable these page builder modules, [upgrade to PRO here](https://radiostation.pro/pricing/).

= How do I assign a User as the Host or Producer to one or more Shows? =

You can to assign the Host or Producer roles to any WordPress User by accessing the User editor located under WordPress Dashboard -> Users. Search for or navigate to the User you want to assign as a Host or Producer, then click Edit to open the Edit screen for that User. Find the Roles dropdown menu and select from the Role options provided. Choosing either Host or Producer grants the User that role. You can then assign that User to single or multiple Shows via the Show Edit page. A Host or Producer only has permissions to Edit the Show(s) they are assigned to. The Pro version includes an additional Role Editor interface where you can assign the plugin Roles to any number of users at once. To enable the Role Editor interface, [upgrade to PRO here](https://radiostation.pro/pricing/).

= How do I grant users other than Administrator and DJ roles permission to edit Shows and Playlists? =

There are a number of different options depending on what your goals are. Assigning a user as a Host or Producer to a Show will allow that User to edit it (and it's Playlists.) You could also assign a single User as the Author of a Show/Playlist. If you’d like to give a user that isn't a site Administrator permissions for all Radio Station records, you can assign them the Show Editor role that was created for this purpose. This may help keep clear lines of separation for editorial responsibility over your content. You can find more information on roles in the [Roles Documentation](https://radiostation.pro/docs/Roles/).

= How do I use a different image from the Gravatar for a Host/Producer? =

If you prefer not to use WordPress-owned, Gravatar.com for your User profile images,  you'll need to install a plugin that allows you to add a different image to your Host/Producer's user account. You can search for a free plugin in the WordPress plugin repository at WordPress.org. As there are a number of plugins that do this already, it's mostly out of the scope of this plugin. However, in our Pro version, you can create separate Profile pages to showcase each of your Hosts and Producers, to which you can assign profile images that appear on those. To enable Profile pages, [upgrade to PRO here](https://radiostation.pro/pricing/).

= What languages other than English is the plugin available in? =

As of April 1st, 2023, known languages include the following: 

* Albanian (sq_AL)
* Dutch (nl_NL)
* French (fr_FR)
* German (de_DE)
* Italian (it_IT)
* Russian (ru_RU)
* Serbian (sr_RS)
* Spanish (es_ES)
* Catalan (ca)

= Can Radio Station be translated into my language? =

You may translate the plugin into any other language supported by the WordPress translation engine. Please visit our [Translate project page](https://translate.wordpress.org/projects/wp-plugins/radio-station/) for all translations and for further instructions. Note that for ease of translation the Free version contains any extra text strings from the PRO version. The `radio-station.pot` file is located in the `/languages` directory of the plugin. If you do add a translation for your preferred language, please send or notify us of the completed translation to `info@netmix.com`. We'd love to include it.

= Why aren't all my Shows displaying in the Schedule? =

Did you remember to check the "Active" checkbox for each Show? If a Show is not marked active, the plugin assumes that it's not currently in production and it is not shown on the Schedule. A Show will also not be shown if it has a Draft status or has no active Shifts assigned to it.

= I'm seeing a 404 Not Found error when I click on the link for a Show! =

Try re-saving your site's permalink settings via Settings > Permalinks. WordPress sometimes gets confused with a new custom post type is added. Permalink rewrites are automatically flushed on plugin activation, so you can also just deactivate and reactivate the plugin to regenerate your site's permalinks.

= Where is my data stored? Can I export my data? =

Radio Station is stores your site's settings and all post type data in your WordPress MySQL database on your webhost. You can export your data using WordPress Dashboard -> Tools -> Export feature, or use Radio Station PRO’s Export feature located at WordPress Dashboard -> Import/Export. Our import/export feature works with YML and not XML, which is the standard WordPress format.

= Why can't Show Hosts or Producers can't edit a Show page? =

The only Hosts and Producers that may Edit a Show are the ones assigned as Host(s) or Producer(s) to that specific Show in the respective user selection menus. This is to prevent Hosts/Producers from editing other Shows managed by different Hosts/Producers without permission. If you need a user other than Administrator to be able to edit all Shows you can assign them a Show Editor role.

= Can I use this plugin for Podcasts? =

While the plugin is not specifically geared toward Podcasting, which is not live programming, some podcaster's have used Radio Station to let their subscribers know when they publish new shows.

= Can I use this plugin for TwitchTV, Facebook Live, YouTube or Clubhouse shows? =

Sure, there's no reason why you couldn't use the plugin to display a show schedule on a WordPress site for those services. Unfortunately, we are not currently syncing events from these platforms, but may do so in the future. While there may be APIs available from the larger services, Clubhouse does not yet have a public API, so scheduled rooms can't be automated to the Radio Station show scheduling system.

= I use Google Calendar to print a show schedule online. Can I import/sync my Google Calendar with Radio Station? =

We haven't built an interface between Google Calendar and Radio Station just yet, but it's on our radar to do so in the foreseeable future.

= Can I import Show data from Pro.Radio or the JOAN (Jock on Air Now) plugin? =

We do not have a method of importing data directly from JOAN or Pro.Radio

= How do I install the latest Development version for testing? =

If you are having issues with the plugin, we may recommend you install the development version for further bugfix testing, as it may contain fixes that are not yet released into the next stable WordPress version. It is recommended you do this on a staging site. Instructions:

1. Visit the `develop` branch of the Radio Station Github repository at:
`https://github.com/netmix/radio-station/tree/develop/`
2. Click on the green "Code" button and select Download a ZIP.
3. Unzip the downloaded file on your computer and upload it via FTP to the subdirectory of your WordPress install on your web server: `/wp-content/plugins/radio-station-develop/`
4. Rename the subdirectory `/wp-content/plugins/radio-station/` to `/wp-content/plugins/radio-station-old/`
5. Rename the subdirectory `/wp-content/plugins/radio-station-develop/` to `/wp-content/plugins/radio-station/`

Then upload to WordPress via the plugin installer as normal.
Note that it will install to /wp-content/plugins/radio-station-develop/, and because of this won't overwrite your existing installation, so you'll need to deactivate that before activating the development version.

You can now visit your site to make sure nothing is broken. If you experience issues you can reverse the folder renaming process to activate the old copy of the plugin. If the new development version works fine, at your convenience you can delete the `/wp-content/plugins/radio-station-old/` directory.

Alternatively, if you want to do this from your WordPress Plugin area, you can upload the development Zip file from your Plugins -> Upload page. This will install it to `/wp-content/plugins/radio-station-develop/`. You can then deactivate the existing Radio Station plugin from you Plugins page and then activate the development version. (You can tell them apart on the plugins page via their version numbers. Official releases are 2.x.x, only development releases have the extra digit 2.x.x.x) Again, if you experience issues, you can deactivate the development version and reactivate the old version.

= What about Pro Beta Version Testing? =

We are constantly improving and adding new features to [Radio Station Pro](https://radiostation.pro/pricing/). Periodically we will release a Beta version to test out a new feature (or fix) out before it is officially released. If you have a Pro license, you can access these cutting edge Pro Beta version releases in two ways:

1. Download the Beta versions by logging in to your [Freemius User Dashboard](https://users.freemius.com/login). and navigating to the "Downloads" section. You will see a dropdown list of all the Radio Station Pro releases, including beta ones.
2. Enable the Beta program option from your Radio Station Account page in your WordPress site's Admin area, and the latest Beta version will then be available as an update.

**Important Note**: As we are developing the Free and Pro versions in tandem, the latest Pro Beta may require you to install a development version of the Free plugin for it to work. Please see the previous section for how you can install the development version from Github (if the required version is not yet available via the WordPress repository.)

We recommend you test these on a Staging site (or a development copy of your live site.) This way you can make sure there are no significant bugs before using it on a production site. Of course, please be willing to [report any bugs](https://github.com/netmix/radio-station/issues) that you do find so we can ensure they are not present in the next official release.


== Screenshots ==
1. Table Schedule View
2. Tabbed Schedule View
3. Show Page Layout
4. Playlist Page Layout
5. Current Show Widget
6. Show Archive List Shortcode
7. Admin Settings Panel
8. Show Conflict Display

== Changelog ==

= 2.5.17 =
* Updated: Bump version number to fix release bug

= 2.5.16 =
* Fixed: Player Block control color style preview / loading

= 2.5.15 =
* Improved: AJAX player style output moved to footer
* Option: Use Stream Player for latest Show file playback
* Option: Use Stream Player for Episode file playback (Pro)

= 2.5.14 =
* Fixed: Player resume (play/pause/play) glitch for Amplitude
* Fixed: Keep active day when changing schedule weeks on Grid view
* Fixed: Schedule Override list Override Date column display
* Fixed: jPlayer change old fallback SWF path to empty string

= 2.5.13 =
* Updated: Freemius SDK (2.12.0)
* Fixed: load text domain too early notice
* Fixed: added nonce checks to offer dismissals

= 2.5.12 =
* Updated: Block translation and element functions
* Fixed: preload player settings when Block editing

= 2.5.11 =
* Added: AJAX load of Schedule views for cachebusting
* Fixed: instance validation for schedule loader shortcode
* Fixed: mismatched function name in popup player

= 2.5.10 =
* Updated: Freemius SDK (2.11.0)
* Updated: reader.php with prefixed reader functions
* Updated: Plugin Panel (1.3.5) with new reader function
* Updated: Color Picker Alpha Library (3.0.4)
* Updated: Howler Library (2.2.4)
* Improved: use wp_kses on player widget output
* Improved: player volume slider background sync/hover
* Fixed: Freemius optin image URL path

= 2.5.9 =
* Fixed: Missing use of prepare method on some database queries
* Fixed: Show time conversion on Data API (for current_show/next_show)
* Added: Vulnerability disclosure program link to FAQ
* Added: Edit Host/Producer link to admin Show List column

= 2.5.8 =
* Fixed: Template display for themes showing excerpts on singular pages
* Fixed: Possible next show duplicates current show in Data API
* Fixed: Save multiple Show related post values
* Fixed: Count bug on Override Archive shortcode
* Fixed: Date/time display on Override Archive shortcode
* Fixed: Show file Disable Download checkbox saving
* Added: Use automatic Embeds on external Show file URLs
* Added: Nonce check to notice dismissal AJAX
* Changed: Removed player state saving iframe

= 2.5.7 =
* Updated: Freemius SDK (2.6.0)
* Disabled: Howler Player Script (browser compatibility issues)
* Improved: Schedule Engine Weekdate calculations
* Fixed: AJAX shortcode/widget loading for current time
* Fixed: Widget title display duplication

= 2.5.6 =
* Updated: Freemius SDK (2.5.11)
* Updated: Plugin Panel (1.3.0)
* Added: Filter for query and meta for show post list shortcode
* Updated: Language translations file (.pot)
* Updated: Bundled Dutch translation
* Fixed: check linked override shifts before displaying
* Fixed: hide empty widgets to work in AJAX loading mode
* Fixed: remove direct usages of date function
* Fixed: display of show posts on show page (query)
* Fixed: Data API next_show data field
* Fixed: minor schedule engine issues
* Improved: more consistent sanitization and escaping

= 2.5.5 =
* Updated: Freemius SDK (2.5.10)
* Added: RSS Posts Feed: Related Show node
* Added: RSS Show Feed: Host/Producer node
* Fixed: Prefix Block element JS constant to prevent conflict (EventOn)
* Fixed: RSS Posts Feed: filter by Show conflict

= 2.5.4 =
* Updated: Freemius SDK (2.5.9)
* Fixed: Missing player back-compat arguments

= 2.5.3 =
* Fixed: Bug in Admin Override Timeslot List

= 2.5.2 =
* Fixed: Bug retrieving show data for linked overrides

= 2.5.1 =
* Fixed: Widget Countdown Timer Display Bug
* Fixed: Pro Player Backwards Compatibility

= 2.5.0 =
* Added: Radio Station Blocks! (converted Widgets)
* Updated: Freemius SDK (2.5.7)
* Updated: Plugin Panel (1.2.9)
* Updated: AmplitudeJS (5.3.2)
* Updated: Howler (2.2.3)
* Updated: Moment JS (2.29.4) with WP Loading
* Improved: Refactored Schedule Engine Class
* Improved: Redesigned higher resolution player buttons
* Improved: Standardized Widget Input Fields
* Improved: WordPress Coding Standards
* Improved: Sanitization using KSES
* Improved: Translation Implementation
* Improved: use WP JSON functions for data endpoints
* Improved: Schedule Templates to use Classes and Instances
* Improved: Tab Schedule default date display on
* Improved: use wp_send_json for feed endpoints
* Added: Freemius Pricing Page v2
* Added: assign Playlist to a specific Show Shift
* Added: Quick Edit of Playlist to assign to Show
* Added: Volume Control options to Player widget
* Fixed: Countdowns with multiple widget instances
* Fixed: Radio Player iOS no volume control detection
* Fixed: Mobile detection (via any pointer type)
* Fixed: Genre/Language Archive Pagination
* Fixed: Adjacent Post Links (where show has one shift)
* Fixed: Workaround Amplitude pause event not firing
* Fixed: inline scripts when main script in head tag
* Security Fix: Escape all debug output content

= 2.4.0.9 =
* Update: Sysend (1.11.1) for Radio Player
* Fixed: missing register REST routes permission_callback argument
* Fixed: added property_exists checks for PHP8 TypeErrors

= 2.4.0.8 =
* Update: Plugin Panel (1.2.2)
* Added: filter plugin icon for Freemius activation screen
* Updated: clear plugin updates transient on activation/deactivation
* Fixed: filter plugin updates to prevent Pro ever overwriting Free
* Changed: plugin options array moved to a separate file

= 2.4.0.7 =
* Fix: remove debug output breaking redirects/data endpoints
* Updated: main language translation file
* Added: list of Pro filters to documentation

= 2.4.0.6 =
* Update: Freemius SDK (2.4.3)
* Updated: documentation links to new demo site address
* Fixed: remove duplicate Related Show box in Post Quick Edit
* Fixed: multiple attributes for automatic pages shortcodes
* Fixed: hide inactive tab shortcode section on tab click
* Fixed: undefined warning for debugshifts
* Fixed: current show in schedule when on exact start second
* Added: filters for time and date separators
* Added: description/excerpt to single show data endpoint

= 2.4.0.5 =
* Fixed: plugin conflicts causing fatal errors

= 2.4.0.4 =
* Improved: clear cache on show/override status transitions
* Fixed: DJ / Host can edit own/others Show permissions
* Fixed: Override link to show dropdown query
* Fixed: Fallback scripts and fallback stream URLs
* Fixed: Radio Clock responsive width display
* Fixed: Collapse descriptions for non-show pages
* Fixed: Deduplicate dates in week (daylight saving fix)

= 2.4.0.3 =
* Update: Plugin Panel (1.2.1) with zero value save and tab fixes
* Added: option to disable player audio fallback scripts
* Added: option to hide various volume controls
* Improved: lazy load player audio fallback scripts
* Improved: added author support to post types for quick edit
* Improved: Playlist content template and action hooks
* Refix: missing fix to active day tab on pageload
* Fixed: player volume slider background position (cross-browser)
* Fixed: missing title value for adjacent post links
* Fixed: Fallback scripts and fallback stream URLs

= 2.4.0.2 =
* Fixed: Multiple Player instance IDs
* Fixed: Player loading button glow animation
* Added: Enabled Pro Pricing plans page
* Added: Widget type specific classes
* Added: Alternative text positions in Player
* Added: Pause button graphics to Player

= 2.4.0.1 =
* Fixed: Rounded player play button background corner style
* Fixed: Tabbed schedule active day tab on pageload
* Improved: Radio Clock Widget layout

= 2.4.0 =
* Added: Radio Stream Player!
* Fixed: Shows archive shortcode with no Shows selected

= 2.3.3.9 =
* Update: Plugin Panel (1.1.8) with Number Step Min/Max fix
* Update: Freemius SDK (2.4.2)
* Improved: Allow for Multiple Override Times (with AJAX Saving)
* Improved: Markdown Extra Compatibility for PHP 7.4+ 
* Added: Link Override to Show Data with selectable Show Fields
* Added: Language Archive Shortcode (similar to Genre Archive)
* Added: Display Linked Override Date List on Show Pages
* Added: Automatic user showtime conversion and display
* Fixed: Show Schedule sometimes starting on previous week
* Fixed: Current Show highlighting timer interval cycling
* Fixed: Before and After Show classes when no current Show
* Fixed: Shows Data Endpoint 24 Hour Shift Format and Encore Switch
* Fixed: Multiple host separator display in Current Show Widget
* Fixed: Playlist Widget playlist ended label when no next playlist
* Fixed: Conflicting duplicate filter name for Show Avatar
* Fixed: Time conversions where start/finish Show/Override is equal
* Fixed: Show page subarchive lists pagination button arrow display
* Fixed: Show Shifts with same start time overwriting bug

= 2.3.3.8 =
* Update: Plugin Panel (1.1.7) with Image and Color Picker fields
* Added: Stream Format and Fallback/Format selection setting
* Added: Station Email Address setting with default display option
* Added: Section order filtering for Master Schedule Views
* Added: Section display filtering for Master Schedule Views
* Added: Section display filtering for Widget sections
* Added: Show image alignment attribute to Schedule Tabs View
* Added: Show Description/Excerpt to Show Data Endpoint (via querystring)
* Added: Reduced opacity for past Shows on Schedule Tab/Table Views
* Added: Screen Reader text for Show icons on Show Page
* Fixed: Display Widget Countdown when no Current Show/Playlist
* Fixed: Check for explicit singular.php template usage setting
* Fixed: Access to Shows Data via querystring of Show ID/name
* Fixed: Shows Data for Genres/Languages querystring of ID/name
* Fixed: Changed stable tag from trunk to version number to fix translations issue

= 2.3.3.7 =
* Fixed: Schedule Overrides overlapping multiple Show shifts
* Fixed: Bulk Edit field repetition and possible jQuery conflict
* Fixed: Related Posts check producing error output
* Fixed: WordPress Readme Parser deprecated errors for PHP7

= 2.3.3.6 =
* Update: Freemius SDK (2.4.1)
* Update: Plugin Loader (1.1.6) with phone number and CSV validation
* Added: Station phone number setting with default display option
* Added: Schedule classes for Shows before and after current Show
* Improved: current Show highlighting on Schedule for overnight shifts
* Improved: info section reordering filters on single Show template
* Fixed: Edit permissions checks for Related to Show post assignments
* Fixed: Main Language option value for WordPress Setting
* Fixed: make Date on Tab clickable on Tabbed Schedule View
* Fixed: prevent possible conflicts with changes not saved reload message
* Fixed: do not conflict check Shift against itself for last shift check
* Fixed: link back to Show posts for related Show posts (allow multiple)
* Fixed: filter next/previous post link for (multiple) related Show posts
* Fixed: automatic pages conflict where themes filter the_content early

= 2.3.3.5 =
* Fixed: use schedule based on start_day if specified for Schedule view
* Fixed: day left/right shifting on Schedule table/tab mobile views
* Added: past/today/future filter for Schedule Override List 
* Added: filter for Schedule display start day (and to accept today)
* Added: current playlist (if any) to Broadcast Data endpoint

= 2.3.3.4 =
* Improved: auto-match show description to info height on Show pages
* Improved: allow multiple Related Show selection for single post
* Improved: ability to assign Post to relate to multiple Shows
* Added: Related Show Post List column and Quick Edit field
* Added: Related Show selection Bulk Edit Action for Post List
* Added: filters for label texts and title attributes on Show Page
* Added: filter for label text above Show Player (default empty)

= 2.3.3.3 =
* Fixed: improved Current Show and Upcoming Shows calculations
* (Display showtimes when show starts before and ends after midnight)

= 2.3.3.2 =
* Update: Freemius SDK (2.4.0)
* Update: Plugin Loader (1.1.4) with weird isset glitch fix
* Fixed: Current Show for Shows ending at midnight
* Fixed: incorrect AJAX Widget plugin setting value
* Fixed: use pageload data for schedules before transients

= 2.3.3 =
* Update: Plugin Loader (1.1.3) with non-strict select match fix
* Improved: width responsiveness for table/tabbed Schedule views
* Improved: show shifts interface background colors
* Added: navigate away from page on shift change check
* Added: default time format option to Widgets
* Removed: current show transients (intermittent unreliability)
* Fixed: AJAX call causing plugin conflicts via save_post action
* Fixed: calculation of Upcoming Shows near end of the week
* Fixed: remove and duplicate actions on new shifts

= 2.3.2 =
* Update: Plugin Loader (1.1.2) with settings link fix
* Improved: use plugin timezone setting for all times
* Improved: show shift conflict checker logic
* Added: Radio Clock Widget for user/server time display
* Added: AJAX widget load option (to bypass page caches)
* Added: automated show schedule highlighting (table/tabs/list)
* Added: playlist track arrows for re-ordering tracks
* Added: AJAX save of show shifts and playlist tracks
* Added: post type editing metabox position filtering
* Added: more display attributes to Master Schedule shortcode
* Added: time format filters for time output displays
* Added: javascript user timezone display on Master Schedule
* Fixed: handling of UTC only timezone settings
* Fixed: added check for empty role capabilities
* Fixed: added settings submenu redirection fix
* Fixed: show and override midnight end conflict
* Fixed: calculate next shows at end of schedule week
* Fixed: metaboxes disappearing on position sorting
* Fixed: move tracks marked New to end of Playlist on update
* Fixed: override shift array output showing above schedule
* Fixed: master schedule specify days attribute bug
* Fixed: display real end time of overnight split shifts
* Fixed: master schedule display with days attribute
* Fixed: logic for Affected Shifts in override list
* Fixed: removed auto-tab selection change on tab view resize
* Fixed: Current Show widget schedule/countdown for Overrides
* Fixed: multiple overrides in schedule range variable conflict

= 2.3.1 =
* Update: Plugin Loader (1.1.1) with Freemius first path fix
* Fixed: conditions for Schedule Override time calculations
* Fixed: schedule table view - 12 hour format with translations
* Fixed: schedule table view hour column width style
* Fixed: javascript table/tab arrows to prevent default click
* Fixed: undefined index warning when saving show with no shifts
* Fixed: append not echo override date to shortcode archive list
* Fixed: compatibility with multiple the_content calls (Yoast)
* Fixed: reset to showcontinued flag in Schedule (table view)
* Added: show avatar and featured image URLs to Data API output
* Added: option to ping Netmix directory on show updates
* Added: option to clear transients on every pageload
* Added: filters for widget section display order

= 2.3.0 =
* Include: Plugin Loader (1.1.0) with plugin options and settings
* Include: Freemius SDK (2.3.0) and Freemius integration
* Feature: assign new Producer role to a Show for Show displays
* Feature: internal Schedule Show Shift Conflict checking 
* Feature: Show Shift saving completeness and conflict checking
* Feature: added Data Endpoints API via WordPress REST and Feeds
* Feature: options to set Page and default View for Master Schedule
* Feature: post type Archive Shortcodes and Show-related Shortcodes
* Feature: display Radio Timezone on Master Schedule table view
* Feature: added Show Header image to Shows for single Show display
* Feature: added Show Language Taxonomy to Shows (and Overrides)
* Feature: added Countdown clock for Show and Playlists Widgets
* Improved: new Data Model and Schedule (with Override) Calculation
* Improved: new Show Content Template layout display method
* Improved: new Playlist Content Template layout display method
* Improved: added multiple Genre highlight selection on Master Schedule
* Improved: added Custom Field and Revision support to post types
* Improved: missing output sanitization throughout the plugin
* Improved: added file hierarchy fallbacks for CSS, JS and Templates
* Improved: enqueue conditional scripts inline instead of echoing
* Improved: Master Schedule displays enhancements and styling
* Improved: add Responsiveness to Master Schedule Table and Tab View
* Improved: add View/Edit links for editing custom post types
* Improved: load Datepicker styles locally instead of via Google
* Improved: add debug function for debug display and logging
* Improved: add links from Show Posts back to Show Page
* Improved: added Duplicate Shift button to Show Shift Editing
* Roles: new Show Producer role (same capabilities as DJ / Host)
* Roles: new Show Editor role (edit permissions but not Admin)
* Roles: Changed DJ role Label to DJ / Host (for talk show usage)
* Admin: Added Plugin Settings Admin Page (via Plugin Loader)
* Admin: Added plugin Upgrade / Updated details admin notices
* Admin: Schedule conflict notice and Show conflicts in Shift column
* Admin: Show/Override content indicator columns to Admin Show list
* Admin: Show Description helper text metabox on Show edit screen
* Admin: Fix to restore Admin Bar New/Edit links for plugin post types
* Admin: Store installed version for future updates and announcements
* Disabled: automatic loading of old templates (non theme agnostic)

= 2.2.8 =
* Fix to remove strict type checking from in_array (introduced 2.2.6)
* Fix to mismatched flush rewrite rules flag function name
* Fix to undefined index warnings for new Schedule Overrides
* Fix to not 404 author pages for DJs without blog posts

= 2.2.7 =
* Dutch translation added (Thank you to André Dortmont for the file!)
* Added Tabbed Display for Master Schedule Shortcode (via Tutorial)
* Add Show list columns with active, shift, DJs and show image displays
* Add Schedule Override list columns with date sorting and filtering
* Add playlist track information labels to Now Playing Widget
* Added meridian (am/pm) translations via WP Locale class
* Added star rating link to plugin announcement box
* Added update subscription form to plugin Help page
* Fix to checkbox value saving for On Air/Upcoming Widgets
* Fix 12 hour show time display in Upcoming Widget
* Fix PM 12 hour shot time display in On Air Widget
* Fix to schedule override date picker value visibility
* Fix to weekday and month translations to use WP Locale
* Fix to checkbox value saving in Upcoming Widget
* Split Plugin Admin Functions into separate file
* Split Post Type Admin Functions into separate include
* Revert anonymous function use in widget registrations

= 2.2.6 =
* Reorganize master-list shortcode into templates
* Add constant for plugin directory
* Use WP_Query instead of get_posts
* New posts_per_page and tax_query
* Fixes for undefined indexes
* Fixes for raw mysql queries
* Typecasting to support strict comparisons

= 2.2.5 =
* WordPress coding standards and best practices (thanks to Mike Garrett @mikengarrett)

= 2.2.4 =
* added title position and avatar width options to widgets
* added missing DJ author links as new option to widgets
* cleanup, improve and fix enqueued Widget CSS (on air/upcoming)
* improved to show Encore Presentation in show widget displays
* fix to Show shift Encore Presentation checkbox saving

= 2.2.3 =
* added flush rewrite rules on plugin activation/deactivation
* added show_admin_column and show_in_quick_edit for Genres
* added show metadata and schedule value sanitization
* fix to 00 minute validation for Schedule Override
* convert span tags to div tags in Widgets to fix line breaks

= 2.2.2 =
* shift main playlist and show metaboxes above editor
* set plugin custom post types editor to Classic Editor
* add high priority to side metaboxes for plugin post types
* added dismissible development changeover admin notice
* added simple Patreon supporter image button and blurb
* added filter for DJ Avatar size on Author page template
* fix to Schedule Override metabox value saving
* fix to Playlist track list items overflowing metabox
* fix to shift up time row on Master Schedule table view
* fix to missing weekday headings in Master Schedule table
* fix to weekday display for Upcoming DJ Widget
* fix to user display labels on select DJ metabox
* fix to file_exists check for DJ on Air stylesheet path
* fix to make DJ multi-select input full metabox width
* fix to expand admin menu when on genre taxonomy page
* fix to expand admin menu when editing plugin post types
* fix to genre submenu item link for current page
* added GitHub URI to plugin header for GitHub updater

= 2.2.1 =
* Re-commit all missing files via SVN

= 2.2.0 =
* WordPress coding standards refactoring for WP 5 (thanks to Tony Hayes @majick777)
* fixed the protocol in jQuery UI style Google URL
* reprefixed all functions for consistency (radio_station_)
* updated all the widget constructor methods
* merged the menu items into a single main menu
* updated the capability checks for the menu items
* moved the help and export pages to /templates/
* moved all the css files to /css/
* enqeued the djonair css from within the widget
* use plugins_url for all resource URLs
* added $wpdb->prepare to sanitize a query
* added some sanization for metabox save values
* added a week and month translation helper
* added a radio station antenna icon

= 2.1.3 =
* Added method for displaying schedule for only a single day (see readme section for the master-schedule shortcode for details).

= 2.1.2 =
* Compatibility fix for Wordpress 4.3.x - Updated the widgets to use PHP5 constructors instead of the deprecated PHP4 constructors.
* Catalan translation added (Thank you to Victor Riera for the file!)

= 2.1.1 = 
* Bug fix - Fixed day of the week language translation issue in master schedule shortcode
* Bug fix - Added some error checking in the sidebar widgets
* New Feature - Added ability to give schedule overrides a featured image
* New Feature - Added built-in help page

= 2.1 =
* General code cleanup, 4.1 compatibility testing, and changes for better efficiency.
* Bug fix - Fixed issue with early morning shows spanning entire column in the programming grid shortcode
* New Feature - Master programming grid can now be displayed in div format, as well as the original table and list formats.

= 2.0.16 =
* Minor revisions to German translation.
* Fixed a bug that was resetting custom-sert role capabilities for the DJ role.

= 2.0.15 =
* German translation added (Thank you to Ian Hook for the file!)

= 2.0.14 =
* Fixed issue on the master schedule where genres containing more than one work wouldn't highlight when clicked
* Added ability to display DJ names on the master schedule.
* Fixed bug in the Upcoming widget.  Override Schedule no longer display as upcoming when they are on-air.
* Verified compatibility with WordPress 4.0

= 2.0.13 =
* Added the ability to display show avatars on the program grid.
* Added the ability to display show description in the now on-air widget and short code. 

= 2.0.12 =
* Fixed a bug in the master schedule shortcode

= 2.0.11 =
* Russian translation added (Thank you to Alexander Esin for the file!)

= 2.0.10 =
* Fixed role/capability conflict with WP User Avatar plugin.
* Added the missing leading zero to 24-hour time format on the master schedule.
* Fixed dj_get_current function so that it no longer returns shows that have been moved to the trash.
* Fixed dj_get_next function so that it no longer ignores the "Active" checkbox on a show.
* Added some CSS ids and classes to the master program schedule list format to make it more useful

= 2.0.9 = 
* Fixed broken upcoming show shortcode.
* Added ability to display DJ names along with the show title in the widgets.

= 2.0.8 =
* Fixed the display of schedules for upcoming shows in the widget and shortcode.
* Fixed a bug in the dj_get_next function that was causing it to ignore the beginning of the next week at the end of the current week.

= 2.0.7 =
* Fixed scheduling bug in shortcode function

= 2.0.6 =
* Master Schedule now displays days starting with the start_of_week option set in the WordPress General Settings panel. 
* Fixed issue with shows that have been unplublished still showing up on the master schedule.
* Fixed missing am/pm text on shows that run overnight on the master schedule.
* Fixed an issue with shows that run overnight not spanning the correct number of hours on the second day on the master schedule.
* Fixed problem in Upcoming DJ Widget that wasn't displaying the correct upcoming shift.

= 2.0.5 =
* Fixed an issue with some shows displaying in 24 hour time on master schedule grid even though 12-hour time is specified
* Fixed a bug in the On-Air widget that was preventing shows spanning two day from displaying
* Added code to enable theme support for post-thumbnails on the "show" post-type so users don't have to add it to their theme's functions.php file anymore.

= 2.0.4 =
* Master Schedule bug for shows that start at midnight and end before the hour is up fixed.

= 2.0.3 =
* Compatibility fix: Fixed a jquery conflict in the backend that was occurring in certain themes

= 2.0.2 =
* Bug fix: Scheduling issue with overnight shows fixed

= 2.0.1 =
* Bug fix: Fixed PHP error in Playlist save function that was triggered during preview
* Bug fix: Fixed PHP notice in playlist template file
* Bug fix: Fixed PHP error in dj-widget shortcode

= 2.0.0 =
* Major code reorganization for better future development
* PHP warning fix
* Enabled option to add comments on Shows and Playlists
* Added option to show either single or multiple schedules in the On Air widget

= 1.6.2 =
* Minor PHP warning fixes

= 1.6.1 =
* Bug fix: Some of the code added in the previous update uses the array_replace() function that is only available in PHP 5.3+.  Added a fallback for older PHP versions.

= 1.6.0 =
* Added the ability to override the weekly schedule to allow one-off events to be scheduled
* Added a list format option to the master schedule shortcode
* Added Italian translation (it_IT) (thank you to Cristofaro Giuseppe!)

= 1.5.4 =
* Fixed some PHP notices that were being generated when there were no playlist entries in the system.

= 1.5.3 =
* Added Serbian translation (sr_RS) (thank you to Miodarag Zivkovic!)

= 1.5.2.1 =
* Removed some debug code from one of the template files

= 1.5.2 =
* Fixed some localization bugs.
* Added Albanian translation (sq_AL) (thank you to Lorenc!)

= 1.5.1 =
* Fixed some localization bugs.
* Added French translation (fr_FR) (a big thank you to Dan over at BuddyPress France - http://bp-fr.net/)

= 1.5.0 =
* Plugin modified to allow for internationalization.
* Spanish translation (es_ES) added.

= 1.4.6 =
* Fixed a bug with shows that start at midnight not displaying in the on-air sidebar widget.
* Switched DJ/Show avatars in the widgets to use the featured image of the show instead of gravatar.
* Updated show template to get rid of a PHP warning that appeared if the show had no schedules. 
* Fixed some other areas of the code that were generating PHP notices in WordPress 3.6
* Added CSS classes to master program schedule output so CSS rules can be applied to specific shows
* Added new attribute to the list-shows shortcode to allow only specified genres to be displayed

= 1.4.5 =
* Fixed master-schedule shortcode bug that was preventing display of 12 hour time

= 1.4.4 =
* Compatibility fix for Wordpress 3.6 - fixed problem with giving alternative roles DJ capabilities
* Fixed some areas of the code that were generating PHP notices in WordPress 3.6

= 1.4.3 =
* Master schedule shortcode now displays individual shows in both 24 and 12 hour time
* Fixed some areas of the code that were generating PHP notices in WordPress 3.6
* Added example of how to display show schedule to single-show.php template
* Added more options to the plugin's widgets
* Added new options to the master-schedule shortcode

= 1.4.2 =
* Fixed a bug in the CSS file override from theme directory

= 1.4.1 =
* Fixed issue with templates copied to the theme directory not overriding the defaults correctly
* Fixed incorrectly implemented wp_enqueue_styles()
* Removed deprecated escape_attribute() function from the plugin widgets
* Fixed some areas of the code that were generating PHP notices

= 1.4.0 =
* Compatibility fix for WordPress 3.6

= 1.3.9 =
* Fixed a bug that was preventing sites using a non-default table prefix from seeing the list of DJs on the add/edit show pages

= 1.3.8 =
* Changes to fix the incorrect list of available shows on the Add Playlist page
* Removing Add Show links from admin menu for DJs, since they don't have permission to use them anyway.

= 1.3.7 =
* Fixed a scheduling bug in the upcoming shows widget
* By popular request, switched the order of artist and song in the now playing widget

= 1.3.6 =
* Fixed issue with shows that run overnight not showing up correctly in the sidebar widgets

= 1.3.5 =
* Fixed a time display bug in the DJ On-Air sidebar widget
* Fixed a display bug on the master schedule with overnight shows

= 1.3.4 =
* By request, added as 24-hour time format option to the master schedule and sidebar widgets.

= 1.3.3 =
* Added the ability to assign any user with the edit_shows capability as a DJ, to accomodate custom and edited roles.

= 1.3.2 =
* Fixed a bug in the DJ-on-air widget

= 1.3.1 =
* Fixed a major bug in the master schedule output

= 1.3 =
* Fixed some minor compatibility issues with WordPress 3.5
* Fixed Shows icon in Dashboard

= 1.2 =
* Fixed thumbnail bug in sidebar widgets
* Added new widget to display upcoming shows
* Added pagination options for playlists and show blogs

= 1.1 =
* Fixed playlist edit screen so that queued songs fall to the bottom of the list to maintain play order
* Reduced the size of the content field in the playlist post type
* Some minor formatting changes to default templates
* Added genre highlighter to the master programming schedule page
* Added a second Update button on the bottom of the playlist edit page for convenience.
* Added sample template for DJ user pages
* Fixed a bug in the master schedule shortcode that messed up the table for shows that are more than two hours in duration
* Fixed a bug in the master schedule shortcode to accomodate shows that run from late night into the following morning.
* Added new field to associate blog posts with shows

= 1.0 =
* Initial release

== Upgrade Notice ==

= 2.5.0 =
* Radio Station Blocks for Gutenberg Block Editor!
* https://radiostation.pro/radio-station-2-5-0-release-with-blocks/
* Refactored Schedule Engine Class
* Improved translations and sanitization
* Numerous bugfixes and improvements
* Escape debug output security fix

= 2.4.0 =
* Radio Station Stream Player Widget!
* https://radiostation.pro/radio-station-update-version-2-4-0-with-streaming-audio-player/

= 2.3.3.9 =
* Multiple Dates and Times for Schedule Overrides!
* https://netmix.com/radio-station-2-3-3-9-release-announcement/
* Link Override to Show with Selective Fields
* Automatic Visitor Showtime Conversion and Display
* Language Archive Shortcode for Shows
* Various Bugfixes and Improvements
* Updated Freemius SDK and Plugin Loader

= 2.3.3.8 =
* Updated Plugin Panel Library
* Added Stream Format selection setting
* Added Station email address setting with default display option
* Added Section order filtering for Master Schedules and Widgets
* Added Show image alignment attribute to Schedule Tabs View

= 2.3.3.7 =
* Updated Freemius SDK and Plugin Loader libraries
* Added Station phone number setting with default display option
* Added Schedule classes for Shows before and after current Show
* Multiple Related Show Post assignment edit and link fixes
* Bugfixes for permissions, main language and shift checker

= 2.3.3.6 =
* Updated Freemius SDK and Plugin Loader libraries
* Added Station phone number setting with default display option
* Added Schedule classes for Shows before and after current Show
* Multiple Related Show Post assignment edit and link fixes
* Bugfixes for permissions, main language and shift checker

= 2.3.3.5 =
* Ability to assign Post to relate to multiple Shows
* Added Admin Filtering, Bulk Edit and Quick Edit interfaces
* Fixes for Schedule display left/right shifting on mobiles
* Fixes for starting Schedule display on different day

= 2.3.3.3 =
* Current and Upcoming Shows Widget Fix

= 2.3.3.2 =
* Minor Bugfix Update

= 2.3.3 =
* Important Bugfix Update
* Fix to conflict with plugins using AJAX save_post calls
* Improved accuracy for responsive table/tab Schedule views
* Added colour improvements to Show Shift interface
* Fix to calculate Current Show (transient no longer used)

= 2.3.2 =
* Improved Times, AJAX Loading and Bugfix Update 
* https://netmix.com/radio-station-2-3-2-release/
* Radio Clock Widget and Widget AJAX Loading
* AJAX Saving of Show Shifts and Playlist Tracks
* Automated current Show schedule highlighting
* Improved timezones, overrides, shift checking and more

= 2.3.1 =
* Bugfix Update and Announcing New Netmix Station Directory!
* https://netmix.com/announcing-new-netmix-directory/
* Including minor fixes to major update release
* Option to ping Netmix Directory on show updates

= 2.3.0 =
* Major Update including many new features, enhancements and fixes!
* https://netmix.com/radio-station-2-3-0-release/
* Revamped Templates, Master Schedule Views, Shortcodes and Widgets
* Added Admin Options, REST API Routes and Shift Conflict Checking
* Added Show Producers, Language Taxonomy, Timezones and Countdowns
* Improved User Roles, Show Images, Post Type Supports + much more!
