SRC - SHX Scripts

Written by Saii Hallard. Posted in SRC Receiver


Almost all SHX SHOUTcast products have got the ability for the user to modify the way text and images are displayed. To make this easier for those without knowledge of SL scripting, we created our own interpreter.

To make a disctinction between SL scripts and SHX-scripts, we will name our scripts: Macros.

From experience, we know that most users are still afraid to make changes in the default macro cards, although they are only there as example. It is really not possible to mess up the system experimenting with the macros. Do take note however that we give you the tools, examples and manuals to experiment, but we will not help you make the modifications personally. There is enough information here to help you with that.


All examples, configurations that are modifiable inside the product are also available in the product box as a backup. If you edited an example, but want to revert to the original, use a copy from the contents of the backup.

Using Macros

To make a working macrolist, there are a few things you have to consider.

1) type without typos!
2) do not use the ; or | (pipe) characters in text. only as a seperator for commands and variables where needed
3) take care not to do too much changes in text/images in a short time. it WILL become laggy!
4) when doing a text or image change, create at least a second delay after the change (with the wait command)

To get an image UUID, goto your inventory, rightclick an image and select: GET ASSET UUID.
The UUID will be stored in memory. Use the key combo CTRL-V to paste the uuid inside your notecard.
setimage1; 2f1798b1-8b19-38bd-7ace-b299755769b8

use RGB values, as example: color;255,255,255   to make the text white.

Use the color set by the theme.

Set's the default font. Set to number 1,2,3 or more, depending on your product. Experiment with it to see what type of font you want to use.

Placeholder variables:
These are special texts you can place inside your text to show, which will be replaced by the value which is current.
For example, if you use centertext;Server: %SERVER% ... you will see the %SERVER% be replaced by the actual servername of the stream your listening to.

The rest is pretty straightforward. Experiment with it!

Support Phrase: MicroManagement

Macro Command List:

clearhistory - clears the song history when the card is loaded (only at the start of the rotation)
cleartext - clear the text on the display
showtext - show the text (set with settext or centertext)
hidetext - hide text
settext;txt  - set (txt) text on the display
setfont;X - set the font to number X  [depending on model see fontset numbers below]
wait;secs   - wait (secs) seconds
color;r,g,b  - set the color in R,G,B
flash;secs  - flash the text for (secs) seconds
centertext;txt  - set (txt) text on the display
setimage1;uuid - set the top image, uuid only. Set nothing to remove image
setimage2;uuid - set the right image, uuid only. Set nothing to remove image
setimage2;profile - Use profile image from logged in DJ
stop - stop the execution of the rotating macro list

Special Macro Commands structures for the SHOUTcast retrievers

setimage1;spectrum,6,r,g,b - sets the spectrum analyzer, 6 = speed. Can only be used for image1
setimage2;live,r,g,b - sets the live animated texture. Can only be used for image2

setimage1;spectrum,theme - set spectrum analyzer at the top with theme color
setimage2;live,theme - show the live animated texture with theme color

Placeholder variables

o SHOUTcast receiver only:
%TIME,x,y,z% - placeholder for the current time, variables are:
x = Timezone from GMT
y = DST
z = 24/12 hour time format

So for the current SL time, without DST and in 12 hour format, you would use:

o Only available in DJ cards, !Text_Radio & !Text_Config :
%SERVER% - placeholder for the current streamname
%DJNAME% - placeholder for the current logged in DJ
%GENRE% - music genre, if set in the dj card
%COUNTRY% - country, if set in the dj card

o The following placeholders are available in the CDS Remote Controls:
%STREAMMETHOD% - current streaming method
%STREAMINFO% - listeners/bitrate
%SONG% - current song being played
%SERVER% - current streamname

Note about Image sizes for image1 and image2

Best looking images are obviously logo's on a black background, with not too high contrast.
Avoid using "hard" colors, like bright white (0,0,0).

Use the following dimensions for your images in your favorite Graphics Editor:
image1:   512 x 45        
image2:   512 x 406

Tip for Adobe Photoshop users:
Best format to save is in TGA, 24 bits format.
When your done making the logo with above mentioned dimensions, do not save it yet, but open the image resizer (hold ALT and press twice the i button). Uncheck the "Constrain Proportions" option, and set the height from 45 to 64, for image1 and set 406 to 512 for image2. Be sure to Bilinear option, otherwise you have to add a full black background layer to compensate for the anti-aliased edges which will appear.
This will ensure you get a good quality image to use, because Second life will otherwise resize it to the nearest supported format in JPG2000. Adobe Photoshop is much better in doing that.


Fontset numbers

0 - Veras
1 - Copperplate
2 - Usuzi
3 - Halo
4 - Luxi
5 - Matrix
6 - Eras Bold
7 - Kara Ben Nemsi
8 - Digital
9 - Cyrillic
10 - Veras Bold Embossed
11 - Aarde
12 - Zolan
13 - Comic
14 - Comic Embossed
15 <> Japanese (label only, SRC models)
16 <> Deutsch (label only, SRC models)