Operation/Reference Guide AMX InspiredSignage XPress Programming Guide Inspired Signage Last Revised: 11/21/2011
AMX Limited Warranty and Disclaimer This Limited Warranty and Disclaimer extends only to products purchased directly from AMX or an AMX Authorized Partner which include AMX Dealers, Distributors, VIP’s or other AMX authorized entity.
AMX Software License and Warranty Agreement By opening the attached file or installing the software, you (“Licensee”) agree to be bound by, and AMX LLC (“AMX”) shall be entitled to enforce, this AMX License Agreement (“Agreement”).
Table of Contents Table of Contents AMX InspiredSignage XPress Programming ............................................................. 1 Introduction .............................................................................................................. 1 What can you do with XPress? ........................................................................................ 1 When to use XPress authoring features? ........................................................................
Table of Contents news_crawler.svg .......................................................................................................... 23 How To Use the Format Helpers............................................................................. 24 bouncing_text.svg ......................................................................................................... 24 fit_text.svg ...................................................................................................................
Table of Contents When to use remote control of playback ...................................................................... 49 How to use remote control of playback ........................................................................ 49 Interactive pause/resume over TCP............................................................................... 49 Interactive pause/resume using HTTP GET ................................................................... 49 GET embedded in an HTML page ..........
Table of Contents Example: Screen layout with six screens ....................................................................... 66 Example: Screen layout with an empty border between the screens............................ 67 Example: Screen layout with “Spread displays” ............................................................ 67 Example: SVG element .................................................................................. 68 Example: JavaScript .....................................
Table of Contents Adding a Range Variable .............................................................................................. 95 Exporting the finished file ...................................................................................... 96 Shared Variables ...............................................................................................97 Introduction ............................................................................................................
Table of Contents vi TPI-PRO-DVI (Total Presentation Interface-DVI)
AMX InspiredSignage XPress Programming Introduction The AMX InspiredSignage XPress media content developer (referred to hereafter as “XPress”) allows users of the IS-SPX-1000 to manage media elements in a digital signage application. Its purpose is to combine and customize media elements created in different applications in order to build digital signage content of professional quality. What can you do with XPress? Combine an image background with text, videos, animations, and graphics.
Installation Installation Installing AMX InspiredSignage XPress for the First Time The 30-day trial of AMX InspiredSignage XPress is available from www.amx.com. A license for the full version of either XPress Standard or XPress Pro may be purchased from AMX at any time before or after the expiration of the trial version. XPress Standard allows control of up to 10 IS-SPX-1000 devices at one time. XPress Pro is intended to allow control of up to 100 IS-SXPX-1000 devices at one time.
Installation A purchase of either an XPress Standard or a Pro license comes with the product activation key. Click the Enter Product Key button to open the Online Product Activation window (FIG. 2). In the provided fields, enter the key to complete the activation. FIG. 2 Online Product Activation window The application must be shut down and restarted to complete the activation. This does not require the computer to be restarted.
AMX InspiredSignage XPress Features AMX InspiredSignage XPress Features The AMX InspiredSignage XPress main interface (FIG. 4) presents a default animation of the AMX logo and the files available in the Workspace area. The controls include time controls, test animation controls, and options to save and revert changes.
AMX InspiredSignage XPress Features XPress Main Interface (Cont.) Switch Edit Mode icon: Turns the Edit Mode on the main viewing pane on and off. Multiscreen Layout button: Displays multiple panes for projects that utilize layout displayed on multiple screens. Edit Mode Tools buttons: These buttons (Back, Save, Revert, Apply, and Close) are only functional when the main viewing pane features an item being displayed in Edit Mode.
AMX InspiredSignage XPress Features Learning XPress authoring features The first step towards using XPress authoring features is to understand the concept of an XPress project. Read the section devoted to this subject in the XPress projects section on page 6.
AMX InspiredSignage XPress Features Creating a new project To create a new project: 1. Right-click in the Workspace under the My Projects tab. This opens the New Project window (FIG. 6). FIG. 6 New Project window 2. Choose a name for the project and enter it in the Name field. 3. Enter a particular format from the Format dropdown menu (FIG. 7). FIG. 7 Format dropdown menu The Multiscreen format uses the configurable.svg file from the Multiscreen template folder.
AMX InspiredSignage XPress Features A file may also be uploaded by dragging-and-dropping it from a Windows Explorer window. If you right-click a specific file (or you right-click the browsing panel while a file has been selected), the following functions appear whose actions apply directly to the selected file: Open: Opens the file in the preview panel. Delete: Deletes the file without confirmation (a short cut has been defined for this function: shift+delete). Rename: Renames the file.
AMX InspiredSignage XPress Features Importing multi-media files XPress lets the user import many types of media files into an XPress project (or other folders) from a standard Microsoft Windows Explorer window. The operation is as simple as a drag-and-drop from the Explorer window to the target XPress browsing area. You can also use the special upload... command, accessible by right-clicking the browsing area of XPress.
AMX InspiredSignage XPress Features Creating and Editing SVG files The simplest way to create an SVG document is to right-click the browsing panel and select the action New SVG file with the desired aspect ratio. XPress creates a new SVG multilayer document new.svg in the current browsing view with the selected aspect ratio (FIG. 8). FIG. 8 Creating a new SVG file Having installed XPress, you can also benefit from a set of pre-defined SVG documents called templates.
AMX InspiredSignage XPress Features Groups: Any of the above properties can be grouped. Groups might be opened or closed by default. Pressing on the arrow, will close or open the group depending on its current state. FIG. 9 Template Document Parameters Edit a media property The Media property allows you to control the display properties of the media linked to the current document. This property is used by many templates, i.e. multi-layers and playlists.
AMX InspiredSignage XPress Features The properties of the media can be edited using the “...” at the bottom right of the media property. This will open the media description dialog (FIG. 10). FIG. 10 Media Description window The media description dialog window lets you change: URI: The URL of the media. You can type a relative URL (for addressing those media inside your project) or an absolute URL for those media located in remote servers.
AMX InspiredSignage XPress Features Count: The number of time the media should be repeated or Max dur: The duration of the repetition in seconds. Width and Height: Lets you control the size of the media. If you specify an indefinite duration for your media, it will NOT repeat. If you want your media to repeat forever, you should check Repeat with a Count of 0 and an indefinite maximum duration.
AMX InspiredSignage XPress Features Interactive editing The preview panel has two main functionalities: Preview IS-SPX content and multi media content. The preview panel emulates in software the display capabilities of the IS-SPX-1000 player. Moreover it offers the user the possibility to interactively pause and seek the content using the timeline at the top of the preview panel itself. Interactively edit XPress content. XPress content is described with the SVG language (see W3C specification).
AMX InspiredSignage XPress Features Text area: Zoom will change the size of the text. Resize will modify the text area, thus enabling to write more text. Media (image, video, animation): Zoom will change the size of the media. Resize will change the size of the media area, thus the aspect ratio of the media will not be modified. Rectangles: Zoom will change the size of rectangle including the border. Resize will change the size of the rectangle, but not the border.
AMX InspiredSignage XPress Features Editing Media links Media links can be declared as editable in SVG templates. When a media from the browsing panel is dragged to the preview panel, editable media link are highlighted in green and a magnet icon is shown on top of the media. When the media is moved on top of an editable link, the highlight is changed to red, and the magnet logo is modified.
AMX InspiredSignage XPress Features Multi-layered SVG templates By default, each time you create a new SVG document by right-clicking the browsing panel, selecting New SVG, and choosing your aspect ratio, XPress creates a new file based on the multi-layer SVG template. The Multi-layer SVG template simplifies the task of composing a scene using XPress.
AMX InspiredSignage XPress Features The first 2 numbers describe the origin of the document and should be left at 0. New Layer: group for the default properties of all new layers Default Width: the width of a new layer. By default, the new layer occupies the whole document and thus this has the same width of the Canvas. Default Height: the height of a new layer. By default, the new layer occupies the whole document and thus this has the same height of the Canvas.
AMX InspiredSignage XPress Features Example: Editing A typical document will be composed of a background image (the first layer), and a combination of media to create the complete scene. FIG. 16 Layers in a sample document For instance the following example is composed of 4 layers: A background image. A video on the left. Some text on the bottom. Background music. (This layer is not visible, as it contains only audio).
AMX InspiredSignage XPress Features How to customize a playlist SVG document The playlists created using the New Playlist menu (or using the My Templates/new_playlist.svg file) allow the user to select a set of predefined transitions between the slides. This playlist template instructs XPress to expose the following parameters in the Properties tab (FIG. 17): FIG. 17 Properties Tab Background Fill: Specifies the color of the background. Can be set to 'none' to indicate a transparent background.
AMX InspiredSignage XPress Features Change the order of the media. Using the pop-up menu, or using the ctrl+up/down keys. It is not only possible to create a playlist of media files, but also a playlist of text boxes if needed. Media and text boxes can also be used in the same playlist. It is possible to control the duration of each media and the number of times it will be repeated (if needed). The Playlist tables shows for each media: The media URL. The media type.
AMX InspiredSignage XPress Features Special News templates To simplify the creation of dynamic content, XPress is provided with a set of active templates that can be customized by the user and that perform specific actions. The active templates use JavaScript for dynamic creation of SVG documents with specific graphical layouts and up-to-date content. In particular in this section, we discuss a number of active templates we have developed to retrieve RSS content. We call these templates news templates.
AMX InspiredSignage XPress Features 7. Customize the settings of your news source using the Properties tab. The Feed Type lets you select the type of your input data. The Feed Update Policy lets you control when the feeds should be updated. Additional settings can be found depending on the templates. 8. Save the final document. How to customize a news SVG document All the templates SVG files provided in My Templates/News let you customize their layout using a different set of parameters: news.
AMX InspiredSignage XPress Features How To Use the Format Helpers The format helpers are a set of files which can be added as a multimedia layer in the news.svg and news_crawler.svg file to simplify the construction of the layout. To use the bouncing text or the fit text helper: 1. Drag and drop it on your document like any multimedia file. 2. Open it 3. Change the Text to [SPX][title] or [SPX][description] to display respectively the title or the description of your news. 4.
AMX InspiredSignage XPress Features Scalable content and aspect ratio of your display The IS-SPX-1000 player natively supports the SVG graphic language. This language is scalable: that means that the graphics are rendered on the fly according to the resolution supported by the display. This guarantees a perfect rendering for texts and graphics, regardless of the resolution of the display.
AMX InspiredSignage XPress Features It may happen that the same content will be displayed on monitors with different aspect ratios. In this case the following will happen: If you use 16:9 templates, the content will be displayed using black borders on the top and bottom when shown on a 4:3 screen. FIG. 22 16:9 templates as shows on a 4:3 screen If you use 4:3 templates, the content will be displayed using black borders on the left and right when shown on a 16:9 screen. FIG.
AMX InspiredSignage XPress Features Example of content with a real aspect ratio of 4:3 when fitted to a 16:9 display FIG. 25 Real Aspect 4:3 content fitted to a 4:3 display Note that in XPress, you may change the aspect ratio of the preview panel by sliding its horizontal and vertical dimensions. When previewing SVG content, XPress will do exactly as the IS-SPX-1000 player will do on real displays with the same aspect ratios.
AMX InspiredSignage XPress Features Multimedia effects Adding effects The XPress software installation comes with a number of default media transition effects files. These may be found in the Effects folder under My Templates. These effects files can be applied to media elements such as images, video or animations. Effects will animate how the media will appear in the scene (entry effects) and eventually how it will disappear (exit effects).
AMX InspiredSignage XPress Features Previewing From the My Projects folder, you can access all the projects that are currently defined. To explore and preview a specific XPress project, simply double click its icon. This will open a new view in the browsing area of XPress. The name of the view is the name of the project. You can preview the selected XPress project directly with XPress by opening the index.svg file. The content will start playing in the Preview area of XPress.
AMX InspiredSignage XPress Features FIG. 29 Transparent background as shown on the IS-SPX-1000 Publishing To publish a project manually to a device, do the following: 1. Open My Devices in a first tab. Identify the IS-SPX-1000 player on which you want to publish. For more information, please refer to the Monitoring section on page 31. 2. Open My Projects in a second tab. 3. Drag and drop the project you want to copy to the device you want to update.
AMX InspiredSignage XPress Features Using Quick Publish Once a project has been published manually to the device, it can be published again using the Quick Publish button. The Quick Publish button is located on the address bar (FIG. 31) and is activated whenever a project is open. FIG. 31 The Quick Publish button on the address bar To use Quick Publish: 1. Open your project. 2. Press the Quick Publish button. 3. All modifications done on your project will be copied onto the IS-SPX-1000.
AMX InspiredSignage XPress Features FIG. 33 New Device dialog box 3. The New Device dialog box (FIG. 33) appears and asks you to enter a number of details concerning the new device you wish to add: Serial Number: If you do not have the serial number of the player you want to add, you can enter here another name here. However, the player you add will not be automatically recognized by the Discover devices command as being already defined. You may have two device icons pointing to the same player.
AMX InspiredSignage XPress Features Check the status of the devices XPress checks the status of the devices available in My Devices each time the refresh button is pressed. If the content server is reachable, it displays a green check on top of the device icon. If the content server cannot be reached, a red cross is displayed instead. FIG. 34 Device availability This check mechanism does not inform you on the status of the player. It only states whether or not the player can be reached.
AMX InspiredSignage XPress Features Scheduling XPress offers an intuitive interface that allows the user to associate to any type of XPress content a schedule in the iCalendar format. Using this feature, the user can plan in advance when the content shall be displayed on a specific IS-SPX-1000 player.
AMX InspiredSignage XPress Features Open a schedule Double-click the schedule document (*.ics) to open the Calendar view in the Editing panel. The Calendar view uses the local time settings of your PC. The Calendar view is organized into 4 zones (FIG. 34). Each zone has been highlighted with a different color. Management zone (red): This allows you to change the time frame that will be shown in the Editing zone. You can choose between day, week, month and year.
AMX InspiredSignage XPress Features Clicking on the event allows you to move it. Clicking on the top or bottom of your event allows you to change its duration. 6. The Event zone lets you fine-tune the recurrence properties of your event if needed. Any type of media (animation, video, or image) may be used in a calendar. If you select multiple files in the browsing panel, then all the files will be added one after the other in the calendar according to their default duration (FIG. 37). FIG.
AMX InspiredSignage XPress Features Define default events and recurrences Define a default animation The scheduler allows you to specify a default animation to be displayed when no events have been scheduled to a given date/hour. If no events have been specified, the scheduler tries to open the SVG file calendar_default.svg. If the file is available, then it will be displayed. To create and manage calendar_default.svg: 1. Create a new document using the right-click pop-up menu on the preview panel 2.
AMX InspiredSignage XPress Features Creating a basic recurrence (such as every day, every 2 hours or every week) is fairly straightforward. For instance: For an event repeating every day, select “Pattern repeat every 1 Day”. You have the option of selecting a number of repetitions or the date of the last repetition. For an event repeating every 2 hours, select “Pattern repeat every 2 Hour”. For an event repeating every Monday, select “Pattern repeat every 1 Week”.
AMX InspiredSignage XPress Features A Note About Data Polling Rates When configuring a signage project that polls external server feeds, being aware of sample rates is extremely important. Content providers can and will throttle, temporarily block, or even permanently block client requests if their servers are flooded with requests. This is extremely easy to do with a large-scale project. For example, one player requesting an update on a stock source every ten seconds is probably safe.
AMX InspiredSignage XPress Features 40 AMX InspiredSignage XPress Programming Guide
Remote Control Remote Control Introduction The IS-SPX-1000 has powerful remote control capabilities. You can use the serial port or the IP connection to control the content source, control the playback of animations, video, or audio, and display messages or contextual animations on an external event. Three main methods can be used to control the IS-SPX-1000: Network control. This may be done from a PC, a URL to the this player or from another IS-SPX1000 player. The serial port of the IS-SPX-1000.
Remote Control Remote Control of Content The simplest solution to write content that can be switched remotely is to use the menu_media.svg template in the Interactivity folder in the My Templates Workspace pane. The menu_media.svg file lets you control which media is currently being displayed, depending on the value of a shared variable. (For more information on shared variables, please refer to the Shared Variables section on page 97.) This same template, used together with the menu_buttons.
Remote Control Next, associate the menu document with a variable name. This configuration is done in the Properties section of the XML Tree tab of the template (FIG. 42). FIG. 42 Properties section of the XML Tree tab Whenever the content of this variable is changed by a network or serial port command, the menu will switch to display the media with a matching ID. By default, the first content of the list is displayed. Using the Properties tab, you can select the default transition when switching content.
Remote Control PAUSE: pause playing interactively PLAY: resume playing after a pause You can change the names for those special values in the Interactive Controls property group in the Properties tab (FIG. 44). FIG. 44 Interactive Controls property group Triggering a content switch over IP Modifying the media is done using shared variables. For more information on shared variables, please refer to the Shared Variables section on page 97.
Remote Control terminate the command. This can be tested with the telnet utility, which sends this sequence when you press Enter. The network API also supports setting shared variables via an HTTP GET request. This method does not allow persistent connections, but it is easier to access from a client scripting language supporting the XMLHttpRequest API, such as JavaScript in web browsers.
Remote Control Switching content with the serial port To change the current media via the serial port, you need to do the following: Create a protocol file (.fsm format) describing the actions to be performed depending on the input on the serial port. Upload the protocol file to the IS-SPX-1000 using the Serial Port page of the HTTP configuration interface. Enable the protocol file by selecting it in the protocols drop box.
Remote Control You specify the mapping from key to value in the Key Identifiers tab in the keystroke.svg file (FIG. 46). Key identifiers may be augmented with “modifiers”, so as to match on the key stroke only if some other control key is down at the same time. The valid modifiers are Ctrl, Alt, Shift, AltGr. and Meta. For instance, to match a stroke on “A” while the holding the Control key down, the key identifier is “Ctrl+A”. FIG. 46 Key Identifiers tab In the example (FIG.
Remote Control The example below shows the configuration of the file to control the value of the variable 'menu' located on the remote 192.168.1.10 host (FIG. 48). FIG. 48 Controlling the value of the variable It is also possible to use JavaScript directly to control the value of the shared variables. The sample code below assumes that we want to control the content on 192.168.1.10 by clicking on a rectangle.
Remote Control To resume playback, send the following command: http://192.168.1.10:1234/update?playback=PLAY GET embedded in an HTML page The playback GET method can also be embedded in an HTML page. The example below will let you play and pause the media from a remote web page. You will need to make sure that the web page is stored on a 'trusted' web site. Otherwise, the security settings of many Web browsers might prevent you from using the XML HttpRequest().
Remote Control It is also possible to use a relative position depending on the content duration to control the pause and play time. In this case, the position should be specified in percentages. For instance, to start play at 10% from the start of the media, send the following command: UPDATE "playback" "PLAY 10%" Getting feedback on the playback progress It is possible to activate optional reports that will be sent periodically via shared variables.
Remote Control Remote Triggers Remote triggers let you display some text, video or animation on the IS-SPX-1000 controlled from a remote server. For instance printing a message on all the IS-SPX-1000 of a building or a “GOAL!” message on the screen of the stadium. The same procedure can be used to control which image of video to display from a remote server. There are a choice of techniques to remotely trigger the display of a message, in the form of text, animation, image or video.
Remote Control To trigger the display of an alternative content, set the control variable (default name is “menu”) to the corresponding ID. Once the media has been played, the content will revert to the normal media, which will play again from the beginning. It might be desirable for the main media not to start over each time it is reopened. In this case, two scenarios are possible: The main media resume its playback, as if paused during the alternative content.
Remote Control height="200" fill="blue"> 54 AMX InspiredSignage XPress Programming Guide
Synchronized Content Synchronized Content Introduction A video wall is a set of screens accurately placed to create a single display. Screens may be one next to the other to compose a larger regular area, or they may have irregular positions to create a non-conventional pattern. In all of these cases, a perfect synchronization of the content displayed is required to provide a sense of uniformity, no matter how the screens are placed.
Synchronized Content Designing content for a multiscreen layout To create a multiscreen layout you need to: Choose the layout of your screens. Replace the index of your project by a multiscreen index. Start working on your project. Choosing your screens’ layout To start a multiscreen project: 1. Open the My Projects tab and right-click within the Workspace pane. 2. Select New Project to open the New Project pane (FIG. 52). FIG. 52 New Project pane 3.
Synchronized Content 5. Open the index.svg file and click the Properties tab in the Edit Mode Workspace. In the Screen Aspect Ratio dropdown menu, select the required screen aspect ratio for your project (FIG. 55). FIG. 55 Screen aspect ratio menu 6. If your multiscreen project requires more than the default two array columns and/or rows, change the appropriate numbers in the Array columns and Array rows fields (FIG. 56). FIG. 56 Array columns and Array rows fields 7.
Synchronized Content Editing multiscreen content Once the index file has been created, you can start working on your project in the same way as for a single display project. For instance, you can: Add a background covering all the displayed content. Add playlist over the complete displayed area. Add a video covering one or multiple screen. You can choose to see a global view of your project (Document) or a single screen portion at any time by clicking the Multiscreen layout view button (FIG. 57).
Synchronized Content Configuring XPress and the IS-SPX-1000 Before you can publish your project, you need to configure your IS-SPX-1000 to be ready to receive a multiscreen project. Two operations are needed: The creation of a virtual device in XPress and the configuration of the multiscreen ID of each IS-SPX-1000. Create a virtual device It is possible to create group of devices under the My Devices folder. A project can be published to a single device or to groups of devices.
Synchronized Content 5. This operation need to be performed for each IS-SPX-1000. 6. Once all the Multiscreen IDs have been configured, you are now ready to publish your project. Publish your project to your device To publish your multiscreen project to your group of devices, drag and drop your project folder on top of the folder icon. Each device will be automatically updated and will display the assigned area of the video wall.
Synchronized Content Synchronization In order to be able to display content on multiple displays, the clocks of the IS-SPX-1000 must be synchronized. The synchronization is done using the Network Time Protocol (NTP). Synchronizing devices The NTP protocol uses one or more NTP servers to be able to control the precision of the internal clock. Using the NTP protocol it is possible to reach a precision as good as 1 millisecond. This is more than sufficient to synchronize a video on multiple screens.
Synchronized Content Advanced Configuration Using an IS-SPX-1000 as an NTP server Under certain circumstances, you may want to use an IS-SPX-1000 player as a time server for the other devices in a network: You don't have a local NTP server and want to use public servers. In this case, one IS-SPX-1000 will synchronize to the public servers and the other players will be synchronized to this device. This will provide better accuracy between all the devices.
Synchronized Content FIG. 61 NTP server configuration for slave devices Configuration of the IS-SPX-1000 acting as master: Identify the “master” IS-SPX-1000 that will serve as the NTP server, and configure it as follows through the Browser-Based Configuration Pages: 1. In the Date/Time page, choose NTP Server and write the IP address of as many slave IS-SPX-1000s with static IP addresses as possible in the server textboxes (Server 1, Server 2, etc.) (FIG. 60). 2.
Synchronized Content Multiple levels of NTP hierarchies are strongly discouraged. For large installations, it is more appropriate to invest in a NTP server. Syntax for multiscreen synchronized content The following XML code must be implemented into the index.svg file to create a multiscreen document. Canvas and viewbox concepts A canvas is the complete area physically described by the SVG index file.
Synchronized Content Synchronization elements Two possible techniques are available to ensure a correct synchronization between content on different screens. These include the use of a schedule file, or the usage of an in-line beginning time of a document. The predefined multiscreen templates use the inline begin time strategy. This means that synchronization will be automatic when those templates are used. The iCalendar (.
Synchronized Content Additional syntax for multiscreen content The following two methods are also available to build multiscreen contents: Extension of the SVG element JavaScript MULTI_SCREEN_ID variable Extension of the SVG element The SVG element allows you to conditionally display SVG elements. This is a standard SVG element described in the SVG specification. For the handing of multiscreen content, a proprietary condition has been added.
Synchronized Content Example: Screen layout with an empty border between the screens To obtain a better total effect, you should take into account the space that may remain unusable between the displays, due to the screen frames. In this example, we consider a thickness of 80 pixels for the screen frames. To create the final layout, you must sum the internal borders thickness to the viewBox parameters, both in the (x,y) position and in the (w)idth, (h)eight sizes.
Synchronized Content Example: SVG element The following example shows the use of the standard SVG element to display different contents on a screen based on its screenID (e.g. “left, “right”, “top”, “bottom,” etc.).
Synchronized Content Troubleshooting Synchronized content over multiple screen needs a correct configuration of the IS-SPX-1000 and a welldesigned project to work as expected. In the event that the project is not displaying as desired, the following is a list of parameters to check before contacting AMX Technical Support. NTP Synchronization The content are not synchronized, i.e. one or more screens play their part of media earlier or later than the other displays.
Synchronized Content 7. Once a peer other than loopback is selected, leave the device running for at least 70 minutes without rebooting. 8. After 70 minutes, the local clock should be calibrated. Reboot the device from the Browser-Based Configuration Pages. Do NOT unplug the device before rebooting.
Interactivity Interactivity Introduction In addition to static control of displays through an IS-SPX-1000, AMX InspiredSignage XPress allows interactivity between the device and an end user. With the use of AMX touch screens and other touch-enabled displays, you can create interactive banners, menus, and other presentations that encourage user involvement.
Interactivity The names of the files in the Interactivity folder may be changed and the file will still function normally in XPress. However, make sure either to use intuitive names for each file, or document the name changes and keep the information in a safe place. If the names of SVG files are changed, it can be difficult to ascertain their function later. Creating a touch screen menu Now, let’s begin with creating a basic touch screen menu.
Interactivity 4. Buttons can be made from images, text, SVG files, or even videos. From the folder in My Templates, open the Cliparts folder and then the Arrows folder. Drag and drop the E Red.svg file over the button in your project (FIG. 65). FIG. 65 Arrow on button 5. Click on the menu_button.svg file and add an action ID to the button (FIG. 66). The default in this case is P1, but the Action ID may be any name, so long as it is unique to this project. In this case, enter One. FIG.
Interactivity Controlling media Now that the basic media files have been added, we need to add a way to control them. To start, from the Interactivity folder, drag and drop the menu_media.svg file into your project. 1. For this project, open the Cliparts folder in the My Templates tab of the Workspace, and select E Green.svg. 2. Add your media files to the project. Again, these can be image, video or SVG files.
Interactivity Testing the project Now, enable the Interactivity Mode in XPress. This is done by clicking the Enable Interactive Mode button in the Animation Controls navigation bar (FIG. 69). Enable Interactive Mode button FIG. 69 Animation Controls navigation bar By enabling Interactive Mode, you cannot edit anything within the project until you leave it. At this point, mouse and keyboard actions are sent to the project. Click the button again to enable editing (FIG. 70). FIG.
Interactivity 4. The media file with the corresponding Action ID is now enabled. In Interactive Mode, clicking on the small button should change the color of the larger arrow. Creating a keyboard menu Keyboard menus offer an additional level of interactivity, as these allow particular keys on a keyboard or remote control to select a particular menu entry. As with other menus, selecting a menu entry triggers a media file.
Interactivity 5. In the Edit Mode Workspace, click the Menu tab. Note that along with the Action ID field, each button now has fields for Left, Right, Up, and Down (FIG. 75). FIG. 75 Button Action IDs 6. Add an Action ID to each button. This may be any letter or number combination, but should be unique to the button. 7. Configure the display order. By default, the next and previous actions are defined, but the actions for Left, Right, Up, and Down may be configured at this time as well.
Interactivity 3. Click the arrows next to each of the main categories to expand them (FIG. 77). FIG. 77 Properties tab - expanded In this instance, let’s consider changing the features of the menu itself. Each button in the menu is currently surrounded with a black border and a clear background, which doesn’t stand out in front of the black main background. Under the Properties tab: 1. Under Highlight, double-click the field next to Color to open the Color Selection pane (FIG. 78).
Interactivity 2. Pick a pleasing but contrasting color. This may be done by clicking on the color wheel, or using the Eyedropper tool to select a comparable color from another element in the project. If you know the exact color you want, you can enter the RGB values in the Red, Green, and Blue fields, or enter the hexadecimal value in the Color name field. For this project, enter #00BC00 into the Color Name field and click OK (FIG. 79). FIG.
Interactivity Controlling the menu Controlling the menu requires the use of shared variables. These shared variables may be used to exchange information between SVG files, and may also be used to exchange information through an entire network. For more information on shared variables, please refer to the Shared Variables section on page 97. For this exercise, three variables are used for menu control: Menu selected: This variable affects the file changed when an item is selected.
Interactivity Keystrokes By default, menus are controlled by a shared variable. In order to control a menu through a keyboard, you need to be able to map a key to a particular action. For instance, mapping the arrow keys on a keyboard might allow users to move through entries on a menu, or particular menu shortcuts might be mapped to a specific character key. To map keys to an action: 1. From the Interactivity folder of the My Templates tab, drag the file keystroke.
Interactivity Controlling media Now that the keystrokes are mapped, the next step is to connect them to actual functions. To do so: 1. From the Interactivity folder in the My Templates tab, drag and drop the menu_media.svg file into the Keyboard Menu project. 2. Add your media files to the project, as layers in the index.svg file. These may be images, video files, or SVG files. The first one added is the default media file: once another media file has finished playing, the project returns to the default.
Interactivity Besides standard button effects, other button effects may be utilized with the help of keystroke mapping. For instance, you could use a keyboard to change a particular displayed text using the news templates, or to play and pause a video file. Network configuration options also offer other possibilities, For instance, a project could be constructed with a displayed menu running on one IS-SPX-1000 player and video or other media files running on another.
Interactivity Playback projects In some circumstances, you may want to use XPress to create media player-like applications. This may include the ability to run introductory videos in an exposition display, or running a video file to augment a particular operation on a keyboard menu. Creating a playback project involves three major steps: Controlling the play/pause mode of a media file, using the playback.svg file. Controlling menu buttons (play, stop, pause, etc.), using the menu_button.svg file.
Interactivity 5. Double-click on the playback.svg file to open it (FIG. 88). FIG. 88 Playback.svg - Edit Mode Workspace 6. Click on the Optional Reports arrow in the Edit Mode Workspace to open it (FIG. 89). FIG. 89 Optional Reports section 7. The commands supported by the playback.
Interactivity Example: Media player For this exercise, you will gather together four different elements: Playback control with a media file. A menu for the control buttons. A slider to show the media file progress. Keystroke mapping for keyboard shortcuts. To begin: 1. In the Playback project, double-click on the playback.svg file to open it (FIG. 90). FIG. 90 Playback.svg details 2. Drag and drop a media file into the Workspace.
Interactivity 5. Add the slider.svg file to the project and place it near the bottom of the Workspace (FIG. 92). FIG. 92 Slider.svg placement 6. Double-click the slider.svg file and view its properties (FIG. 93). Make any changes you wish to the color or the text and click the Save button to save your changes. FIG. 93 Slider.svg properties 7. Add menu buttons (as in the Creating buttons section on page 72), configure the settings on the menu with the playback.
Interactivity IS-SPX-1000 configuration In order to run interactive projects, the IS-SPX-1000 must be configured to run them. This requires access to the player’s Browser-Based Configuration Pages. For more information on the Browser-Based Configuration Pages, please refer to the IS-SPX-1000 Operation Reference Guide, available at www.amx.com. To start, events must be enabled on the IS-SPX-1000. To do this: 1. From the Browser-Based Configuration Pages, select Display Settings. 2.
Interactivity 6. If you wish to calibrate the touchscreen at this time, please refer to the Calibration for touch screens section on page 90. 7. Next, select Administration > Network Settings in the Browser-Based Configuration Pages. 8. Click on the Advanced tab (FIG. 96). FIG. 96 Advanced tab 9. By default, the Network API port is disabled on the IS-SPX-1000. Click the Enable API server checkbox and then click Apply. 10.
Interactivity Calibration for touch screens From time to time, the touch screen associated with an IS-SPX-1000 may need calibration to assure proper function. This may be done both through the player, or through the particular touch screen. Calibration of a touchscreen through the IS-SPX-1000 Calibration of a connected touchscreen may be done directly from the IS-SPX-1000. To start calibration: 1. In the IS-SPX-1000’s Browser-Based Configuration Pages, select Administration > Display Settings. 2.
Interactivity Manual calibration procedure For manual calibration of a touchscreen: 1. Press on the screen to start. 2. Click on the crosshairs as they are presented. 3. Click on the screen to apply the configuration. 4. Once finished with calibration, the normal display will start again. Troubleshooting When calibrating a touchscreen through the IS-SPX-1000: The user interface must NOT be password protected. Input events must be enabled.
Interactivity 92 AMX InspiredSignage XPress Programming Guide
Serial Protocol File Editor Serial Protocol File Editor Introduction The AMX Serial Protocol Editor allows users to create and edit serial protocol files that are compatible with the AMX InspiredSignage Xpress range of players. These files facilitate the usage of human-readable commands to be translated into RS232 commands which are then sent to attached devices. The AMX Serial Protocol Editor is available for use at www.amx.com.
Serial Protocol File Editor Adding a List Variable Clicking Add Variable will display the New Variable pane (FIG. 100). Within this pane, enter a Variable Name, then select List. To proceed, click Next. FIG. 100 New variable pane Shared variables take the format amx:control:[TARGET]:[VARIABLE]. The combination of Target and Variable is used when creating the shared variable to create the human readable format of the commands.
Serial Protocol File Editor Adding a Range Variable As with adding a List variable, clicking Add Variable will display the New Variable pane. Within this pane, you must enter a Variable Name, then select Range. Selecting Range causes the From and To fields to appear (FIG. 102), where you can enter the lower and upper limit of this variable. Clicking Next will again take you to the Edit Variable page. FIG.
Serial Protocol File Editor Exporting the finished file When you have completed your variable lists, make sure to click Save Command with the last variable, and then click Finish to save your list. This both shows the variable list and enables the ability to export the list as a file usable by the IS-SPX-1000 (FIG. 104). FIG. 104 Variable List with Export link To save the file as an FSM file, click Export XPress File and select Save File.
Shared Variables Shared Variables Introduction The IS-SPX-1000 introduces a new mechanism called “shared variables”. This mechanism is based on a client/server model whereby a server maintains a collection of variables. The value of the variables may be updated at any time. When needed, one or more clients connect to the server to get the current value of the variables. The client can further elect to receive real-time notification when the value of those variables is updated.
Shared Variables A local variable will be stored in a non-persistent manner on the IS-SPX-1000. This means that a reboot of the IS-SPX-1000 will reset all shared variables to empty values. Local variables can be accessed from remote clients only when the network API of the player is enabled. To connect to a remote variable, the name parameter must contain the variable name followed by '@' and the hostname of the variable server.
Shared Variables Network API Framing The network protocol for the distribution of notifications is based on a stream of variable length commands sent over a TCP socket. Individual commands are separated by the \r\n (0x0D 0x0A) two-byte sequence. This sequence should not happen inside the command. When string parameters are used, they are put between double quotes. Special characters should be escaped, in a manner similar to C-string constants, with a backslash sequence.
Shared Variables Network API Commands (Cont.) EVENT Syntax: EVENT [timestamp] “name” “value”\r\n Used to send or receive UI events. The timestamp is optional. The name must be one of the UI trigger names: • “keydown”, “keyup”: the value is an SVG key identifier, e.g. “Enter”, a character, e.g. “A” or an hexadecimal unicode character, e.g. “U+0041”; it may be prefixed by one or more of the following modifiers: “Ctrl+”, “Shift+”, “Alt+”, “Meta+”, “AltGr+”, e.g. “Shift+A”.
Shared Variables Sample Code Updating a variable using PHP function send_update( $host, $port, $name, $value ) { $s=fsockopen( $host, $port ); fwrite( $s, “UPDATE \”$name\" \"$value\"\r\n" ); fclose( $s ); } Note: this simplified example does not handle the escaping of control characters. Sending an event using PHP Sending a keydown event for the key 'V' with control modifier pressed.
Shared Variables Enabling the network API The network API must be enabled on the IS-SPX-1000 before it can be utilized. This setting is controlled from the IS-SPX-1000 Browser-Based Configuration Pages (FIG. 105): Click the box and then click “Apply” FIG. 105 Enabling the Network API For more information on the Browser-Based Configuration Pages, please refer to the IS-SPX-1000 Operation Reference Guide, available at www.amx.com.
Appendix A - Serial Control Appendix A - Serial Control Introduction This appendix will assist with showing you how to update both the IS-SPX-1000 and an existing AMX InspiredSignage XPress project to include serial control through the XPress project. Serial Control From Within an Existing InspiredSignage Project For this project, you will create an example of serial control through an existing XPress project. In this case, control is through the XPress project and not via NetLinx through the IS-SPX-1000.
Appendix A - Serial Control While creating a variable list through the Serial Protocol File Editor, do NOT leave the page for any reason until you save your information. If you do so, all previously entered information will be lost.
Appendix A - Serial Control To create the Power variable: 1. After entering the Manufacturer, Model, and Target information, select Add Variable to open the New Variable panel (FIG. 108). FIG. 108 New Variable panel 2. In the Variable Name field, enter the variable’s name. In this case, enter “power”. 3. From the Type radio buttons:, select List and then press the Next button. If you press Next without entering a variable name, the page will display “Invalid Command Name”. 4.
Appendix A - Serial Control 5. Below the Command Name and Command Text fields are 33 buttons, signifying common commands. Depending upon whether you selected Text or Hex, clicking any of these buttons will enter the appropriate command text into the Command Text field.
Appendix A - Serial Control 8. Enter the information for the Volume Control variable, clicking Next to open the next set of entry fields. When finished, click Save Command. Volume Control Variable Enter Variable Name: volume Select Type: Range Enter From: 0 Enter To: 100 Variable as Text: kf 00 #value#$0D; Variable as Hex: 6b6620303020#value#0D 9.
Appendix A - Serial Control Select Input Source for Display Enter Variable Name: inputselect Select Type: List: • AV1 • Component • RGB-PC • HDMI1 • HDMI2 • HDMI3 • HDMI4 Command Name: AV1 Variable as Text: xb 00 20$0D; Variable as Hex: 78622030302032300D Command Name: Component Variable as Text: xb 00 40$0D; Variable as Hex: 78622030302034300D Command Name: RGB-PC Variable as Text: xb 00 60$0D; Variable as Hex: 78622030302036300D Command Name: HDMI1 Variable as Text: xb 00 90$0D;
Appendix A - Serial Control Uploading the serial protocol file At this point, you need to upload the file to the IS-SPX-1000 that will be controlling the monitor in question. This will require access to the IS-SPX-1000’s Browser-Based Configuration Pages. To upload the file: 1. Under the Administration section, select RS232 / USB IO. 2. Under Upload Protocol File, enter the path for the desired serial protocol file. If necessary, click Browse to find the file. 3.
Appendix A - Serial Control 2. Open the Serial Port template folder. In the Serial Port folder, click on the power.svg file to open it (FIG. 114). FIG. 114 Power.svg file 3. Right-click the power.svg file and copy it. Open your project folder in XPress and paste it in the project window. 4. Right-click the new file and rename it PowerOn.svg. 5. Repeat steps 2 through 4 to create PowerOff.svg in the same project. 6. Click the XML Tree tab (FIG. 114) in PowerOn.svg to open the XML command tree. 7.
Appendix A - Serial Control 8. Right-click the header and select Add attribute. Name the attribute “param1” and press Enter to save it (FIG. 115). FIG. 115 XML Tree with new attribute param1 9. For PowerOn.svg, click on command and then select the attribute to the right (currently “PowerOn”). Change the command to power and press Enter to save it. 10. Click on target and change it to monitor. 11. Click on param1 and enter On. 12. Repeat steps 6 through 11 for PowerOff.svg.
Appendix A - Serial Control 4. Click on the PowerOn.svg file and drag it to the date you want the power to turn on (FIG. 116). FIG. 116 new.ics file 5. Set the From time to the desired time you want the monitor power to turn on. 6. Set the To time to one minute after the From time. 7. Click the Repeat checkbox so this event will happen every day. 8. Click and drag PowerOff.svg to the current day in the calendar. 9. Set the From and To times as in steps 5 through 7, including clicking the Repeat checkbox.
Appendix A - Serial Control Serial Control From NetLinx Serial control in NetLinx is roughly similar to serial control within an XPress project, in that the target parameter used when defining the serial protocol file is also used in the Send_String command. It is the value that follows “amx:control:” in the command line. The example below uses a target of "monitor".
Appendix B - Commonly Used Terms Appendix B - Commonly Used Terms FSM The .fsm extension on files generated by the Serial Protocol File Editor (for more information, please refer to the Serial Protocol File Editor section on page 93) refers to Finite State Machine. A Finite State Machine is a behavior model composed of a finite number of states, as well as transitions between those states and actions, similar to a flow graph in which one can inspect the way logic runs when certain conditions are met.
Appendix C - Adding Additional Templates to AMX InspiredSignage XPress Appendix C - Adding Additional Templates to AMX InspiredSignage XPress While AMX InspiredSignage XPress contains many pre-loaded templates for building XPress projects, many others are available for download at www.amx.com. These include templates for multiscreen content (please reference the Synchronized Content section on page 55) and interactivity (please reference the Interactivity section on page 71).
Appendix C - Adding Additional Templates to AMX InspiredSignage XPress 116 AMX InspiredSignage XPress Programming Guide
AMX InspiredSignage XPress Programming AMX InspiredSignage XPress Programming Guide 117
In the ever-changing AV industry, continual education is key to success. AMX University is dedicated to ensuring that you have the opportunity to gather the information and experience you need to deliver strong AMX solutions. Plus, AMX courses also help you earn CEDIA, NSCA, InfoComm, and AMX continuing education units (CEUs).