TRadio Application
From Tallus LLC Wiki
Contents |
About
The TRadio application device driver provides Sirius, XM and HDRadio device control for CQC and MainLobby3 Server.
TRadio is a stand alone application that integrates with both MLServer from Cinemar and CQC's home automation software server.
The TRadio works initially with Sirius and HDRadio hardware. XM Radio support has been added but not yet thoroughly tested.
When TRadio launches, the enabled radios will be connected. Once connected, the radios will send their updates to TRadio. In the case of HDRadio, only the current playing song on the current selected channel will be updated. In the case of Sirius and XM, all channels will be updated. Because of the amount of channels, Sirius and XM radios can take a few minutes to completely populate. If you select a given channel, that channel should update quickly.
TRadio also keeps a history of the last 10 songs played in case you would like to see what the song that "just" played is, and / or purchase that song through an Amazon account.
If a HA Server is enabled, then those channel updates will be sent to that HA system as new variables that can be displayed in the HA system.
Sample User Interface for TRadio (included) Allows for selection of radio type (Sirius / XM / HDRadio), Lyric lookup, Purchase of current playing and last 10 playing songs.
Sirius Description
Sirius radio is a subscription based satellite radio service. Several Sirius hardware radios are supported. To connect the radio to your PC, a special adapter cable is required, which is available from Tallus.
How to connect your Sirius radio hardware:
Sirius Radio DIN connection <> Sirius adapter cable <> PC USB connector
Your Sirius XM subscription manages which channels you can view and listen to.
TRadio grabs the list of all currently playing channels and sends the channel information and music information to the configures HA system as variables that can be displayed.
XM Description
XM radio is a subscription based satellite radio service. Several XM hardware radios will be supported. To connect the radio to your PC, a special adapter cable is required, which is available from Tallus.
How to connect your XM radio hardware:
XM Radio DIN connection <> XM adapter cable <> PC USB connector
Your Sirius XM subscription manages which channels you can view and listen to.
TRadio grabs the list of all currently playing channels and sends the channel information and music information to the configures HA system as variables that can be displayed.
HDRadio Description
HDRadio is a free over the air radio service. Several HDRadio hardware devices are supported. To connect the radio to your PC, a special adapter cable is required, which is available from Tallus.
How to connect your HDRadio hardware:
HDRadio DIN connection <> HDRadio adapter cable <> PC Serial port
TRadio will control the HDRadio and display the data that the radio station provides. Not all radio stations are HD, and not all radio stations provide channel and now playing information that TRadio needs to populate variables to display. So, coverart may not work and Now Playing information may not be complete.
Beta Test Limitations
There are limitations to the TRadio executable in the beta test phase. Quite a few of these limitations will be ironed out by the time the executable goes to production. Other limitations will still exist until Version 2 of the plugin. This section will outline the limitations.
1. Only Sirius and HDRadio are supported. XM may work, but not yet tested.
2. Only the designated radios are supported.
3. All radios require special connection cable available from Tallus LLC.
Hardware Requirements
Sirius Hardware:
Although other controllers might work, the following Sirius radios have been tested with this driver. Any problems found in this driver for controllers not on this list will be fixed "at best effort".
Sirius SC-H1
Sirius SC-HC1
Both of the radios above require a special USB adapter cable available from Tallus LLC
Both of the above radios require 12 volt DC. Wall and PC molex adapters available from Tallus LLC
Tallus LLC will soon have a kit that allows for installation of the Sirius radio inside of a standard PC chassis for the ultimate of "clean" installation.
XM Hardware:
Although other controllers might work, the following XM radios will have been tested with this driver. Any problems found in this driver for controllers not on this list will be fixed "at best effort".
XM Direct
XMPCR
Both of the radios above require a special USB adapter cable available from Tallus LLC
Both of the above radios require 12 volt DC. Wall and PC molex adapters available from Tallus LLC
Tallus LLC will soon have a kit that allows for installation of the XM radio inside of a standard PC chassis for the ultimate of "clean" installation.
HDRadio Hardware:
Although other controllers might work, the following HDRadios have been tested with this driver. Any problems found in this driver for controllers not on this list will be fixed "at best effort".
Visteon HDZ300
Directed DMHD-1000 HD Tuner
Both of the radios above require a special RS232 DB9 adapter cable available from Tallus LLC
Both of the above radios require 12 volt DC. Wall and PC molex adapters available from Tallus LLC
Software Requirements
Tested with Mainlobby3 Server 3.0.588.
MLComDevice plugin 1.2.1 installed on MLServer.
MainLobby3 Client 3.0.107 (or newer)
CQC Server v 2.6
FieldGenerator v .64
To be installed on TRadio.exe PC:
[Microsoft .NET Framework 3.5]
TRadio.exe executable 0.2.1 (or newer)
Hardware Installation
General hardware setup for Sirius Radios
Purchase a compatible Sirius radio (see above list - kit available from Tallus shopping cart)
Connection path: DC5 volt (transformer included with radio kit) > Sirius HC1 <> special Din to USB cable <> PC USB port
General hardware setup for XM Radios
Purchase a compatible XM radio (see above list)
Connection path: DC5 volt (transformer included with radio kit) > XMDirect <> special Din to USB cable <> PC USB port
General hardware setup for HDRadios
Purchase a compatible HDRadio (see above list - kit available from Tallus shopping cart)
Connection path: DC12 volt (PC adapter included with radio kit) > Directed HDRadio <> special Din to Serial DB9 cable <> PC serial port. Antenna requires a 'motorola' standard automotive antenna. There is available a motorola to RG59 adapter to use the radio in a house that has a rooftop FM antenna. The audio connections are "RCA" jacks for left and right channels. This can be connected to the PC's Line-In jack. Windows mixer must be setup to allow for Line-In monitoring.
Download Link
[TRadio Gateway Trial with scene]
[TRadio Gateway Trial plugin only]
The plugin installs in a 30 day trial mode. Once you have decided to purchase it from [Tallus's shopping cart], just apply the software license you will receive from Tallus via email on purchase of the plugin. After the plugin is installed, the license is then applied to the TRadio Software Registration Menu (in TRadio: Help/Manage License Keys) which you must then Activate to that PC by sending your purchased license, your PC's Hardware ID (found at bottom of the Registration Menu window) to: info(at)talluscorp.com. You will soon receive an Activation code via email that is applied to the Registration Menu which makes that plugin permenant to that PC.
You should perform the above within the 30 day trial period to enjoy uninterrupted usage of the plugin with no rework needed between trial and licensed useage. Please allow up to two days for Tallus processing time for your requests. Most requests are processed within a few hours.
Software Installation
If you are installing to a pre Vista PC, you will need to have MDAC Version 2.8 installed on your MLServer PC prior to installation. You can check your current MDAC version by using:
If you have an earlier version you can get MDAC Version 2.8 at the following link:
Please note that since TRadio is a standalone executable, it does not have to run on the same machine as MLServer. It will communicate with MLServer using TCP/IP and you only need to make sure that the computer running TRadio can communicate to the computer running MLServer.
During the installation, the installer will query whether you want to install .NET Version 3.5. If you are unsure whether the library is already installed, make sure that you check this box and allow the installation to occur. This library is required for the plugin to work properly.
Start the TRadio program. If the plugin is running in Trial or Expired licensing, the licensing menu page will appear so you can update the licensing. Once on Permanent licensing, the program will open directly to the configuration screen. You can also have MLSchedule (Tallus MLServer3 plugin) open the TRadio application in minimized mode, which is the typical implementation.
Licensing
The application will install with a 30 day trial. Once purchased, you will receive an email from Tallus with your license key that you should Copy / Paste into the applications's License field. If successful, you will see the Licensing Key Icon on the right side of that field go Green.
Copy the Machine ID value into an email that you should send to support (at) talluscorp (dot) com with a request for your TRadio Activation code. Once Tallus receives that request, you will be emailed back the Activation Key that you would Copy / Paste into the Activation Key field. Click the Activate button on the bottom left and you should see "This is a permanent license key" message at the top of the licensing window. TRadio application is then permanently licensed for that PC.
Configuration
Controller Configuration Tab
Sirius face plate
HD radio face plate
Double click on "TRadio" button to launch HDRadio website to lookup local stations.
Press and Hold on Preset buttons to set presets to the current station.
Press the Bank A button to cycle through B and C presets.
Press Seek to turn on / off the Seek function.
Press Pwr button to turn HDRadio hardware on / off.
Press Up / Down to tune up and down by frequency.
Press Right / Left to Seek up or down to next available station.
Press Mute to mute the audio output.
Press Display to alternate text display.
Press Band to switch between AM and FM bands.
Enter frequency in the XXXX field and press Select to immediately go to that station.
MLComDevice Configuration (for MainLobby use)
Within the MLComDevice Plugin (running in MLServer application), Add a new Device using the "TallusApp" Family. You can name this "TRadio_XM_1" (as example). This would be a TCP Control. Enter the IP address of the TRadio PC that MLComDevice should connect with. Enter Port 9670 (typical) and Encoding should be UTF8.
Make sure the port you choose is open on the TRadio PC firewall(s) as well as the MLServer PC (if different).
The "TallusApp" family has these default settings: General tab: Header = <STX> Checksum: leave blank Command end: <ETX> Trigger end: <ETX> Description: Connection to a Tallus Application
Commands tab: Name: ChangeValue Code: FieldChanged|<Var1>
Name: ChangeValue2 Code: FieldChanged|<Var1>~<Var2>
Triggers tab: 1st trigger Name: SetVariable Code: SetVariable|<Mask> MLServeCmd: SetVariable|<Device>_<Mask>
2nd trigger Name: SetVariableFast Code: SetVariableFast|<Mask> MLServeCmd: SetVariableFast|<Device>_<Mask>
3rd trigger Name: DelVariable Code: DelVariable|<Mask> MLServeCmd: DelVariable|<Device>_<Mask>
4th trigger Name: AppVersion Code: AppVersion|<Mask> MLServeCmd: SetVariableFast|TRadio_AppVersion~<Mask>
MainLobby scene support configuration
Lyrics lookup:
A neat function of TRadio is to pass the Song Artist and Title to the MLServer MLLyrics plugin that will lookup the lyrics for that song. The sample TRadio_Lyrics.mls scene is configured to allow for scroll up / down of the lyrics.
Requires optional MLLyrics plugin.
When the user clicks a previously played song, a WebLobby scene overlay opens with Amazon.com site that has already searched (and likely found) the song title. It is then easy to put that song into your Amazon shopping basket to purchase the song for long term ownership of a favorite song title.
Requires WebLobby optional application.
Song Purchase:
TRadio application holds the last 10 songs (FIFO - First In First Out) in it's memory which is cleared when the application is restarted.
As a workaround to WebLobby's inability to work with some charectors commonly found in URLs, a variable "WebURL" is populated with the full URL. The WebLobby UI component default URL is "http://192.168.0.2/redirect.html". Note that this URL needs to be for the MLServer PC's IP address. The redirect.html file is a special webpage found in MLServer\html directory. This redirect.html supports a webtitle that is defined in a "WebTitle" MLServer variable. The WebURL variable is also referenced as the web redirect page that will display the webpage defined by WebURL. For TRadio's sample scene, that would be the URL of the results of the Amazon song lookup search.
TRadio scene is designed to support multiple TRadio supported radios like HDRadio / Sirius / XM. Or, multiple tuner combinations. When the scene first opens, the first radio defined in MLCycleStates plugin ("TRadio_Name") is automatically set. The user can then cycle thru the defined radios forward / backwards through the list. The variables in the scene display information based on that radio choice.
Other variables used with the sample scenes:
tradio_tclient1_activeradio=tradio_hdradio_1 (this defines the radio being interacted with from a given client PC)
tclient1_radio_1_buylistselection=1 (this defines the particular row selected from the past song playlist)
tclient1_radio_name=HDRadio1 (The display name of the chosen radio)
Commands
HDRadio
MLComDevice|{{{{ClientName}}_HD-Device}}~ChangeValue~TuneUp
MLComDevice|{{{{ClientName}}_HD-Device}}~ChangeValue~TuneDown
MLComDevice|{{{{ClientName}}_HD-Device}}~ChangeValue~SeekUp
MLComDevice|{{{{ClientName}}_HD-Device}}~ChangeValue~SeekDown
MLComDevice|{{{{ClientName}}_HD-Device}}~ChangeValue~ToggleBand
MLComDevice|{{{{ClientName}}_HD-Device}}~ChangeValue~SetBank
MLComDevice|{{{{ClientName}}_HD-Device}}~ChangeValue~Power
MLComDevice|{{{{ClientName}}_HD-Device}}~ChangeValue~Mute
MLComDevice|{{{{ClientName}}_HD-Device}}~ChangeValue2~Preset~Channel
MLComDevice|{{{{ClientName}}_HD-Device}}~ChangeValue~Shutdown
SIRIUS
MLComDevice|{{{{ClientName}}_Sirius-Device}}~ChangeValue~TuneUp
MLComDevice|{{{{ClientName}}_Sirius-Device}}~ChangeValue~TuneDown
MLComDevice|{{{{ClientName}}_Sirius-Device}}~ChangeValue~Power
MLComDevice|{{{{ClientName}}_Sirius-Device}}~ChangeValue~NextPage
MLComDevice|{{{{ClientName}}_Sirius-Device}}~ChangeValue~PrevPage
MLComDevice|{{{{ClientName}}_Sirius-Device}}~ChangeValue~LastPage
MLComDevice|{{{{ClientName}}_Sirius-Device}}~ChangeValue~FirstPage
MLComDevice|{{{{ClientName}}_Sirius-Device}}~ChangeValue2~SetMaxItemsPerPage~X
MLComDevice|{{{{ClientName}}_Sirius-Device}}~ChangeValue2~GoToPage~{{TRadio_PageNumber}}
MLComDevice|{{{{ClientName}}_Sirius-Device}}~ChangeValue2~tunetochannel~X
MLComDevice|{{{{ClientName}}_Sirius-Device}}~ChangeValue~Shutdown
XMRadio
MLComDevice|{{{{ClientName}}_XM-Device}}~ChangeValue~TuneUp
MLComDevice|{{{{ClientName}}_XM-Device}}~ChangeValue~TuneDown
MLComDevice|{{{{ClientName}}_XM-Device}}~ChangeValue~Power
MLComDevice|{{{{ClientName}}_XM-Device}}~ChangeValue~Shutdown
Variables
{{tradio_appversion}} (defined in MLComDevice Triggers tab)
HDRadio
{{tradio_hdradio_1_buylistartist_1}}
{{tradio_hdradio_1_buylistimage_1}}
{{tradio_hdradio_1_buylisttitle_1}}
{{tradio_hdradio_1_buylisturl_1}}
{{tradio_hdradio_1_detailpageurl_1}}
{{tradio_hdradio_1_hd}} (true / false)
{{tradio_hdradio_1_hdtype}} (ex: RDS)
{{tradio_hdradio_1_radiotext}} (ex: "Now Playing....")
{{tradio_hdradio_1_preset}} (ex:)
{{tradio_hdradio_1_signalhd}} (ex:0)
{{tradio_hdradio_1_signaltuner}} (ex: 2)
{{tradio_hdradio_1_smallimageurl}}
{{tradio_hdradio_1_mediumimageurl}}
{{tradio_hdradio_1_largeimageurl}}
{{{{{{ClientName}}_HD-Device}}_Band}}
{{{{{{ClientName}}_HD-Device}}_Frequency}}
{{{{{{ClientName}}_HD-Device}}_HDType}}
{{{{{{ClientName}}_HD-Device}}_Artist}}
{{{{{{ClientName}}_HD-Device}}_Title}}
{{{{{{ClientName}}_HD-Device}}_PreSet}}
{{{{{{ClientName}}_HD-Device}}_SeekType}}
{{{{{{ClientName}}_HD-Device}}_CallSign}} (Station call sign)
{{{{{{ClientName}}_HD-Device}}_FrequencyBasic}}
SIRIUS
{{tradio_Sirius_1_smallimageurl}}
{{tradio_Sirius_1_mediumimageurl}}
{{tradio_Sirius_1_largeimageurl}}
{{{{{{ClientName}}_Sirius-Device}}_LChannelName}}
{{{{{{ClientName}}_Sirius-Device}}_LGenre}}~323~18
{{{{{{ClientName}}_Sirius-Device}}_Artist}}~323~18
{{{{{{ClientName}}_Sirius-Device}}_Title}}~323~18
{{{{{{ClientName}}_Sirius-Device}}_ActiveChannel}}~40~15
{{{{{{ClientName}}_Sirius-Device}}_SGenre}}~90~15
{{{{{{ClientName}}_Sirius-Device}}_SChannelName}}~150~15
XMRadio
{{tradio_XM_1_smallimageurl}}
{{tradio_XM_1_mediumimageurl}}
{{tradio_XM_1_largeimageurl}}
{{{{{{ClientName}}_XM-Device}}_LChannelName}}
{{{{{{ClientName}}_XM-Device}}_LGenre}}~323~18
{{{{{{ClientName}}_XM-Device}}_Artist}}~323~18
{{{{{{ClientName}}_XM-Device}}_Title}}~323~18
{{{{{{ClientName}}_XM-Device}}_ActiveChannel}}~40~15
{{{{{{ClientName}}_XM-Device}}_SGenre}}~90~15
{{{{{{ClientName}}_XM-Device}}_SChannelName}}~150~15
Acknowledgment
This project would not have been possible without MJS's Gadgets.
Version History
Version 0.3.5
- It is now possible to redisplay the licensing information after activation...
Version 0.3.4
- Now outputs the event log to TRadio.log. - Can enable "debug" to have more information written to the log.
Version 0.3.3
- Changed the handling of the Channel* variables for XM/Sirius.
Version 0.3.2
- Fix: the XM events were not firing up...
Version 0.3.1
- Fix: the last result from Amazon was selected instead of a better match.
Version 0.3.0
- Fix: the mini web browsers did not like being updated from another thread...
- Added XM satellite radio support.
- Fix: searching for songs would block the UI.
- Added a web browser to get more information or purchase matching songs found on Amazon.
- Improved the Amazon search success rate.
- Added Amazon search to locate current cover art.
- Provided simple CQC templates and MainLobby scenes.
- Added HD Radio support
- Added a TCP Server
- Added Sirius Satellite radio support.






