Your Universal Remote Control Center
RemoteCentral.com
Philips Pronto Professional Forum - View Post
Previous section Next section Up level
Up level
The following page was printed from RemoteCentral.com:

Login:
Pass:
 
 

Topic:
Overlay page...
This thread has 9 replies. Displaying all posts.
Post 1 made on Thursday June 27, 2019 at 05:16
sebastian
Long Time Member
Joined:
Posts:
September 2003
93
Hi,
I have my power button set to toggle the overlay page of an activity.
I'm using something similar to the standard overlay page, i.e. two "side bars" that slide in from the left and right, containing buttons that take me directly to each activity - except when I'm already viewing that specific activity, then it's switching the the inputs of the respective devices to match.
I've found that this works quite well for me for quickly switching activities/devices without having to go through the home screen.
One thing that's quite cumbersome though: with each new or changed device, I have to update every activitie's overlay page to have a suitable button for it.

Ideally I would want to maintain only a single instance of the overlay page and then only reference it on each activity.
But I think there's no mechanism for that, is there?

Another idea would be to generate the overlay page's contens (i.e. Button labels and action lists) through ProntoScript.
I haven't looked into that yet, but I think that should be possible.
Has anyone tried that?
I'm a little worried about the performance to expect - which probably depends on _when_ the overlay page is generated.
And I'm also wondering if a generated overlay page would still be usable with PEP3's "show/hide/toggle overlay" actions.

Any thoughts?

Sebastian
Post 2 made on Thursday June 27, 2019 at 21:48
Lyndel McGee
RC Moderator
Joined:
Posts:
August 2001
12,992
There is no "common" overlay page. In fact, that feature was added to support 1 thing. The TSX9500 in wall panel that did not have the extra set of hard buttons or wheel.

If you don't put a lot of ProntoScript into activities, you could simply 'Jump' to a Page in a different activity that contained your overlays. You could then put a timer (CF.activity().scheduleActions or Page Script repeat) to allow you to jump to a different place or back to the page you came from.

If you create widgets on your own for overlay pages, then that is what you get, they don't slide in, etc.. unless you move the widgets around onscreen via script.

I spoke to the ProntoTeam when they introduced this feature. My biggest complaint was having a single page that was the Overlay page. As such, it is like the Home page in that you can never copy/paste it nor can you rename/delete it. The only way to capture what is on the page is to open the page and do Ctrl-A to select all.

One other note (please excuse my ramblings here). PEP3 was never fully shaken out and can crash at times. I am a solid user of PEP2 and will continue to use it. I installed PEP3 at one time but have since removed it.

If you'd like to discuss further don't hesitate to shoot me an email.

Lyndel
Lyndel McGee
Philips Pronto Addict/Beta Tester
OP | Post 3 made on Friday June 28, 2019 at 03:41
sebastian
Long Time Member
Joined:
Posts:
September 2003
93
Ok, I was hoping I could use PS to basically render an overlay page off-screen, e.g. when entering an activity, and that it then would behave like one that was set up in PEP.
Apparently it's not that easy ;)

Sure, I probably could create a panel (or two) off-screen and have them slide in instead of the overlay page.
But that feels like reinventing the wheel and it would not work with the predefined show/hide overlay actions in PEP.

Jumping to a different page would allow me to maintain only a single instance, but it feels nothing like the overlay.
For one, you can't have the slide-in effect (which, given, is not essential) and the "underlying" activity/device page would always change with such a jump.

I like the unobtrusive nature of the overlay - it just overlaps on the sides and when you close it you're exactly where you were before.

Well, I guess, I'll just keep updating every activities specific overlay page when changing/adding a device.
At least now I know that there's no more efficient way to do it.
I hope to be done with adding and replacing devices for a while now, anyway... ;)

Regarding PEP2/PEP3 - I've been using PEP3 from the start (which for me was some time last year) and I don't see any reason to downgrade.
It does crash occasionally (mostly when trying to learn a new IR code for the first time in a "session"), but it usually runs pretty solid.
So, to each his own ;)

Sebastian
Post 4 made on Friday June 28, 2019 at 19:39
Lyndel McGee
RC Moderator
Joined:
Posts:
August 2001
12,992
The 'overlay' feature would be the only reason I would update to PEP3.

It is really quite nice. However, the implementation was less than adequate, IMO. I had a 1 on 1 with the DEV team lead @ Cedia in 2009 and we specifically discussed this topic and he agreed. He was, of course, voted down internally in Philips.

Ideally, I personally would like to be able to have a toolbar with icons that would allow me to have overlays for all of these in an activity.

1) Receiver Surround Mode
2) Receiver Audio Settings (Cinema EQ, Audyssey, etc)
3) Receiver Channel Levels
4) Receiver Tone Control
5) Receiver Advanced menu cursor.

Ironically, I have these exact pages that are hidden in each activity. I specifically turn off Page Animation for the system.

