programming guideCResTron Driver v4for Autonomic Music Streamerscompatible withmms·5amms·2amms·1e OS 3.3 2006–2017 Autonomic Controls, Inc. Autonomic and TuneBridge are registered trademarks of Autonomic Controls, Inc.All other trademarks are property of their respective owners.081117

Autonomic Programming Guide 2 of 17OverviewThis document describes how to integrate the Autonomic Controls MMS into aCrestron control system. This guide assumes that the MMS is set up on a networkand can be accessed and controlled from a computer on that network.For instructions on setting up the MMS, please refer to that documentation.This module allows for control of all functions of the MMS via an IP connectionfrom the Crestron processor to the MMS. This module will also receive feedbackfrom the module via that connection, including all browsing data, metadata,album art, and interactive prompts when user input is required. Use a copy ofthis module and the corresponding TCP/IP client per output to control to controlmultiple outlets of the

Autonomic Programming Guide 3 of 17Setting up the MMS for Crestron ControlREQUIREMENTSThe MMS module requires a Crestron 2 or 3 series control processor. In order tobrowse content by album cover and see now playing art, any touchpanels intendedfor this purpose must be able to display dynamic graphics and have an IP addresson the same network as the MMS. Visit to determine whichtouchpanels support these features.If a touchpanel does not support dynamic graphics or is not IP connected, it can stillcontrol the server and receive feedback from it. However, only text feedback willoperate.PREPARATIONDownload the Crestron control module from the MMS product support tab, or from downloads.php.The control module downloads with several sample programs and a number oftouchpanel resolutions. There are resolutions available in common touchpanel resolutions, including Mobile G phone and tablet sizes. Pages from these templates canbe copied directly into a custom interface or used as a basis for such an interface.Once the module zip file has been downloaded, unzip it to an easy to find location.It contains the sample programs (PRO2 XPanel, PRO2 Mobile G, AES XPanel, MC3XPanel) as well as a Crosspoint example program, using a PRO2 with an XPaneland a Mobile G interface. Any of the sample programs can be imported into SIMPLWindows to import all necessary files into your database. However, the importantmodule files are as follows:1. Autonomic MMS v3.2.umc This is the main module. It wraps all sub-modulesand SIMPL code into a cohesive, usable set of inputs and outputs for easyintegration.2. Autonomic MMS IP Processor v3.1.usp This is where the majority of our logicexists. It is a SIMPL module.3. Autonomic MMS Keyboard Controller v3.0.usp This is our keyboard controller. Ithandles text input for various functions of the server and module.4. Autonomic MMS Alpha Search v3.0.umc This module exists internally in the mainmodule, and handles browsing by

Autonomic Programming Guide 4 of 17PROGRAMMING THE CRESTRON CONTROL SYSTEMIn order to verify that the MMS is operating properly and to reduce the numberof variables during the first integration, Autonomic Controls strongly recommends that one of the included sample programs is loaded to a processor for thepurposes of familiarization. More in depth integration will be easier after this isdone.The first step is to open one of the sample programs in SIMPL Windows andmodify the IP address of the TCP/IP Client and the MMS Source parameter of themain module.CHANGING THE PROCESSOR TYPEIn SIMPL Windows, open the System View by clicking on the configure icon in thetoolbar.The sample program has a processor already selected (PRO2, AES, or MC3), butit can be changed to any 2 or 3 series processor. If necessary, change it to theprocessor in use by right-clicking the processor and selecting Replace

Autonomic Programming Guide 5 of 17CONFIGURING THE MEDIA SERVER IP ADDRESSExpand the Ethernet card device in the system tree (in the case of the PRO2,the C2ENET-1 or C2ENET-2). Double click on the IP-ID assigned to the TCP/IPclient intended for the MMS. Change the IP address in the subsequent windowsto match the IP address of the MMS in question. Autonomic Controls stronglyrecommends that the MMS either be configured with a static IP or that the routeris configured with a DHCP reservation for the MMS such that it always receivesthe same IP address from the router’s DHCP

