Hi,
iViewer Version: 2.0.263 & 2.0.24
GUIDesigner: 2.6.0.524
Crestron Script: CrestronMoblileV3.js
We have got a problem where button presses are not being passed through to Crestron from iViewer. We have a bunch of Sky channel shortcut icons that are presented as a list on a subpage. The actual hierarchy is:
- subpage containing the buttons. Each button has a graphic showing the channel icon. Each button has a digital join. Each button simulates momentary feedback.
- subpage containing the list container. The list container used the button subpage in it's Header Subpage parameter. The subpage also has some graphics on either side of the list that give it a 3D effect for scrolling.
- page containing the Sky transport controls. This includes the list subpage as a subpage. The list subpage is brought up on a digital feedback join as there are different lists for channel types (e.g. "ALL", "HD", "SPORTS", "FILMS", "KIDS" etc)
To set a bit more of a scene - we have 11 ipads organised into 3 groups (A, B, C). Each group talks to it's own Crestron processor. Each group has it's own GUI. So, for example, System A GUI is on 4 ipads - so we take a "master A gui" and copy it four times, changing the port so each ipad communicates to it's own Mobile G symbol in the processor.
This has been working fine for ages. The right list is presented on screen, it can be scrolled and as you press the channel buttons the presets are recalled. However it has stopped working on one of the system/GUI groups (B) and we cannot work out why.
Now, on both ipads in System B, the Sky transport and shortcuts are presented as normal but the button presses on the lists are not being passed to Crestron. SIMPLE debugger showed the joins were not being triggered when the button was pressed on the screen. The simulated momentary feedback was also not having any effect.
At first we thought it must be a simple case of z-order however there is no apparent problem here at all. Forcing the list subpage to the top of the order has no effect. Forcing the list object in the list subpage to the top of it's object stack (thus hiding the 3D effect graphic overlays) makes no difference. Comparison at the XML level with the other two GUI masters shows the same ordering on interfaces that work.
Down to CF remote debugging level.... Doing this showed a couple of interesting facts. CF is picking up the key presses. Press actions appeared in the log and in the join view. Interestingly this was ONLY when a button was tagged with simulated feedback. Take the simulated feedback away and the button press no longer appears in the log or in the join view. Presses on other buttons showed the correct presses and comms with Crestron on the feedback. Of course these also showed in SIMPL debugger as ipad join actions.
Could it be the app? This just made things more confusing. We tried a System B GUI on a System C iPad. It didn't work. This suggests it's the GUI file. We then tried a System C GUI (i.e. one apparently working) on a system B ipad. This didn't work either, suggesting the app.
However, when we reloaded the System C GUI onto it's iPad then the sky shortcuts stopped working. So, by simply reloading a GUI file which had not changed back onto a iPad with an app that hadn't changed we introduced the problem. That's just plain bizarre as it defies logic. The only possible explanation is that the GUI file was not the same.
I am well and truly stumped now. Any suggestions? I don't know if there is some obscure laying issue or not but the visibility of button press feedback in the CF remote debugging session suggests that something is being handled.
One point to note... To simply the rollout process we do the following:
- Modify the master file. This has a port of 50100
- Load the master file into the firstobject XML editor
- Save the master file as "ipad1systemX.gui"
- Increment the port number
- Save as "ipad2systemX.gui"
- Repeat for each ipad in each system
This XML editor maintains all the formatting, including line ends of the original file and we have had no problem passing backwards and forwards. It makes global edits and other things like this rollout process much easier, especially since the files are large and GUID regularly crashes if lots of reloads/save as operations occur. I do know, however, that CF can be particular about the GUI file but can see no reason why this would introduce something that would cause a problem. Just think it's worth mentioning...
TIA
jez