Configuring Send Text

 

DAD may be configured to send a user-constructed string via an IP port or via serial ports. DAD can be configured to send this information when an audio cut is played in program status or as part of a command cut to control other external components.  

The use of Send Text is common for integration with RDS systems.  For RDS systems, one will use Send Text Rules. There are two forms of this. Send Text Rules and Send Text Rules2. One can use either or both of these options. For example one might have the output of Send Text Rules go to their Web streamer while Send Text Rules2 goes to the RDS encoder. 

Many users can also utilize Send Text to send serial strings to devices such as Switchers, Routers or other devices that are controlled by ASCII, Decimal or Hex strings. This is discussed below in General Use of Send Text

User can have the data sent out of DAD sent via Serial Com Ports or IP based Ports and Addresses. 

 

To configure your system for this feature, follow these steps:  

Ensure that Serial I/O is programmed in your security key.  Run the program "Check DAD Key" in the DAD Folder.  Serial I/O is needed to send serial data out of DAD. This is a purchase option.  

 

Configuration of the Rules files

Setup the appropriate lines in the \dad\files\[location].CFI file as follows. One can edit the workstation's CFI file by going to SETUP then clicking on CFI and README.

There are two types of Rule files. Send Text Rules and Send Text Rules2. These Rule files allow one to define how the output strings will be formatted. These files must be saved in the \DAD\FILES\ directory on the network data share. This is typically F:\DAD\FILES. The Rule file can be written with a basic text editor like Notepad. 

 

Creating the SEND TEXT RULES file

Send Text Rules allows one to send data about the currently playing cut to a Web site or RDS encoders. Send Text Rules allow the user to create a file that will output a specific string and include data about that cut. For example, one might want to have their RDS display: You are listening to Mack the Knife by Bobby Darin on Radio DAD. 

The Rule file to do this would have the following: 

You [032] are [032] listening [032] to [032] [TITLE] [032] by [032] [ARTIST] [032] on [032] Radio [032] DAD [010] [013]

Send Text Rules allow one to send out general strings that contain data from the DAD Library for the cut that is actively playing and allow one to map a Group so that a general string is displayed when a cut within that Group association plays. One should note that when using the Map Group, one can not use embedded fields from the Library database. If this is desired, then one should use Send Text Rules2. 

Examples of a Send Text Rules file: 

You [032] are [032] listening [032] to [032] [TITLE] [032] by [032] [ARTIST] [032] on [032] Radio [032] DAD [010] [013]
[MAP GROUP] "ISLAND" "Welcome to Fantasy Island." [010]
[MAP ARTIST] "Brothers Johnson" "This is the Artist of the Day" [013]
[MAP CUT] "20725" "Call NOW to win!"

Radio [032] DAD [032] is [032] number [032] ONE! [010] [013]

 

The formatting of Send Text Rules is very important. Please note the use of the ASCII Decimal value for 'Space' as [032] as well as the actual space around the square brackets. 

In more detail: 

You<space> [032]<space> are<space> [032]<space> listening<space> [032]<space> to<space> [032]<space> [TITLE]

The above Rule file example there are five lines. DAD will output the first line and the fifth line for every song. If the audio cut played matches one of the [MAP <field>] entries, then it will output that line also. Using the above example, if the song played is by the Artist 'Brothers Johnson' then the output strings will be the first, third and fifth lines. Likewise, if the Cut happened to be cut number 20725, DAD would have sent the first, fourth and fifth lines. 

For reference some of the common ASCII decimal values are:

[009] = Tab

[010] = Line Feed

[011] = Home

[012] = Form Feed

[013] = Carriage Return

[032] = Space  

If one needs to send a comma, one should precede the comma with a carrot. For example:  ^,  

 

Creating the SEND TEXT RULES2 file

Send Text Rules2 is much like Send Text Rules with the added bonus of being able to map a Group and output specific Library Database information about the cut playing. One should note that Rules2 will only use a file that has been written in the Rules2 format. 

Send Text Rules2 can be used to output specific song and station information based upon the Group association of the audio cut that is playing. For example:

[RULE] [MAP GROUP] "SONGS" "You are listening to " [TITLE] " by " [ARTIST] [013] [010]  

Radio [032] DAD [032] is [032] number [032] ONE! [010] [013]

 

[RULE] [MAP GROUP] "COMM" "Nobody plays more than 93.1 'DRQ" [013] [010]  

More [032] music [032] is [032] up [032] next [010] [013]

In the above example, when an audio cut from the SONGS group plays, the system will send out "You are listening to <the title of the cut> by <the artist information>" followed by the line: "Radio DAD is number ONE!"

When a spot from the COMM group plays, the output would be: "Nobody plays more music than 93.1 'DRQ" and "More music is up next"

The general formatting is the same as Send Text Rules with the exception being that one must use the [RULE] [MAP GROUP] entry. 

 

COOL ITEM: Some RDS units allow one to send strings to control the display. One could embed these control strings within the data output. Users should consult the manual for the RDS encoder for more details. An example of such a string: 

[RULE] [MAP GROUP] "92MUSIC" "RT=0^,1^, " [ARTIST] [032] [TITLE] [032] "92FM ROCKS" [013] [010] "PS_SCROLL=0^,0^,0^,3^, " [ARTIST] [032] [TITLE] [032] [013] [010] 

 

Configuration of the workstation's CFI file:

