Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Basic Digital Signage support
#1
I've added a new capability, for 4.0.11 and forward, to provide basic support for digital signage. It's something you could have always done in a way, by just using the IV and sending it set template commands via the IV control driver. But of course then you have to have a dedicated machine to drive that display. This is primarily being provided for commercial installations where CQC is providing control over equipment but they'd also like some basic POS digital signage and would like to use the same machine to do it.

So you can now run more than one instance of the IV. Only one will be the primary IV and only it will accept user input. Typically you would allow it to maximize on the primary monitor. The others you would run like this:

CQCIntfView /Signage=mmm /Binding=bbb Port=pp /InitTmpl=\User\xxx

along with the other standard options that you might want to use, such as:

/User=uuu /Password=ppp /Delay=ss

/Kiosk and /Fullscreen are meaningless in this case since they are forced on when you use the /Signage parameter. These signage IVs are always full screen and always kiosk mode. They are also input-less, i.e. they will not accept any user input. They also do not try to load or store any user configuration, since they always just go full screen. If you want to display an initial template you'll use the /InitTmpl= parameter or set one in the user account.

The /Signage=mmm parameter indicates you want signage mode and the mmm indicates the device name of the attached monitor it should go full screen to. I'll provide a little utility to let you enumerate the displays and find out the name of the one you want. It'll typically be something like:

\\.\DISPLAY1

The /Binding=bbb is required because now that you can have more than one IV running on the same machine, each of which is enabling the control interface, you need to be able to uniquely identify them. The bbb value is a name (no punctuation) that will identify this particular IV instance in order to send it commands.

The /Port=pp command of course enables the control interface. It must be enabled in signage mode, and each IV (primary and these secondary ones) must be given a unique port number. The primary one doesn't have to use the port parameter, only if it is to be sent commands. Otherwise it doesn't need it and it's wasteful to enable it.

The /InitTmpl= parameter is used to display an initial template. Since these secondary IVs don't load or save any configuration data, they don't initially display anything unless there is an assigned template for the user you log it in under. If you want different initial templates you can do it this way. If you want the same, you can set it under the user account. Also, since they don't save/store config info you don't have to have to have them on separate user accounts (which normally would have been required because otherwise they'd both try to open the same per-user configuration file.)


I've added a new System::SetIVTemplate(ivname, templatepath) command so that you can directly send these secondary IVs commands to load new templates, instead of working through the IV control driver. The IV control driver assumes only one local IV is running and automatically finds it, so it won't work for these secondary IVs. The ivname parameter is the name you gave in the /Binding= parameter above, or for the primary IV (if the control interface is enabled) it'll just be the host name.

You can also now select the IV in this command (as well as the already existing System::SayIVText and System:TonguelayIVWAV commands) by pressing the helper button beside the parameter and it'll show you a list of running IVs.


These are input-less IVs so you cannot use them to run multiple primary IVs off the same computer. That requires you use some sort of input/display virtualization software like BeTwin or others. It just allows you to provide secondary displays for pure display purposes. For the intended application, of digital signage, this works out fine since they just want to display specials and ads and such, and not have any user interaction.

You are responsible, at least for for now, for providing your own scheduling to push out commands to the IV to load new templates. At some point we'll also provide some mechanism for scheduling as well, to provide a more full featured signage solution. But this is a useful first step.

Did all that machine sense?
Dean Roddey
Explorans limites defectum
Reply
#2
BTW, that new SetIVTemplate command is generally useful, with regular IVs. If all you need to do can be accomplished by the SetIVTemplate, SayIVText and PlayIVWAV commands, you don't need to use the IV control driver since you can do all those things directly via commands, though in some case it might be preferable to still do so since you can work through the field interface perhaps.
Dean Roddey
Explorans limites defectum
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Basic Z Wave/CQC Integration Question MikeW 6 3,592 12-05-2018, 01:12 PM
Last Post: MikeW
  2nd Google Hangout - Screen shots & basic how to - Discuss here! batwater 8 4,844 08-31-2013, 11:26 AM
Last Post: Dean Roddey
  Most basic driver (no real purpose except edu) bbrendon 0 1,417 03-11-2013, 11:51 PM
Last Post: bbrendon
  Support for GC-100 serial ports Dean Roddey 43 11,727 02-08-2013, 07:26 AM
Last Post: batwater
  Basic Questions RichardU 7 4,359 09-01-2011, 09:36 AM
Last Post: Dean Roddey
  IRA-3 support potts.mike 12 4,378 03-20-2011, 11:53 AM
Last Post: SomeWhatLost
  Newbie - Basic audio questions MikeMelga 4 2,436 06-18-2010, 10:29 AM
Last Post: RobWalker
  Does DevSim Digital IO/Lighting GUI exist? brathnach 6 4,158 06-03-2010, 04:57 AM
Last Post: brathnach
  Few basic questions Tedp 92 18,977 09-20-2009, 04:25 PM
Last Post: rocker
  Basic question on driver install(s) keepersg 15 4,624 05-04-2009, 07:52 AM
Last Post: keepersg

Forum Jump:


Users browsing this thread: 1 Guest(s)