This article is part of a series on Zetta.
- Interactive Programming
To work through this installation process for the first time, please contact Futuri VIP Support. A remote session with one of our Support Agents should take about 30-60 minutes per station.
NOTE: If you plan to use interactive on-air programming features as part of Tether, you will need to license the Zetta Crowd Interface from RCS. If you do not plan to use any of these interactive voting features, Futuri can install our Echo software instead (which does not require a separate license from RCS).
This process includes the following steps:
- Zetta System Configuration
- Zetta Crowd Interface Configuration
- Zetta Commands
- Optional Additional Zetta Configurations
Zetta System Configuration
Before configuring the Zetta Crowd Interface, you'll want to configure a couple of quick items in Zetta's System Config.
This is configured under Configuration > System > Billboard. Zetta Crowd Interface expects a TCP/IP connection with a recommended Format of Zetta Full and output 3 playing items to account for overlapping audio. If the Number of Items is set to only 1 output item, there is a chance that a message could be missed. See the screenshot below for an example of a compatible Zetta Billboard output.
UPD GPO Setup
To set up a UDP GPO in Zetta, pick a computer in Zetta that is always available, under Configuration > Computers. This can be the sequencer or any other machine that is always running the startup manager for Zetta. If RCS Support has provided a gpio configuration file called LDRSETUP.cfg.gpio, you can import that here, or create a new GPIO device (see the screenshot below).
- To Import a configuration file LDRSETUP.cfg.gpio from RCS - Select the GPIO /Routes tab for the computer to be used. Click the Import Gpio Devices button in the toolbar and browse the LDRSETUP.cfg.gpio file.
- To create the GPIO device from scratch - Click Add new GPIO Device button from the toolbar of the GPIO /Routes tab for the computer to be used. Make the GPIO Device type (the drop-down box under the “Enabled” checkbox) UDP. Name the device something that can be recognized elsewhere in the Zetta system. Optionally, give it a description. The Input Data will not be used, so this section can be left with the default settings. In the Output Data section, enter the destination UDP port defined in the Vote Start Port field of the Zetta Crowd Interface system Config tab mentioned above. Ensure the separator is set at the default \n.
Zetta Crowd Interface Configuration
Use the first two configuration tabs (System Config and Station Config) to tell the application how to find Zetta, and how to find Futuri.
Billboard Port: This is the port defined in the Zetta Billboard tab for the station that will send Billboard (Now Playing) output, as you configured above.
Vote Start Port: This is the port that will receive the vote Start/End commands, as configured in the UDP GPO above.
Network: This lists the networks available for the computer. Select the Network for the application to listen for billboard and voting options. This is the IP Address used in the Billboard and GPIO Output Data configuration. This option is helpful when the computer has more than one network card.
Zetta DB: This is the name or IP of the Zetta SQL database server and the name of the instance for the Zetta system. The field to the right is the Database name for the Zetta SQL database. The default database name is ZettaDb. Enter the Name or IP address of the Computer Instance running the database and change the database name if needed, then press tab for the application to resolve to the Zetta DB and enable the Station selection drop-down (examples: ZettaServer\RCSDB and ZettaDb)
If the Zetta Station field is not enabled, there has been a communication issue getting to that address. Check settings and try again, or contact RCS Support for assistance.
Zetta Station: Choose the appropriate Zetta Station that the Zetta Crowd interface will communicate with.
Once the Interface application is licensed from RCS, the only way to change the ZettaDB IP or Station is to unlicense the Zetta Crowd Interface.
Vote End Value: Defaults to 60 seconds. This shows how many seconds from the end of the audio to close out votes and update Zetta. Cutting this too close to air time could result in unexpected results on air. Conditions like inability to communicate with Futuri or invalid voting results will sometimes require more processing time to cope with.
Dump Now Playing to File: When checked, the now playing data will be dumped to a file under a debug folder created under the path that the .exe was started.
Extra Debug: General messages are logged to a Logfile.txt file. If directed by RCS Support or Futuri VIP Support, select this option to dump extra debug to this file for troubleshooting help.
Start Automatically: When selected, the application will start up automatically when Windows starts, provided the entire configuration is correct. When this happens, the application icon will be seen in the taskbar System Tray (the area by the clock).
LDR Account Info: User/Password and StationID are provided by Futuri VIP Support. Enter the Futuri account information in the spaces provided.
LDR Now Playing Server: This field is used to change the Now Playing server address. If you will also be installing Echo as part of your setup, the IP address should be the local IP of the PC where Echo will be installed. If you will not be installing Echo, you can use the IP address 220.127.116.11.
LDR Port: This is the port in which the Futuri Now Playing Server communicates. If you're using Echo, we would recommend using port 9000. If you're not using Echo, this port should be 8080.
GS Fill Category Group: The GS Fill Category Group and the Tag for Emergency fields are used with Takeover processing (and are not necessary for non-Takeover stations). Use this drop-down to select a GSelector Category Group to use to fill in case of an emergency such as a loss of internet connectivity. Choosing a GSelector Category will allow the system to select a song to fill, from GSelector, in case of an emergency so that a log does not go unfilled. If GSelector is not available then the system chooses a song from the selected "Tag for Emergency Use."
Tag for Emergency Use: This shows a list of all available Tags inside the Zetta system. A Tag is a group of songs that are tagged the same for Zetta to choose from. This option is used in case of an emergency such as a loss of internet connectivity. Choosing a Tag will allow the system to select a song to fill in case of an emergency so that a log does not go unfilled. This is optional but advised. See the Tags (For Emergency Use) section below for more information creating Tags relative to this application.
Repush Music: The system will send a copy of the station's music log to Futuri the day before (after 10pm local time). It will also resend the logs automatically for the next hour and beyond for the remainder of the day, provided there are no voting sessions in the last quarter-hour. This is to try to keep the system up to date on voting options and the current songs that are coming up. If it is necessary to re-push a log manually, choose which day to send from the drop-down box next to the Repush Music button and then press the button. It will then create a new log, and send it.
There are and will be several pieces of real-time information provided in this tab.
Licensing the Zetta Crowd Interface is accomplished via the License tab.
Zetta Crowd Interface uses the RCS Client Licensing system. Select the Change button next to the Licensee field.
Contact RCS Support with the Seed Code. RCS Support will provide a valid Licensee, the RCS Code, the Username and the Password needed for licensing the application. Enter the Licensee and RCS Code; click OK to update the License tab. Enter the Username and Password received from RCS Support, then click Get License. Optionally, select Remember Credentials to have the application retain the Username and Password.
The configuration for the Zetta Crowd Interface is stored in files stored in the same folder that the executable was started. If you relocate the .exe, be sure to copy the entire folder.
Several GPO (Output) commands will need to be created (under Configuration > Computers) to execute the following events. These GPOs can be named anything that makes sense to the users; however, the Event Text field must be exactly as shown in the list below. Make a GPO event for each of the following:
- Begin Song Replacement
- End Song Replacement
- Begin Top Song
- End Top Song
- Begin FaceOff
- End FaceOff Next
Once the GPO Events have been created, Macros will also need to be created for each GPO so that it may be scheduled in GSelector at the appropriate place in the log.
For each of the GPO events mentioned in the previous section, create a Macro for the corresponding station used previously.
Select Macro from the Zetta Configuration menu. Select the correct station, and click the Add button. Give the Macro the same name as the GPO event. Select Execute Command from the Insert Control Event consideration window (on the right). In the New Execute Properties window, select a Task Type of Gpio.TriggerGPO and the matching GPO event previously created. Drag and Drop the Execute Command from the Insert Control Event consideration window on the right to the Event pane on the left. Repeat adding a Macro for each GPO event.
When finished, there should be macros by the name of:
- Begin Song Replacement
- End Song Replacement
- Begin Top Song
- End Top Song
- Begin FaceOff
- End FaceOff Next
Syncing Macros with GSelector
Once the macros have been created, they will need to be synced to GSelector. This is accomplished under the Config > System > GSelector tab. Press the Sync Categories and Control Events button.
This will update GSelector to now have these Control Events available for use in a GSelector clock.
Optional Additional Zetta Configurations
The following configurations are optional as part of Zetta's integration with Tether but are strongly encouraged for stations using Takeover, Takeover Countdown, and/or FaceOff.
Configuring Zetta for Echo
If you will be installing Echo, you will also need to add a line to the application config file ZETTACROWDINTERFACE.EXE.Config.
The line to add is as follows:
The IP address and Port should match the IP/Port combination that you will configure for Echo (below).
Futuri's Echo software can act as a local server for winning songs for Takeover-style voting features (including Takeover Countdown and FaceOff). This can be helpful for scenarios when an internet connection may not be available.
Echo should generally be downloaded from here and you can obtain a settings file (named station.xml) from Futuri VIP Support. Do not run Echo.exe without first configuring the station.xml file.
To install Echo (typically on the same computer running Zetta Crowd Interface), create the folder C:\Echo\XXXX (where XXXX is the station’s call letters) and extract the contents of the downloaded Echo.zip (link above) to the same folder. If you are setting up multiple stations, each should have a folder in C:\Echo (with its own Echo files inside).
In the newly extracted folder, place the station.xml file from Futuri VIP Support. It must be saved in the same folder as Echo.exe.
When finished configuring, save station.xml and repeat steps as needed for other stations. Each station will need its own copy of Echo.
Note: Microsoft .NET 4.0 or higher is required for Echo. If you're running Windows 7 or higher, you should be all set, but If needed, you can download .NET 4.0 by clicking here and following the instructions. When .NET 4.0 is confirmed to be installed, run Echo.exe and navigate to File > Boot on Startup so that Echo will start up with the PC.
Tags (For Emergency Use)
The Zetta Crowd Interface has the ability to refer to a list of songs to use in the case of an emergency when in a Takeover session. When relying on an outside connection to fill the positions, a situation could present itself where the service is unavailable. This step is not necessary for stations that do not use Takeover or Top Song.
By setting up a Tag to use in case of emergency, the Zetta Crowd Interface has an opportunity to fill with something, even if it wasn’t actually the top voted song, so that perhaps when that song was nearly over, the service would be back up and Zetta can start filling with winning songs again.
Setting up the Tag in Zetta is fairly simple. From Zetta’s Library module, choose Tags and click the Add new media button to add a new Tag. Select the correct station in the picker on the right-hand side of the top row. Give the Tag a name that can be recognized easily. This name will appear in the Zetta Crowd Interface application, in the drop-down choices mentioned above. Finally, simply drag songs to the Tag window until all of the songs desired have been added, making sure to choose the correct station in the Station column for each song. Select Save to save the Tag, and it will then be ready to be selected in the Station Config tab of the Zetta Crowd Interface application.
Setting the Vote Time End Value
The default time from the end of known audio to end a vote is 60 seconds. Within 10 seconds of whatever this value is, the system will poll for the final vote from Futuri, update Zetta and depending on the type of vote, either End the vote and notify Futuri in the case of a "UPick"-style voting session, or find the next unscheduled song in the case of Takeover or Top Song.
While the default is 60 seconds, this can be changed in Zetta by creating yet another UDP GPO event and Macro as described above. The string for the command must be VoteTimeEndChange= with some number after the = that is between 15 and 60 seconds. Make sure there is sufficient time to process, and deal with possible errors.
Special thanks to the team at RCS for their assistance in putting this documentation together.