Once the Send Text Rules or Send Text Rules2 file has been created, some changes need to be made to the workstation's CFI file. Under SETUP one can gain access to the CFI file via the CFI and README button. Clicking on workstation's CFI button will open the CFI for editing. Under the [SEND_TEXT] section one can define a "port" to be used. There are 26 available Send Text output ports available. These are listed as A through Z. One can configure these ports to be either IP or Serial. 

In general one needs to know first HOW the data will be sent out. Will it be send via Serial or via IP? Once that has been decided, configuration can begin. 

For sending information via IP:

IO_A = [port] [address]  

 There are options for sending via IP. One can send via IP Sockets or via UDP Datagrams. Configuration options are as such:  

IO_A = 4444 10.44.44.44 (IP Socket)
IO_B = 2002 10.44.44.44 (UDP Datagram)
IO_C = UDP 4444 10.44.44.44 (UDP Datagram)
IO_D = UDP - 14 10.44.44.44 (UDP Datagram)

In the examples above:

IO_A is sending data to port 4444 on IP Address 10.44.44.44. 

IO_B is sending a UDP Datagram packet (port 2002). 

IO_C is using a port and also specifying that this will be send via UDP. 

IO_D is also using UDP but is using a port under 1024. For ports under 1024 one must precede the port with a minus sign. 

 

NOTE: Datagram packets are "one-way", do not have guaranteed delivery and have a limited size but are fast.  IP Sockets are bi-directional, are guaranteed, have no size limit, but can be slower than Datagram packets and may effect critically timed TRANSITIONS (tight segues, quick start plays).  

 

For sending information via Serial:

When configuring DAD to use a Com Port, one must define the Com Port in the [SERIAL] section. Here one would enter:

COMx_INFO=<Baud rate Parity Data bits Stop bits>  

For example:

COM1_INFO=9600 N 8 1 
COM4_INFO=9600 N 8 1 

Next one will have the Send Text port under [SEND_TEXT] set to that Com Port.  

IO_A=[com port to be used]  

For example: 

[SERIAL]

COM1_INFO=9600 N 8 1

 

[SEND_TEXT]

IO_A=1  

 

Defining the Rule's SEND_TEXT port and Filename:

Once the method of communications has been defined, one can set the style and filename of the Rule to be used. In the CFI file under the [SEND_TEXT] section one sets the Send Text port to be used along with the filename for the Rule file that has been created. 

RULES=<send text port> <filename for Send Text Rules> 
RULES2=<send text port> <filename for Send Text Rules2>

For example

RULES=A SendRule.txt

RULES2=B SendRule2.txt

 

Here, the data from SendRule.txt will be sent out Send Text port A, which in turn would use the settings for IO_A while Rules2 would utilize Send Text port B and send the data via the settings for IO_B. 

 

NOTE: One cannot use the same RULE file for both Send Text Rules and Send Text Rules2. They must be written in their respective format. One should also avoid sending the two files out of the same Send Text port. 

 

 

Other important configuration considerations: 

IMPORTANT: To ensure that the data is sent properly, make sure that the "script" field is left blank. If an audio cut has a value in the Script field, that value will take precedence over Send Text Rules.  

When an audio cut plays, DAD will send the data defined by the [SEND_TEXT] section of the CFI file. ALL machines in DAD such as the Arrays, Playback decks etc. can send out this data. One can control which machines send data by the using the PROGRAM or AUDITION status for the machine within CHANNEL ASSIGNMENTS. DAD will ONLY send out SEND_TEXT data when the associated machine (PBK1, QUAD) and type of event (Playback, Segue Playback) within Channel Assignments are assigned to PROGRAM. When the machine is set to AUDITION, SEND_TEXT data will not be sent.  

 

 

 

General Use of Send Text

Users can also use the Send Text feature to have DAD communicate directly to external devices. For example one might have DAD control an audio router via Serial or IP based command strings. To utilize this function, one must define the port in the CFI file under the [SEND_TEXT] section. The configuration is the same as described above. When using this method, one would not write or define the Send Text Rules files, but instead create Command Cuts which contain the desired string information. For example, if one has a switcher that is connected to Com Port 4 of a workstation, they would define the following: 

[SERIAL]

COM4_INFO =9600 N 8 1

 

[SEND_TEXT]

IO_A=4  

 

One could then create a Command Cut to issue the DCL: 

SEND TEXT <send text port> '<string to send>'

 

For example: 

SEND TEXT A ‘*0041’

This would send the serial string ‘*0041’ out Send Text channel A, which in turn would be send out of Com Port 4. 

 

Administrators can use this method of communications to control just about any external device. In addition to being able to send out ASCII characters, one can also send Decimal or Hex strings. For example: 

SEND TEXT A 'this [010] sends decimal 10'

SEND TEXT A 'this [h27][h03] sends hex 27 and hex 03'

 

One can also have DAD send a file. 

SEND TEXT <send text port> <file name>

 

For example: 

SEND TEXT C [C]\dad\read.me\playlist.txt

In the above example, DAD will send the PLAYLIST.txt file out of Send Text port C.

One should define the path for the file. To enter a drive letter, one must enclose the drive letter in square brackets as shown above.

Using Send Text in conjunction with Command Cuts allows one an extra layer of control over external devices. Once the command has been created, if can be used in a Playlist or as an event on a Array page for quick access. One could have data transmissions sent at specific times during playback. This can be done by using SEC, TER, or slate marker points. One could use SEND TEXT x commands within a GPO file using the ANY_PGM_START, ANY_PGM_END and/or SEC directives.