Note that if you turn off Page Animation, I don't think the Overlays slide in, or at least that is what I remember.

Same thing goes for the new 'Activity Background' image that is painted in place replacing the white background of the System page. Note that a huge oversight on this one was NOT exposing ability to set this via ProntoScript because, for example, you could have timed photoframe backgrounds on your home page rather easily with ProntoScript. Sure, there were modules such as Flicker but now those won't work because Flicker only uses SSL now. Sure, there are Javascript implementations of SSL but they are performance prohibitive.
Lyndel McGee
Philips Pronto Addict/Beta Tester
Post 5 made on Friday June 28, 2019 at 19:40
Lyndel McGee
RC Moderator
Joined:
Posts:
August 2001
12,992
Every now and then, I drop hints of things I've been working on. Well, I am happy to announce that I've been using Raspberry Pi Zero W's for various things. Here are just a couple.

1. Node JS Denon/Marantz communication proxy - Socket Code to allow multiple parties to connect to port 1337 for example and it the code proxies to a Denon/Marantz receiver/preamp that only allows a single TCP/IP connection on Port 23. The code also support handling 'Batch' commands such as _MVOL which sends MV? followed by MU? commands. This was done for purposes of offloading command handling from a pronto and doing it on a 1.2GHz single core CPU.

2. A NodeJS Philips9600 extender emulation - Purpose - To support Single-Page Progress Screen during system startup/shutdown.

Before everyone jumps up and down with fervor, it will NOT send IR but it will respond with 'SUCCESS' if you send an IR command to it. The 'software-only' relay functionality is such that if a relay is set(Closed), the corresponding input matches the value of the relay(On=Relay Closed, Off=Relay Open). Think of this as a simple 'Flag' type of operation where relay value loops back to corresponding input. With PEP2, you can't use this with PowerSense as IR and Power Sense condition wrapper must come from the same extender. Note that with software tweaks, you could do real power sense using GPIO pins off the Pi and you can add a 4 port 5V relay module for around $12USD. I did none of this as of yet as don't have need for real relays. What I wanted this functionality for was to have the ability to set a flag in the Extender (Relay 1 On) such that during System shutdown, I could have ProntoScript query the Power Sense of Input 1 and execute actions in Button A vs Button B.

One cool thing this thing also does is to allow a 'software only' Serial Port to operate in Loopback mode where anything transmitted to it is are echoed back to the receive buffer of the same port. Why would I do this?

Consider an ActionList that needs to show progress percentage, titles, or messages as part of a progress. The older way to do this is to interleave Jumps inside the ActionList to multiple pages which show some type of progress. With this approach, you now can use only a Single Progress Page that is updated dynamically while Actions are executing. You have the ActionList first jump to a Progress page that has ProntoScript doing repeated serial 'match' operations on the serial port while the ActionList sends progress updates via 1-way serial commands indicating progress to the same serial port.

At the end of the ActionList, simply send serial command PROG:DONE\r and then jump to the target page (CD Transport, DVD Transport, Cable TV Keypad, etc).

Last edited by Lyndel McGee on June 28, 2019 19:49.
Lyndel McGee
Philips Pronto Addict/Beta Tester
OP | Post 6 made on Saturday June 29, 2019 at 05:27
sebastian
Long Time Member
Joined:
Posts:
September 2003
93
Wow, that's a lot to reply to.... ;)

I'm totally with you in that the overlay feature has a lot of room for improvement.
But it is what it is and we'll have to live with that...
Despite all its limitations, I think its still quite a nice feature to have.

Regarding the toolbar buttons for your receiver: Couldn't you just add a toolbar and buttons to your system page and pop up a panel with the respective controls on each activity?
Similar to the dialog thingy I did a few weeks ago...
Of course, if PEP already had support for such a thing, that would be awesome....

Personally, I use the hard buttons for that. I have assigned my receiver's surround mode setting to the first button through the system page, because that's the one I need most.
Depending on the activity, I also have other sound settings (like Dynamic Volume/EQ) assigned to some of the other hard buttons.
I don't really need the other audio controls that much and if I do, there's always also an iPad with the AVR control app in reach.

I also have turned off the page animations. You can still have the overlay slide in and out - or just toggle it without animating; both are possible.

Regarding your other projects:
Don't know if you knew: you can control Denon/Marantz receivers also through a HTTP/XML API which doesn't have that "single connection only" limitation.
They switched to a new web interface with the 2018 models, but AFAIK the XML API is still there.

The virtual extender/progress bar project sounds interesting.
I don't have an extender, so I'm not really sure how they work in detail.
Also, I haven't added any progress bars to my setup yet as I'm the only user and my action lists are usually not that long.
I know they're finished when all the requested devices are on or off ;)
But I'd love to see how this is done - If you're willing to write a little how-to, I'll be sure to try it out.

