AW: can I lock screen over more than one handler?

Tiemo Hollmann TB toolbook at kestner.de
Wed Jul 5 18:45:46 CEST 2017


Hi Randy,
it worked out that the issue wasn't related to the design of two handlers and it was only the single statement for setting the filename to the player object in one handler. But it seems, I can't suppress the loosing and reassigning of the focus of the main window when setting the filename. With and without locking the screen.
What I didn't tried yet is placing the player object into an own window without title bar and frame. I don't know, how that looks on Windows 8, but perhaps I can keep the flickering off the main window with that approach.
Tiemo

-----Ursprüngliche Nachricht-----
Von: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] Im Auftrag von Randy Hengst via use-livecode
Gesendet: Mittwoch, 5. Juli 2017 17:56
An: How to use LiveCode <use-livecode at lists.runrev.com>
Cc: Randy Hengst <iowahengst at mac.com>
Betreff: Re: can I lock screen over more than one handler?

It’s been a long time since I’ve messed with player objects… but what about putting both of the handlers into a “run” handler:

on runMyHandlers
	LOCK SCREEN
	handler1
	handler2
	UNLOCK Screen
end runMyHandlers

> On Jul 5, 2017, at 10:42 AM, Tiemo Hollmann TB via use-livecode <use-livecode at lists.runrev.com> wrote:
> 
> Jonathan had a tricky idea to work with two player objects switching 
> between them with hiding and showing them and doing the assignment of 
> the filename with the currently hidden player, even with locking the 
> screen at the beginning of the handler.
> It's a pitty, but the flickering of the whole window frame keeps the same.
> The directShow video engine must be somehow totally dominant.
> Any other tricky idea?
> Tiemo
> 
> -----Ursprüngliche Nachricht-----
> Von: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] Im 
> Auftrag von Tiemo Hollmann TB via use-livecode
> Gesendet: Mittwoch, 5. Juli 2017 15:57
> An: 'How to use LiveCode' <use-livecode at lists.runrev.com>
> Cc: Tiemo Hollmann TB <toolbook at kestner.de>
> Betreff: AW: can I lock screen over more than one handler?
> 
> Thanks Jonathan, Trevor and Sean for your comments.
> 
> Meanwhile I could drill down my "flickering" problem (post from 
> yesterday) to an unexpected command.
> In one of those handlers I "set the filename of player "myVideoPlayer" 
> to tFile". This command withdraws the focus from the window and passes 
> it back after some milliseconds. On my Win 10 machine with a white 
> window title bar I almost can't see it, but on Win 8 with the standard 
> violet title bar it is an ugly flickering, each time I set the 
> filename (which happens very frequently in a quiz loop).
> 
> And I can't prevent this flickering with a lock screen right before 
> the setting of the filename. The setting of the filename seems to 
> release the lock screen or it takes the focus of the window off and 
> back. Very ugly in my case.
> 
> Tiemo
> 
> 
> 
> -----Ursprüngliche Nachricht-----
> Von: use-livecode [mailto:use-livecode-bounces at lists.runrev.com] Im 
> Auftrag von Sean Cole (Pi) via use-livecode
> Gesendet: Mittwoch, 5. Juli 2017 15:30
> An: How to use LiveCode <use-livecode at lists.runrev.com>
> Cc: Sean Cole (Pi) <sean at pidigital.co.uk>
> Betreff: Re: can I lock screen over more than one handler?
> 
> Hi Tiemo,
> The solution here is to call another lockScreen at the beginning of 
> handler2. You don't have to use the unlockScreen at the end of handler 
> 1 and
> 2 as it will do that automatically but it is advisable to include the 
> command anyway. Is there a reason why you had an aversion to using a 
> lockScreen at the start of handler2?
> 
> All the best
> 
> Sean Cole
> *Pi Digital Productions Ltd*
> 
> On 5 July 2017 at 14:09, Trevor DeVore via use-livecode < 
> use-livecode at lists.runrev.com> wrote:
> 
>> On Wed, Jul 5, 2017 at 6:45 AM, Tiemo Hollmann TB via use-livecode < 
>> use-livecode at lists.runrev.com> wrote:
>>> 
>>> 
>>> Is this possible?
>>> 
>>> on handler1
>>> 
>>> lock screen
>>> 
>>> -- do some stuff here
>>> 
>>> send "handler2" in 0 milliseconds
>>> 
>>> end handler1
>>> 
>>> 
>>> 
>>> on handler2
>>> 
>>> -- do some other stuff here
>>> 
>>> unlock screen
>>> 
>>> end handler2
>>> 
>> 
>> No it is not. From the docs for `lock screen`:
>> 
>> "When all pending handlers are finished executing, the lockScreen 
>> property is set back to false and the user sees the current state of 
>> stack windows on the screen."
>> 
>> The use of the word "pending" is confusing because when you use 
>> `send` you end up with an entry in the `pendingMessages`. But the 
>> screen is going to be unlocked each time through the event loop. If 
>> `handler` called `handler2` directly (without using `send`) then you 
>> would not see the screen update. You should see the result you are 
>> looking for if you change your code to look like this:
>> 
>> ```
>> on handler1
>>  lock screen
>> 
>>  -- do some stuff here
>> 
>>  handler2
>> end handler1
>> ```
>> 
>> If you need to call `handler2` in time then you will need to figure 
>> out another approach to updating the screen. Perhaps all screen 
>> updates will need to happen in `handler2`.
>> 
>> --
>> Trevor DeVore
>> ScreenSteps
>> www.screensteps.com
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your 
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your 
> subscription
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your 
> subscription
> preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode


_______________________________________________
use-livecode mailing list
use-livecode at lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode




More information about the use-livecode mailing list