[visionegg] Re: go loops and run_forever (was sorry to bother you again...)
- From: "Andrew Straw" <andrew.straw@xxxxxxxxxxxxxxx>
- To: visionegg@xxxxxxxxxxxxx
- Date: Tue, 10 Feb 2004 20:55:53 +1030 (CST)
quick note -- Those modifiers (not_during_go) must be applied when
something like transitions or every_frame is also specified:
eval_frequency = transitions | not_during_go
or
eval_frequency = every_frame | not_during_go
I will make sure the documentation for controllers covers this "bitwise
or" sufficiently and update it if it does not.
Cheers!
Andrew
> Ah ha! This works brilliantly on the test program. However, my actual
> experiment program has multiple go loops triggered by different
> keystrokes (over 20). I couldn't get the constant controller to update
> the during_go_value from a keystroke trigger (during the run forever
> loop). I couldn't get the constant controller to only set
> between_go_value and let me assign viewports from a keystroke trigger.
> Nor could I get constant controller to respond to any eval_frequency
> setting other than transitions or every frame (ie if I told it only to
> evaluate not_during_go, the whole thing stopped working and my original
> problem reoccured). I also to make a plain controller (vs constant or
> function) that evaluated not during go, and that didn't work. Sad!
>
> Should I try an Encapsulated Controller?
>
> On Sunday, Feb 1, 2004, at 02:53 US/Pacific, Andrew Straw wrote:
>
>> Hi Jordanna,
>>
>> Basically, you have to restore p.parameters.viewports to [viewporta]
>> when
>> the go loop is over. I haven't tested this, but it would be something
>> like:
>>
>> p.add_controller( p,
>> 'viewports',
>> ConstantController(
>> during_go_value = [viewportb],
>> between_go_value = [viewporta],
>> eval_frequency = Controller.TRANSITIONS ))
>>
>> This controller sets the value of p.parameters.viewports on
>> transitions in
>> and out of go loops. It should do exactly what you want.
>>
>>> I can't figure out how to define finite go loops inside of a run
>>> forever loop. Previously Andrew said I should only be using one
>>> presentation object, but I don't seem to be able to get it working.
>>> Here is a test program I've written (relevant bits). Does anybody have
>>> sample code I can look at?
>>>
>>> Problem: when I hit the 'a' key, the presentation changes to
>>> displaying
>>> the viewport b stimulus, but does not return to the viewport a
>>> stimulus
>>> when finished.
>>>
>>> #####################################################
>>> # design 'handling' of run forever loop
>>> #####################################################
>>>
>>> global p
>>>
>>> f=open('debug_file.txt','w')
>>> def keydown(event):
>>> if event.key==pygame.locals.K_q:
>>> p.parameters.enter_go_loop = 0
>>> p.parameters.quit = True
>>> elif event.key==pygame.locals.K_a:
>>> p.set( go_duration=(5.0,'seconds'),
>>> viewports=[viewportb],
>>> enter_go_loop=1)
>>>
>>> handle_event_callbacks = [(pygame.locals.KEYDOWN,keydown)]
>>>
>>>
>>> ##########################################################
>>> # create presentation object for outside run forever loop
>>> ##########################################################
>>> p = Presentation(viewports=[viewporta],handle_event_callbacks =
>>> handle_event_callbacks)
>>>
>>>
>>> ###############
>>> # run it !!! #
>>> ###############
>>>
>>> p.run_forever()
>>>
======================================
The Vision Egg mailing list
Archives: http://www.freelists.org/archives/visionegg
Website: http://www.visionegg.org/mailinglist.html
- References:
- [visionegg] Re: go loops and run_forever (was sorry to bother you again...)
- From: Andrew Straw
- [visionegg] Re: go loops and run_forever (was sorry to bother you again...)
- From: Jordanna Sprayberry
Other related posts:
- » [visionegg] Re: go loops and run_forever (was sorry to bother you again...)
- » [visionegg] Re: go loops and run_forever (was sorry to bother you again...)
- » [visionegg] Re: go loops and run_forever (was sorry to bother you again...)
- [visionegg] Re: go loops and run_forever (was sorry to bother you again...)
- From: Andrew Straw
- [visionegg] Re: go loops and run_forever (was sorry to bother you again...)
- From: Jordanna Sprayberry