Sebastian
Post 7 made on Saturday June 29, 2019 at 17:35
Lyndel McGee
RC Moderator
Joined:
Posts:
August 2001
12,992
Yes, I am aware to the XML/IPHONEXML api.

My main factor here is speed and not wanting to overtax the Pronto CPU/network. If I want to use XML or HTML, I will end up having additional transport layers on top of a raw TCP IP Telnet port 23. If you go the HTTP transport method, not sure if the Marantz I have supports HTTP 1.1 and request pipelining. I have done some testing to use that api as a volume ramp with limited success.

With regard to offloading things from the Pronto, for example, I now send command _MVOL to my proxy and it emits MV? followed by MU? as a 'batch' query.


var objBatchCommandLookup = {
'_MPWR':['PW?','ZM?'],
'_MVOL':['MV?','MU?'],
'_MSRCSURR':['SI?','MS?'],
'_MVSS':['_MVOL','_MSRCSURR'],
'_MQ':['_MPWR','_MVOL','_MSRCSURR','SSSMG ?','SSAUDSTS ?','SSSDPSTS ?', 'OPSTS ?','PSMULTEQ: ?','PSDYNVOL ?','PSDYNEQ ?'],
'_SSINFAIS':['SSINFAISSUR ?','SSINFAISSIG ?','SSINFAISFOR ?','SSINFAISFSV ?','SSINFAISOFF ?','SSINFAISFLG ?'],
}


Note that the batch lookup object above supports recursion. As none of the Marantz commands start with '_', I used this as a prefix vs using '~' or some other character. This project to move things off the Pronto and into the Pi has become a labor of love of sorts. My original intent for the project was to allow me to put things on the Pronto and then connect my PC to the proxy and be able to monitor the 2-way traffic between Pronto and the Marantz.


If you are interested, email me and I'll zip and send you my config and any Node project code (Don't criticize it as I am a NodeJS newbie and am using console.log ;-) ). When you see my config in the current form, look at the Working... activity and you will see what I mean by multi-screen Progress bar. Next, look at the Common Macros and you will see how I 'weave' in Page Jumps while doing system setup.

Note that this version does not have the integrated Pi Extender so if you wanted to see the project I'm using to test out the NodeJS implementation, I'll email it is well.

Note that I also use Jon Welfringer's simulator mod so that I can do anything I like from the PC including communicating with extenders via the simulator. All you have to do is to set 'Fixed IP' address for each extender and you can pretty much test anything you want from the PC. Where things get challenging is that the Simulator runs Javascript, etc using your PC's CPU/Network and the timing will definitely be different on the Pronto.
Lyndel McGee
Philips Pronto Addict/Beta Tester
OP | Post 8 made on Monday July 1, 2019 at 05:43
sebastian
Long Time Member
Joined:
Posts:
September 2003
93
Thanks, Lyndel, I sent you an email - look for it in your spam folder ;)

I've been using these multi-screen progress bars on my TSU7000 and it looked kind of nice.
I haven't missed those on the TSU9800 yet, though, so I haven't put any effort in recreating them.

I'm also using John's simulator mod and I think it's essential.
I have no idea why Philips didn't make that the default behavior.

Sebastian
Post 9 made on Monday July 1, 2019 at 23:29
Lyndel McGee
RC Moderator
Joined:
Posts:
August 2001
12,992
The reasons they did not make it the default behavior are multiple, with the Primary one being that they wanted to ensure sales of control panels.

Consider if you had a touch-screen PC and simply purchased an RFX9400 or RFX9600, using fixed IP addresses for your extenders, you could basically do home automation.

The only things you lose are:
1) Cannot run Protected Javascript (.pjs).
2) Simulator will not send IR directly, you need an extender for that
3) Cannot learn IR codes (need real Pronto or simply reuse codes that others have learned or manually enter the IR codes into MyDatabase)
Lyndel McGee
Philips Pronto Addict/Beta Tester
OP | Post 10 made on Tuesday July 2, 2019 at 04:30
sebastian
Long Time Member
Joined:
Posts:
September 2003
93
I see. Personally, I wouldn't consider the simulator a to be a valid alternative to the "real thing".
I would miss the hard buttons, the sim window cannot be made full screen and at least with John's mod, it draws a lot of CPU cycles (my laptop fan speeds up almost instantly - I'm running PEP inside a VM, though, so it might not be that much of a deal on a physical machine).
Anyway, I guess there would have been people that would've taken the "free Pronto" approach, so I'll accept that ;)

Sebastian


Jump to


Protected Feature Before you can reply to a message...
You must first register for a Remote Central user account - it's fast and free! Or, if you already have an account, please login now.

Please read the following: Unsolicited commercial advertisements are absolutely not permitted on this forum. Other private buy & sell messages should be posted to our Marketplace. For information on how to advertise your service or product click here. Remote Central reserves the right to remove or modify any post that is deemed inappropriate.

Hosting Services by ipHouse