You can use 'wd psel' to set the current form instance which is then used by 'wd ptimer 0'
NB. run two timers NB. works on j802 beta from 5/28 wd 'pc c' wd 'ptimer 1000' c_timer =: 3 : 'smoutput@:<''c'';(6!:0) ''''' wd 'pc d' wd 'ptimer 1000' d_timer =: 3 : 'smoutput@:<''d'';(6!:0) ''''' wd 'psel c' wd 'ptimer 0' NB. stop c wd 'psel d' wd 'ptimer 0' NB. stop d wd 'psel c' wd 'ptimer 1000' NB. resume c determined from source: http://www.jsoftware.com/download/j802/qtide/jqt-source.tar.gz A tip I used while testing is to use f8 to paste from keyboard. This keeps the output from interfering with the input On Sat, May 31, 2014 at 12:26 AM, Pascal Jasmin <[email protected]> wrote: > > > skipping the pshow command, > > I can get both of your timers to run, but can only get one of them to > stop. It appears as though > wd 'ptimer xx' affects the most recent wd 'pc X' command, so for instance, > this sequence of commands: > > c_timer =: 3 : 'smoutput@:<''c'';(6!:0) ''''' > d_timer =: 3 : 'smoutput@:<''d'';(6!:0) ''''' > wd 'pc c' > wd 'ptimer 6000' > NB. runs as expected > wd 'ptimer 0' NB. stops as expected. > wd 'pc d' > wd 'ptimer 6000' NB. runs only d > wd 'pc c' > NB. still runs only d > wd 'ptimer 6000' NB. will run both on independent timers > > wd 'timer 0' NB.only stops C > wd 'pc d' > wd 'timer 0' NB. still d won't stop. > > erase 'd_timer' NB. stops d > > using pshow and pclose doesn't change the result. > > it turns out that I can get my object instance timers to also run, but > have the same problems stopping them... except its worse due to difficulty > setting timer off. > > a =. 6000 conew't' > b =. 7000 conew't' > runs both ok. > stop__a '' NB. stops b... the last pc command. > kill__b '' NB. runs ok apparently. But does not stop a timer > > cannot run stop__a '' or kill__a '' effectively. erase 'a' does nothing. > Quitting J is easiest, even this direct command fails > > kill_0_'' > |pclose : no parent selected: wd > > though this works: (where 0 is first locale...one part of smoutput) > erase 'a0_timer_0_' > _________________________ > From: Joe Bogner <[email protected]> > To: Pascal J <[email protected]> > Sent: Friday, May 30, 2014 11:20:26 PM > Subject: Re: [Jprogramming] opportunity to show off jhs or qt > > > > [off list] > > Hey Pascal, did you try the code that I posted with multiple timers? That > worked for me... I didn't run yours but perhaps it's something with the > locales... Just wanted to check first to see if you were successful with a > more basic implementation of multiple timers > > > > > > On Fri, May 30, 2014 at 11:00 PM, 'Pascal Jasmin' via Programming < > [email protected]> wrote: > > thank you Bill and Joe, with new version it works. Also wd 'pshow' is not > necessary. > > > >multiple timers may not work though. > > > >cocurrent 't' > >create =: 3 : 0 > >('a', (> 18!:5 ''), '_timer') =: 3 : 'smoutput (> 18!:5 '''') ,'': '', ": > (6!:0) ''''' > >wd 'pc ' , 'a', (> 18!:5 '') > >resume y > >) > >NB. a_timer =: 3 : 'smoutput (> 18!:5 '''') ,'': '', ": (6!:0) ''''' > >stop =: 3 : 0 > >wd 'ptimer 0' > >) > >resume =: 3 : 0 > >wd 'ptimer ', ": y > >) > >kill =: 3 : 0 > >wd 'pclose' > >codestroy '' > >) > > > > a =. 4000 conew 't' NB. will start timer > > > >stop__a '' NB. will stop timer > > > > a > >┌─┐ > >│1│ > >└─┘ > > > > ] b =. 4000 conew 't' NB. will start new timer ... replacing old. > >┌─┐ > >│2│ > >└─┘ > > NB. you will see that only timer from b runs. resume__a 2000 will run > the timer from b. This error will repeat if you create a 3rd instance. > Only timer from last instance runs, even though they all have different > "forms" a1 and a2. stop__a '' will stop the timer even if only b is > running. > > > > a1_timer__a '' NB. a1 comes from using the locale number for variable a > >1: 2014 5 30 22 28 48.138 > > > > a2_timer__b '' NB. a2 comes from using the locale number for variable > b > >2: 2014 5 30 22 29 17.594 > > > >If you kill either a or b, then resume__a 3000 will fail, as both "forms" > are killed. > > > > resume__a 3000 > >|ptimer : no parent selected: wd > > > > > >Perhaps this is related to my poor understanding of how to run multiple > copies of a form? > > > > > > > >----- Original Message ----- > >From: Joe Bogner <[email protected]> > >To: [email protected] > >Cc: > > > >Sent: Friday, May 30, 2014 9:21:00 PM > >Subject: Re: [Jprogramming] opportunity to show off jhs or qt > > > >Pascal, you need to update to the latest. > > > >Engine: j701/2011-01-10/11:25 > > > >Library: 8.02.06 > > > >Qt IDE: 1.1.2/5.3.0 > > > >Platform: Win 32 > > > >Installer: J802 install > > > >InstallPath: c:/users/joe/j802 > > > > > > > >This works on the latest > > > > > >NB. run two timers > > > >NB. works on j802 beta from 5/28 > > > >wd 'pc c' > > > >wd 'pshow' NB. shows empty form > > > >wd :: empty 'ptimer 1000' > > > > > >c_timer =: 3 : 'smoutput@:<''c'';(6!:0) ''''' > > > > > >wd 'pc d' > > > >wd 'pshow' NB. shows empty form > > > >wd :: empty 'ptimer 1000' > > > > > >d_timer =: 3 : 'smoutput@:<''d'';(6!:0) ''''' > > > > > > > >This worked on the previous > > > > > > > >NB. worked previous j802 beta > > > >wd 'pc a' > > > >wd 'cc g opengl version 2.0 flush' > > > >wd 'pshow' NB. shows empty form > > > >wd 'set g timer 1000' > > > >a_g_timer =: 3 : 'smoutput@:<''a'';(6!:0) ''''' > > > > > >wd 'pc b' > > > >wd 'cc g opengl version 2.0 flush' > > > >wd 'pshow' NB. shows empty form > > > >wd 'set g timer 1000' > > > >b_g_timer =: 3 : 'smoutput@:<''b'';(6!:0) ''''' > > > > > > > > > >I was stuck on it too > > > > > > > >On Fri, May 30, 2014 at 9:12 PM, 'Pascal Jasmin' via Programming < > >[email protected]> wrote: > > > >> Engine: j701/2011-01-10/11:25 > >> Library: 8.02.06 > >> Qt IDE: 1.1.1/5.3.0 > >> Platform: Win 64 > >> > >> > >> ----- Original Message ----- > >> From: bill lam <[email protected]> > >> To: "[email protected]" <[email protected]> > >> Cc: > >> Sent: Friday, May 30, 2014 8:12:21 PM > >> Subject: Re: [Jprogramming] opportunity to show off jhs or qt > >> > >> what is your JVERSION ? > >> > >> 31.05.2014, в 8:03, "'Pascal Jasmin' via Programming" < > >> [email protected]> написал(а): > >> > >> > the shader demo works. cube rotates, etc... > >> > > >> > when I try those 3 lines from the base locale (jqt802 console > session), > >> the error shown occurs. > >> > > >> > > >> > ----- Original Message ----- > >> > From: bill lam <[email protected]> > >> > To: "[email protected]" <[email protected]> > >> > Cc: > >> > Sent: Friday, May 30, 2014 8:00:24 PM > >> > Subject: Re: [Jprogramming] opportunity to show off jhs or qt > >> > > >> > did the cube rotate? did you test on the latest j802/jqt beta? > >> > > >> > 31.05.2014, в 7:48, "'Pascal Jasmin' via Programming" < > >> [email protected]> написал(а): > >> > > >> >> from base, > >> >> > >> >> wd 'pc a;' NB. or 'pc a' > >> >> wd 'pshow' NB. shows empty form > >> >> wd 'ptimer 2000' > >> >> |ptimer : parent command not found: ptimer: wd > >> >> > >> >> > >> >> a_timer_base_ > >> >> 3 : 'smoutput@:(6!:0) ''''' > >> >> > >> >> is this something related to base locale? > >> >> > >> >> shader demo works ok. > >> >> > >> >> > >> >> ----- Original Message ----- > >> >> From: bill lam <[email protected]> > >> >> To: "[email protected]" <[email protected]> > >> >> Cc: > >> >> Sent: Friday, May 30, 2014 6:40:53 PM > >> >> Subject: Re: [Jprogramming] opportunity to show off jhs or qt > >> >> > >> >> You didn't even create a form. To recap, a form is created using wd > cmd > >> eg > >> >> > >> >> wd'pc foo' > >> >> > >> >> the locale of a form is the current locale when that wd'pc foo' is > >> executed. > >> >> > >> >> 31.05.2014, в 0:49, "'Pascal Jasmin' via Programming" < > >> [email protected]> написал(а): > >> >> > >> >>> sorry for previous message, was running timer and not ptimer. > >> >>> > >> >>> It does not appear as though you can get a timer into an arbitrary > >> locale by just doing wd 'pc a' there. The form has to be visible, or > needs > >> an initial show? > >> >>> > >> >>> > >> >>> > >> >>> > >> >>> ----- Original Message ----- > >> >>> From: 'Pascal Jasmin' via Programming <[email protected]> > >> >>> To: "[email protected]" <[email protected]> > >> >>> Cc: > >> >>> Sent: Friday, May 30, 2014 12:23:37 PM > >> >>> Subject: Re: [Jprogramming] opportunity to show off jhs or qt > >> >>> > >> >>> Nice, thank you. > >> >>> > >> >>> You can also use a timer in any arbitrary locale (I think) > >> >>> > >> >>> a_timer_ =: show_base_ > >> >>> wd_a_ 'timer 2000' > >> >>> > >> >>> or > >> >>> > >> >>> aa =. conew 'a' > >> >>> wd__aa 'timer 2000' > >> >>> > >> >>> acts a little weird with just one plot window, but that might be > plot > >> related? > >> >>> > >> >>> > >> >>> ----- Original Message ----- > >> >>> From: bill lam <[email protected]> > >> >>> To: 'Pascal Jasmin' via Programming <[email protected]> > >> >>> Cc: > >> >>> Sent: Friday, May 30, 2014 11:19:17 AM > >> >>> Subject: Re: [Jprogramming] opportunity to show off jhs or qt > >> >>> > >> >>> Oh sorry! I thought ptimer was documented but not yet. Basically > >> >>> it is very simple, if your form id is 'foo' then the name of the > >> >>> timer callback verb is 'foo_timer' in the form's locale. Each form > >> >>> has its own timer. wd'ptimer xx' will start or stop timer attached > >> >>> to the current form. Unlike the old wd timer, form timers will not > >> >>> break existing code. In qt shader demo, the cube is rotated by a > >> >>> form timer. > >> >>> > >> >>> Пт, 30 май 2014, jprogramming написал(а): > >> >>>> good news about wd 'timer' for forms. A wishlist would include a > way > >> for minimal library load for jconsole support. > >> >>>> > >> >>>> I don't see it mentioned here though > >> http://www.jsoftware.com/jwiki/System/ReleaseNotes/J802 > >> >>>> > >> >>>> I did see that the timer qt demo app has been updated, but its hard > >> to understand without a "qtdemo form" > >> >>>> > >> >>>> there is no mention of wd 'ptimer' here: > >> > http://www.jsoftware.com/jwiki/Guides/Window%20Driver/Command%20Reference > >> >>>> > >> >>>> > >> >>>> ----- Original Message ----- > >> >>>> From: bill lam <[email protected]> > >> >>>> To: [email protected] > >> >>>> Cc: > >> >>>> Sent: Friday, May 30, 2014 10:08:14 AM > >> >>>> Subject: Re: [Jprogramming] opportunity to show off jhs or qt > >> >>>> > >> >>>> sleep will halt current thread, not a feature of jqt. One can > >> >>>> use wd'timer' to fire event. Furthermore J802 introduce form timer > >> >>>> for each form, see high-lights. > >> >>>> > >> >>>> Пт, 30 май 2014, Raul Miller написал(а): > >> >>>>> I made the hour hand be a 24 hour hour-hand. To make it the more > >> typical 12 > >> >>>>> hour hour-hand, change 2r24p1 2r60p1 2r60p1 to 2r12p1 2r60p1 > 2r60p1. > >> >>>>> > >> >>>>> And the window freezing issue is a "feature" of jqt. To avoid that > >> issue > >> >>>>> with current versions of jqt, always close (or position) the plot > >> window > >> >>>>> before starting the clock. > >> >>>>> > >> >>>>> Thanks, > >> >>>>> > >> >>>>> -- > >> >>>>> Raul > >> >>>>> > >> >>>>> > >> >>>>> > >> >>>>> On Fri, May 30, 2014 at 4:43 AM, Jan-Pieter Jacobs < > >> >>>>> [email protected]> wrote: > >> >>>>> > >> >>>>>> Nice! > >> >>>>>> I tried your code in JQT (on windows 8), some remarks: > >> >>>>>> > >> >>>>>> The hour hand is pointing about the exact oposite direction it > >> should. > >> >>>>>> Somehow, switching windows also causes the plot window to freeze, > >> and J to > >> >>>>>> become unresponsive > >> >>>>>> > >> >>>>>> > >> >>>>>> Jan-Pieter > >> >>>>>> > >> >>>>>> > >> >>>>>> 2014-05-30 3:18 GMT+02:00 Raul Miller <[email protected]>: > >> >>>>>> > >> >>>>>>> Here's another approach (beware of email induced line wrap in > >> definition > >> >>>>>> of > >> >>>>>>> show): > >> >>>>>>> > >> >>>>>>> N=:0.01*i.629 > >> >>>>>>> O=: [: j./ 1 2 o./ ] > >> >>>>>>> delay=:6!:3 NB. "sleep" > >> >>>>>>> > >> >>>>>>> show=: [: plot (O N),N*/~0.07 0.11 0.15(*O) 2r24p1 2r60p1 > >> 2r60p1*_3{.6!:0 > >> >>>>>>> bind '' > >> >>>>>>> > >> >>>>>>> show@delay@1:^:9e9'' > >> >>>>>>> > >> >>>>>>> I think this should work with both jqt and the j602 ide. > >> >>>>>>> > >> >>>>>>> Thanks, > >> >>>>>>> > >> >>>>>>> -- > >> >>>>>>> Raul > >> >>>>>>> > >> >>>>>>> > >> >>>>>>> > >> >>>>>>> On Thu, May 29, 2014 at 1:39 PM, David Lambert < > >> [email protected]> > >> >>>>>>> wrote: > >> >>>>>>> > >> >>>>>>>> http://rosettacode.org/wiki/Draw_a_clock#J > >> >>>>>>>> > >> >>>>>>>> The next author need only replace the draw dyad, or rewrite the > >> >>>>>>>> contribution. > >> >>>>>>>> x is the current session time, y is the session time when the > verb > >> >>>>>>> starts. > >> >>>>>>>> > >> >>>>>>>> round=: [: <. 0.5&+ > >> >>>>>>>> PICTURES=: u:16b2190+i.4 NB. arrows > >> >>>>>>>> draw=: [: smoutput PICTURES ((|~ #)~ { [) [: round - > >> >>>>>>>> > >> >>>>>>>> > >> ---------------------------------------------------------------------- > >> >>>>>>>> For information about J forums see > >> http://www.jsoftware.com/forums.htm > >> >>>>>>>> > >> >>>>>>> > >> ---------------------------------------------------------------------- > >> >>>>>>> For information about J forums see > >> http://www.jsoftware.com/forums.htm > >> >>>>>>> > >> >>>>>> > >> ---------------------------------------------------------------------- > >> >>>>>> For information about J forums see > >> http://www.jsoftware.com/forums.htm > >> >>>>>> > >> >>>>> > >> ---------------------------------------------------------------------- > >> >>>>> For information about J forums see > >> http://www.jsoftware.com/forums.htm > >> >>>> > >> >>>> -- > >> >>>> regards, > >> >>>> ==================================================== > >> >>>> GPG key 1024D/4434BAB3 2008-08-24 > >> >>>> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 > >> >>>> gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 > > > > > > > >> > >> > >> > >> > > >> > > >> > > >> >> > >> >> > >> >> > >> >>> > >> >>> > >> >>> > >> >>> > >> >>> > >> >>> > >> >>>> > >> >>>> > >> >>>> > >> >>>> > ---------------------------------------------------------------------- > >> >>>> For information about J forums see > >> http://www.jsoftware.com/forums.htm > >> >>>> > ---------------------------------------------------------------------- > >> >>>> For information about J forums see > >> http://www.jsoftware.com/forums.htm > >> >>> > >> >>> -- > >> >>> regards, > >> >>> ==================================================== > >> >>> GPG key 1024D/4434BAB3 2008-08-24 > >> >>> gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 > >> >>> gpg --keyserver subkeys.pgp.net --armor --export 4434BAB3 > >> >>> > ---------------------------------------------------------------------- > >> >>> For information about J forums see > http://www.jsoftware.com/forums.htm > >> >>> > ---------------------------------------------------------------------- > >> >>> For information about J forums see > http://www.jsoftware.com/forums.htm > >> >>> > ---------------------------------------------------------------------- > >> >>> For information about J forums see > http://www.jsoftware.com/forums.htm > >> >> > ---------------------------------------------------------------------- > >> >> For information about J forums see > http://www.jsoftware.com/forums.htm > >> >> > ---------------------------------------------------------------------- > >> >> For information about J forums see > http://www.jsoftware.com/forums.htm > >> > ---------------------------------------------------------------------- > >> > For information about J forums see > http://www.jsoftware.com/forums.htm > >> > ---------------------------------------------------------------------- > >> > For information about J forums see > http://www.jsoftware.com/forums.htm > >> ---------------------------------------------------------------------- > >> For information about J forums see http://www.jsoftware.com/forums.htm > >> ---------------------------------------------------------------------- > >> For information about J forums see http://www.jsoftware.com/forums.htm > >> > >---------------------------------------------------------------------- > >For information about J forums see http://www.jsoftware.com/forums.htm > >---------------------------------------------------------------------- > >For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