Autonomic Programming Guide 6 of 17CONFIGURING THE IP COMMUNICATIONS PORT NUMBERAn IP port is a communications “channel” that two devices use to communicatewith each other. An MMS uses the inbound port 5004 for IP communications withcontrol clients. Multiple clients can be connected to this port at any given time.The server can distinguish one client from another. If the fully integrated systemintends to control multiple outputs, these TCP/IP clients should all be identicalexcept for their IP-IDs.In SIMPL Windows, switch back to the Program View. Open the program tree andselect the Ethernet slot, and then open the TCP/IP client symbol configured withthe MMS’s IP address. Ensure that its ‘Port’ parameter is set to

Autonomic Programming Guide 7 of 17Signal SpecificationsINPUTSSignal NameSignal TypeSignal DescriptionConnectDigitalInitiates TCP/IP connection while signal is high.High/1: Connect, Low/0: Disconnect (LevelSensitive). Drive this with panel activity ordevice selection logic (Crosspoint)Command SerialInput for direct command stringsRX SerialReceive serial data from TCP/IP clientStatusAnalogAnalog status input from TCP/IP clientEvents EnabledDigitalEnables asynchronous messages from server toTCP/IP client. High/1: Enable, Low/0: Disable(Level Sensitive).Browse {#}DigitalInitiates browse command for media types(determined by context) on a rising edge.Browse {Category}DigitalInitiates browsing the given category on arising edge.CurrentList AddQueueDigitalAdds the currently listed media to the playbackqueue on a rising edge.CurrentList PlayNowDigitalAdds the currently listed media to the playbackqueue and begins playback immediately on arising edge.PlayPauseDigitalToggles the play state on a rising edge. Usethis signal if there is a single button for Playand Pause on the interface.PlayDigitalSends a play command on a rising edge. Usethis if there is a discrete play button in theinterface.PauseDigitalSends a pause command on a rising edge. Usethis if there is a discrete pause button in theinterface.StopDigitalSends a stop command on a rising edge.Skip NextDigitalAdvance to the next track in the queue on arising edge. In SiriusXM, this will tune to thenext station by station number.Skip PrevDigitalBacktracks to the previous track in the queueon a rising edge. In SiriusXM, this will tune tothe previous station by station number.Seek BackDigitalSeek back through the current track in5-second increments while high. If held high,this will repeat until the beginning of thetrack.Seek ForwardDigitalSeek forward through the current track in5-second increments while high. If held high,this will repeat until the end of the track.Shuffle ToggleDigitalToggle shuffle state on a rising

Autonomic Programming Guide 8 of 17Repeat ToggleDigitalToggle repeat state on a rising edge.Scrobble ToggleDigitalToggle scrobble state on a rising edge. Scrobblingis only available if the MMS has LastFMcredentialsPageFlip * From TPDigitalReceives page flip presses from interface andexecutes page logic on a rising edge.PageFlip KBDigitalDisplays the keyboard on a rising edge.PageFlip KB OffDigitalSuppresses the keyboard on a rising edge.SavePlaylistDigitalDiscrete command to save the current queue asa playlist. Function also available via contextualbuttons.SearchDigitalDiscrete command to search currently browsedmedia. Function also available via contextualbuttons.Clear QueueDigitalDiscrete command to remove all songs from theplayback queue and stop playback. Function alsoavailable via contextual buttons.ZonesDigitalDiscrete command to initiate browsing of zonesavailable to MCS. Function also available viacontextual buttons.ActionsDigitalDiscrete command to bring up action list forcurrently playing media. Function also availablevia contextual buttons.Browse FavoritesDigitalInitiates browsing the server’s favorites on a risingedge.Previous PageDigitalBrowse previous number of list items.Next PageDigitalBrowse next number of list items.Go BackDigitalInitiate last browse command in browse history.HomeDigitalBrowse to top of listEndDigitalBrowse to end of listScrollbar PositionAnalogSend an analog value (0-65535) to scroll throughlist of media.Direct VolumeAnalogSet the volume of current instance directly (0-50).Volume UpDigitalIncrement volume of current instanceVolume DownDigitalDecrement volume of current instanceUpDigitalIR emulation Remote Up button.DownDigitalIR emulation Remote Down button.LeftDigitalIR emulation Remote Left button.RightDigitalIR emulation Remote Right button.SelectDigitalIR emulation Select/Ok button.Thumbs UpDigitalThumbs Up function. This will have a slightlydifferent response depending on which radioservice is in

Autonomic Programming Guide 9 of 17Thumbs DownDigitalThumbs Down function. This will have a slightlydifferent response depending on which radioservice is in use.Dialog ButtonDigitalSelect buttons for user prompts from interface.Art Error MonitorAnalogAnalog from Dynamic Graphic objects’ errorjoin for list items. Tracks value of analog andrepropagates album art URL’s as needed.Title SelectDigitalPulse to select the corresponding title in a list.Title AddToPlaylistDigitalPulse to select the corresponding title in a list andadd to the playback queue.Title PlayNowDigitalPulse to select the corresponding title in a list andplay back title immediately.Alpha Search UpDigitalJump to first letter feature: scroll down alphabet.Alpha Search DownDigitalJump to first letter feature: scroll up alphabet.Context ButtonDigitalPulse to send command for contextual buttons.Buttons 1-4 are multi-function based on currentstate of MCS.Button 1: Actions when on Now Playing page,Page Flip to Now Playing page when not on theNow Playing page, blank if on Now Playingpage but no media is playing.Button 2: Save Playlist when browsing the Queueand there is media in the Queue, blank whenbrowsing the Queue but the queue is empty,otherwise Zones.Button 3: Search when browsing media that issearchable, Clear Queue when on Now Playing orBrowsing the Queue, otherwise blank.Button 4: Controls when not on the Remotepage, otherwise blank.Enable Debuggingautonomic-controls.comDigitalOutputs verbose debugging messages to thedebugger while high. High/1 Enable, Low/0Disable (level sensitive)

Autonomic Programming Guide 10 of 17OUTPUTSSignal NameSignal TypeSignal DescriptionTo IP ConnectDigitalConnection signal to TCP/IP Connectinput.IP Status Text SerialTCP/IP Client connection status message.TX SerialSend serial data to TCP/IP clientList Position SerialOutputs current position in a list.List Caption SerialOutputs title of currently browsed list.TrackLength fb SerialLength in minutes:seconds of thecurrently playing track.TrackTime fb SerialProgress in minutes:seconds of thecurrently playing track.TrackNumber fb SerialThe number of the currently playingtrack in the playback queue.Current Media TypeAnalogAnalog value indicating the type ofmedia that is currently being browsed.Browse Buttons ModeAnalogAnalog value that determines the formatof the browse buttons based on theMMS Configuration. 0 WindowsMedia Center, 1 Windows MediaPlayer and iTunes (music only)Service Logo fbAnalogFeedback for the current radio servicelogo. 1 LastFM, 2 Pandora, 3 SiriusXM, 4 Rhapsody, 5 Spotify, 6 TuneIn, 7 none/local contentStars fbAnalogFeedback for the current Stars value (forRhapsody ratings). 0d-5dTransport fbAnalogFeedback for the current state of thetransport. 0 Stop, 1 Play, 2 Pause,3 Forward, 4 Rewind.Current Track Progress fbAnalogProgress of the currently playing mediain an analog value (0-65535). For usewith a gauge or slider.Play fbDigitalFeedback for play state. 0 not playing,1 playing.Pause fbDigitalFeedback for pause state. 0 notpaused, 1 paused.Stop fbDigitalFeedback for stop state. 0 notstopped, 1 stopped.Shuffle fbAnalogFeedback for state of Shuffle mode. 0 off, 1 on.Repeat fbAnalogFeedback for state of Repeat mode. 0 off, 1

Autonomic Programming Guide 11 of 17LastFM Scrobble fbAnalogFeedback for state of Scrobble mode.0 off, 1 onPageFlip * To TPDigitalSignals to drive appropriate subpageson interface.Display DPad To TPDigitalSignal to drive D Pad subpage (forsmaller format panels)Search EnabledDigitalHigh/1 if currently browsed media issearchable.Alpha EnabledDigitalHigh/1 if currently browsed media issearchable by first letterChapters ButtonDigitalHigh/1 if current media title haschapters availableDialog EnabledDigitalHigh/1 if MCS requires a dialog boxfor user input.Actions EnabledAnalogHigh/1 currently playing media hasactions associated with it.Prev EnabledAnalogIn list browsing 1 if there is previousmedia in the list. Use to enable/disable Previous page button oninterface.Next EnabledAnalogIn list browsing 1 if there is moremedia in the list. Use to enable/disable Next page button oninterface.Back EnabledAnalogHigh/1 if there is browse commandsavailable in browse history. Useto enable/disable Back button oninterface.Scroll EnabledAnalogHigh/1 if list contains more items thannumber that can be displayed. Use toenable/disable scrollbar, Next/Prevpage buttons on interface.ThumbsUp EnabledAnalogEquals 1 if Thumbs Up buttonavailable (for Pandora, LastFM, andRhapsody).ThumbsDown EnabledAnalogEquals 1 if Thumbs Down buttonavailable (for Pandora, LastFM, andRhapsody)ScrollBar fbAnalogValue for current position in list.Volume fb ScaledAnalogVolume level for current instance(0-50).Mute fbAnalogFeedback for current mute status. 1 Muted, 0 unmuted.Now Playing Art SerialURL for Now Playing Artwork.Connect to dynamic graphics join.Angled artwork with

Autonomic Programming Guide 12 of 17Now Playing Art Small SerialURL for smaller size Now PlayingArtwork. Use for smaller resolutionpanels. Angled artwork with reflection.Now Playing Thumb SerialURL for Now Playing Artwork. Use forsmaller resolution files. Flat artwork noreflection.Now Playing Thumb Full SerialURL for Now Playing Artwork. Usesheight/width parameters in moduleparameters. Flat artwork no reflection.Browse Art SerialURL for details artwork.Browse Art FormatAnalogDetermines format of artwork for details.MetaData{#} SerialDetermines format of artwork for details.playing media.MetaLabel{#} SerialContextual meta data labels for currentlyplaying media.MediaInfo{#} SerialContextual information data on currentlyplaying media.Dialog ButtonsAnalogOutputs number of dialog buttonsneeded to be displayed by MCS.Dialog Caption SerialTitle of Dialog box.Dialog Text SerialInstructions for Dialog box.Dialog Default Text SerialText to display in text field by defaultwhen dialog with keyboard entry isinvoked.Button Text {#} SerialLabels for each of 3 dialog box responsebuttons.List AlbumArt {#} SerialURL for artwork for corresponding listitem.Title Enabled {#}AnalogFeedback if particular list field is enabled.(1 enable list field to display media, 0disable list field to reflect no media ie. Atend of list).Title Text {#} SerialText to display for each correspondinglist item.List SubText {#} SerialSub Text to display for eachcorresponding list item.Display Alpha IndexDigitalDrives search by first letter display whenused.Alpha Index Letter SerialFeedback showing current letter whensearching by first letter.Context Button {#} SerialText label for contextual buttons. Outputof each corresponding signal reflectsfunction as outlined in the Inputs section.RefreshDigitalPulsed high when MCS requires atouchpanel refresh. Connect to anEthernet Offline Manager refresh inputor Poll Manager update request for

Autonomic Programming Guide 13 of 17PARAMETERSThe MMS module has six configurable parameters.List Items6dThumbnails6dMMS SourceDigitalArt Style3DMaxiumum Art Height280dMaximum Art Width240dList Items – This tells the module how many list items appear on the interface at a giventime. If the list view is modified, set this number to the number of list items in that list.This value does not need to be changed for the sample programs.Thumbnails – This parameter specifies how many thumbnails appear on the interface ata given time. If the thumbnail list view is modified, set this number to the number of listitems in that list. This value does not need to be changed for the sample programs.Art Style – This dropdown parameter defines the style of the Now Playing art. Flat is asimple flat image, while 3D is a slightly angled, reflected image.MMS Source – This dropdown parameter defines the default MMS output to connect to.This is highly useful if connecting to a specific output and if controlling multiple outputsat the same time from multiple modules. Each module would specify a different outputto control.Maximum Art Height & Width – This allows the size of the Now Playing art to beconfigured to maximize the picture quality for variously sized touchpanels. Thesedimensions should match the size of the Now Playing art dynamic graphic object on theinterface in question.At this point, all parameters, inputs, and outputs should be configured appropriately.Upload the program to the processor in the same way any other SIMPL program wouldbe

Autonomic Programming Guide 14 of 17CONFIGURE THE TOUCH PANELSIf testing is being done with a physical touchpanel, add that touchpanel to the sampleprogram in use, and copy the digital, analog, and serial joins to it from the XPanelsymbol. If testing is being done with the XPanel application, there is no need to modifythe sample program further.Additionally, there must be some logic to drive the Connect input on the MMS module.For testing purposes, it is acceptable to set this signal to 1. However Autonomic Controlsstrongly recommends driving this signal with touchpanel activity logic or in use logicfrom a Crosspoint symbol in the created finished program.CONFIGURING THE VT-PRO FILESThis section will assist in configuring the XPanel projects for EXE consumption. If theproject has been modified to use a physical touchpanel, no further configuration isrequired, the VT-Pro project can be uploaded to that panel.Open the VT-Pro file suitable for the integration. Sample interfaces are alreadyconfigured for EXE XPanel use. Only the IP of the processor must be configured. Selectthe Edit menu, and then select Properties. On the subsequent window, on the Compiletab, ensure the Target mode is Executable –

Autonomic Programming Guide 15 of 17Then, under the Web tab, ensure the Control System IP and the e-control Gateway InfoIP are both set to the IP of the processor.Click OK to close the Properties window. To compile the project, open the File menu,then select Compile. An EXE will be generated in a folder in the same directory as theVT-Pro project. Run that EXE to interface with the

Autonomic Programming Guide 16 of 17The sample XPanel programs use the Offline signal on the XPanel’s Ethernet OfflineManager through a NOT (to generate an Online signal as opposed to an Offline signal).This Online signal is tied to the Connect input on the MMS module, driving it highwhenever the XPanel is online. If everything is configured properly, the XPanel willdisplay the interface for the

Autonomic Programming Guide 17 of 17TroubleshootingCANNOT ESTABLISH A CONNECTION WITH THE MMS Is the server accessible and controllable via a web browser?Try http:// server-ip /Mirage for control and http:// server-ip /config for configuration,where server-ip is the IP address of the MMS (e.g. andhttp:// Can the Crestron processor ping the MMS? Open text console and type‘ping server-ip ’ where server-ip is the IP of the MMS (e.g. ping It willrespond with an alive or dead notification. Is the Connect input on the module being held high or only pulsed? It does need to be heldhigh for the duration of control. Ensure the IP table is properly populated on the Crestron processor in Toolbox. Does the issue persist with our sample program and interface?NO ALBUM ART IS DISPLAYED Does the issue persist with our sample program and interface? Use the URL found as the value of the Now Playing Art signal in a web browser. If theart works in the browser but not on the touchpanel, there is a route issue between thetouchpanel and the MMS. Is there an HTTP route from the touchpanel to the MMS? If programming remotely, it isunlikely that an XPanel will have access through the job site’s firewall. Art is retrieved overport 80.Technical SupportIf you require further assistance with configuring the Crestron Driver Suite Version 4 forthe Autonomic Music Streamer, please contact Technical Support at(866) 838-5052, or email [email protected] You can also visit the AutonomicKnowledge base ( for troubleshootinginformation and access to submitting a support

and a Mobile G interface. Any of the sample programs can be imported into SIMPL Windows to import all necessary files into your database. However, the important module files are as follows: 1. Autonomic MMS v3.2.umc This is the main module. It wraps all sub-modules and SIMPL code into