Re: VR options in Director
Chris/Kevan, thanks for the replies. The check/load test is something I use all the time with video or other large bits of media. But that ain't the prob: There seems to be a delay with not only putting the 3d member on the stage but switching antialiasing on/off produces the same delay. Maybe because it has to reload and reapply the texture? Antialiasing the texture works mch like qtvr but there's a performance hit while it applies the antialiasing. My main objective here is to find out what the options are, ie: Can Quicktime be installed without interrupting the user. Can the quality of iPix files be increased so they don't look bad when the viewer zoomes in? If I could get rid of the unresponsiveness then the 3D route may suffice. However, if there are other routes, I'd be interested to find what they are. Regards, Ian --- One trick I've used to avoid the loading delay is to always keep the 3d member in the frame. I just resize it to 1x1 pixel and stick it in a corner, but you could probably also stick it off stage. That way you only get the loading delay at the start of the program, where it is less noticeable. > If this is all the options, is there any way to increase the > responsiveness of the 3D route? You can test the state of the 3D member and only go to the frame on which it is displayed when it is fully loaded. It should then display immediately. --- [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]
Re: Resource Hacker
I use Axialis Icon Editor all the time without issue editing shockwave stub projectors. Just make sure you use all the resolutions and color depths from the .skl file and you should be good to go. ~Mathew Mark A. Boyd wrote: At 04:58 PM 2/22/2004, Alan Neilsen wrote: Unable to load movie playlist. Does the .INI file exist? It must contain a section '[Movies]' with an entry 'Movie01=Pathname.dir'. In addition to the other comments, I think you'll see this error if you try to edit a Shockwave Player projector. You can edit (a copy of) the Projec32.skl and still use it to create Shockwave Player projectors. Or create Standard projectors. I don't recall whether Shockwave Compression had any effects. -- Mark A. Boyd Keep-On-Learnin' :) [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]
Re: Resource Hacker
At 04:58 PM 2/22/2004, Alan Neilsen wrote: Unable to load movie playlist. Does the .INI file exist? It must contain a section '[Movies]' with an entry 'Movie01=Pathname.dir'. In addition to the other comments, I think you'll see this error if you try to edit a Shockwave Player projector. You can edit (a copy of) the Projec32.skl and still use it to create Shockwave Player projectors. Or create Standard projectors. I don't recall whether Shockwave Compression had any effects. -- Mark A. Boyd Keep-On-Learnin' :) [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]
Re: absolute vs relative pathnames
Harry Try it without "@/", just the filename. eisenstein Harry Goldberg schrieb: All - I have a question about absolute vs relative path names. I am trying to change the pathname of a quicktime castmember to be relative to the director movie and I am unable to replace the current pathname with @/. My intension is to create a shockwave movie that accesses a quicktime file that is in the same directory as the director movie. When I transfer the shocked movie and the quicktime file to the web server, the director movie can't find the quicktime file (it is looking for the movie in the original path). thanks in advance for your help, Harry [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!] [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]
absolute vs relative pathnames
All - I have a question about absolute vs relative path names. I am trying to change the pathname of a quicktime castmember to be relative to the director movie and I am unable to replace the current pathname with @/. My intension is to create a shockwave movie that accesses a quicktime file that is in the same directory as the director movie. When I transfer the shocked movie and the quicktime file to the web server, the director movie can't find the quicktime file (it is looking for the movie in the original path). thanks in advance for your help, Harry [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]
Re: timeOut
On Monday, February 23, 2004, at 06:18 pm, Peter Bochan wrote: Hello Christian, thanks a lot for bringing more clarifications. Yes, you are right, calling the timeOut().new() in stepFrame() will soon end up in a timeout porridge. You proposed one more handler: on destroy(me) timeout("timer1").forget() end but I've tried to do without it, and it "somewhat" worked. (I don't know if it's allowed though). When the movie was running, in the message window I did this: put the timeOutList -- [timeOut("timer1")] when I stopped the movie it looked like this: put the timeOutList -- [] that is, as you stated yourself, myObject = VOID did the clean up of the object, but, as I've figured out, of the timeout object as well. Don't know if I'm wrong though. So the ending script (and now simplified a bit) looks like: -- Frame behavior on exitFrame(me) go(the frame) end -- Movie script on startMovie() myObject = script("car").new("bmw", 220) end on stopMovie() myObject = VOID end -- Parent script property name property velocity on new(me, tName, tVelocity) name = tName velocity = tVelocity timeOut().new("timer1", 2000, #showInfo, me) return(me) end on showInfo(me) put ("My name is") && name put ("My velocity is") && velocity end Hi Peter, I think what you're seeing is Director's garbage collection at work. However, you have to be careful relying on this. Since you have created a pointer to myObject in your timeOut object, myObject may never be garbage collected, even though you set it to void. In addition, you don't seem to be declaring myObject as a global variable, so it is effectively a local variable in your startMovie handler, and therefore setting it to void in stopMovie will have no effect. You can do a "put myObject" in the message window to get more info on the innards of the object that you have instantiated. So in your example, the message window returns: -- Without the timout object: -- As you can see, the first has a 3 where the second has a 2, and they both have different addresses in RAM (the last long number). The 3 and the 2 denote the number of references *to the object* and garbage collection is only supposed to be automatic on objects which have no pointers to them held elsewhere. So what is happening is that your timeOut object has a pointer to myObject (which it needs to send the event to that object) but when the object is destroyed, there is still the pointer to it lurking in the timeOut object. myObject should therefore never get garbage collected and will persist as a lonely orphan in RAM until Director quits. OOP is not an exact science - and what I'm suggesting is not absolutely necessary. But I think it is good practice, as I mentioned before, to explicitly destroy that which you have created when you no longer require it. I apply this technique to all objects, and have found that it makes my code cleaner and less prone to strange behaviour. Bests, Chris [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]
Re: VR options in Director
On Monday, February 23, 2004, at 06:05 pm, Ian Johnson wrote: If this is all the options, is there any way to increase the responsiveness of the 3D route? You can test the state of the 3D member and only go to the frame on which it is displayed when it is fully loaded. It should then display immediately. From the 8.5 docs: This statement shows that the cast member named PartyScene has finished loading and preparing for playback, and no errors occurred during the load. put member("PartyScene").state -- 4 Chris [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]
RE: timeOut
On Monday, February 23, 2004, at 03:12 pm, Peter Bochan wrote: > Hi Peter, > > It seems to me that there is some confusion in your code... > > First, you create a new timeOut object every stepFrame. Thankfully, you > have not appended your object to the actorList (which triggers stepFrame > events), otherwise your script could create all sorts of weirdnesses! > > Second, it is good practice to do your own garbage collection. I mean > that if you instantiate an object, it is worthwhile explicitly killing > that object yourself in order to avoid any memory leaks. Have a look at > the "forget" command in relation to timeOut objects. > > You might like to try something like: > > -- Parent script "car" > property name > property velocity > > on new(me, tName, tVelocity) >name = tName >velocity = tVelocity >return me > end > > on destroy(me) >-- kills the timeOut object if it exists >timeout("timer1").forget() > end > > on showInfo(me) >put ("My name is") && name >put ("My velocity is") && velocity > end > > on showInfoInMessageWindow(me) >-- you don't have to pass your object ref - it is already "me" >timeOut().new("timer1", 2000, #showInfo, me) > end > > Run the movie > > -- Message Window > myObject = script("car").new("bmw", 200) > myObject.showInfoInMessageWindow() > > -- and now to dispose of the object > myObject.destroy() > myObject = VOID > > hth, Chris Hello Christian, thanks a lot for bringing more clarifications. Yes, you are right, calling the timeOut().new() in stepFrame() will soon end up in a timeout porridge. You proposed one more handler: on destroy(me) timeout("timer1").forget() end but I've tried to do without it, and it "somewhat" worked. (I don't know if it's allowed though). When the movie was running, in the message window I did this: put the timeOutList -- [timeOut("timer1")] when I stopped the movie it looked like this: put the timeOutList -- [] that is, as you stated yourself, myObject = VOID did the clean up of the object, but, as I've figured out, of the timeout object as well. Don't know if I'm wrong though. So the ending script (and now simplified a bit) looks like: -- Frame behavior on exitFrame(me) go(the frame) end -- Movie script on startMovie() myObject = script("car").new("bmw", 220) end on stopMovie() myObject = VOID end -- Parent script property name property velocity on new(me, tName, tVelocity) name = tName velocity = tVelocity timeOut().new("timer1", 2000, #showInfo, me) return(me) end on showInfo(me) put ("My name is") && name put ("My velocity is") && velocity end TIA peb965 [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]
Re: VR options in Director
One trick I've used to avoid the loading delay is to always keep the 3d member in the frame. I just resize it to 1x1 pixel and stick it in a corner, but you could probably also stick it off stage. That way you only get the loading delay at the start of the program, where it is less noticeable. Kevan - Original Message - From: "Ian Johnson" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Monday, February 23, 2004 10:05 AM Subject: VR options in Director > Hi, > > I'm looking at a DirectorMX/MX2004 project that requires vr panos. > > I've pushed the Quicktime route for superior quality but my client is unwilling, as staff aren't allowed to install progs. > > I've looked at iPix route and the xtra for Director, but the quailty of iPix panos are not great (prob because its a 2 x 180 degree shot system). Zooming in provides inferior results to QTVR. > > The only other route I can think of is using 3D in Director to simulate cubic/spherical vrs. > > I've done a bit of toying with 3D in MX but I've found that when the playback head reaches the w3d sprite on the stage, it takes 5-10 seconds to load. > > Also toyed with antialiasingEnabled off while pano moving and on when stationary, but switching it off and on makes the system unresponsive for the same amount of time (5-10 sec) (P4 1.8gHz, GeForce 4) > > My question is: are these the only options we have or are there other xtras that do a similar job? > > If this is all the options, is there any way to increase the responsiveness of the 3D route? > > > > Best regards, > > Ian > > > [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!] [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]
VR options in Director
Hi, I'm looking at a DirectorMX/MX2004 project that requires vr panos. I've pushed the Quicktime route for superior quality but my client is unwilling, as staff aren't allowed to install progs. I've looked at iPix route and the xtra for Director, but the quailty of iPix panos are not great (prob because its a 2 x 180 degree shot system). Zooming in provides inferior results to QTVR. The only other route I can think of is using 3D in Director to simulate cubic/spherical vrs. I've done a bit of toying with 3D in MX but I've found that when the playback head reaches the w3d sprite on the stage, it takes 5-10 seconds to load. Also toyed with antialiasingEnabled off while pano moving and on when stationary, but switching it off and on makes the system unresponsive for the same amount of time (5-10 sec) (P4 1.8gHz, GeForce 4) My question is: are these the only options we have or are there other xtras that do a similar job? If this is all the options, is there any way to increase the responsiveness of the 3D route? Best regards, Ian [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]
Re: Resource Hacker
> Some days ago Rob Wingate posted on the very same > error msg: > (RE: Movie playlist, 19.02.04) Yes, I posted in response to Kerry's post on the subject, and since that time, I remembered that the error also appears after running MicroAngelo on your projector.exe file. MicroAngelo is also a resource hacker. FYI. Rob [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]
Re: timeOut
On Monday, February 23, 2004, at 03:12 pm, Peter Bochan wrote: on showInfoInMessageWindow(me, tObject) timeOut().new("timer1", 2000, #showInfo, tObject) end Run the movie -- Message Window myObject = script("car").new("bmw", 200) myObject. showInfoInMessageWindow(myObject) this results in 2 second delay flushing in Message Window. Hi Peter, It seems to me that there is some confusion in your code... First, you create a new timeOut object every stepFrame. Thankfully, you have not appended your object to the actorList (which triggers stepFrame events), otherwise your script could create all sorts of weirdnesses! Second, it is good practice to do your own garbage collection. I mean that if you instantiate an object, it is worthwhile explicitly killing that object yourself in order to avoid any memory leaks. Have a look at the "forget" command in relation to timeOut objects. You might like to try something like: -- Parent script "car" property name property velocity on new(me, tName, tVelocity) name = tName velocity = tVelocity return me end on destroy(me) -- kills the timeOut object if it exists timeout("timer1").forget() end on showInfo(me) put ("My name is") && name put ("My velocity is") && velocity end on showInfoInMessageWindow(me) -- you don't have to pass your object ref - it is already "me" timeOut().new("timer1", 2000, #showInfo, me) end Run the movie -- Message Window myObject = script("car").new("bmw", 200) myObject.showInfoInMessageWindow() -- and now to dispose of the object myObject.destroy() myObject = VOID hth, Chris [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]
RE: timeOut
From: James Newton > Sent: Monday, February 23, 2004 4:19 PM > To: [EMAIL PROTECTED] > Subject: Re: timeOut > > On 23/2/04 1:26 pm, "Peter Bochan" <[EMAIL PROTECTED]> wrote: > > Now, what I want to do is create a timeOut object. After instantiating > myObj > > I do this: > > myTimer = timeOut("timer1").new(2000, #showInfo, myObj) > > But instead I get a script error "Object expected". > > Hi Peter, > > Are you working with DMX 2004? If so, you should test with the new syntax > for timeOut objects: > > myTimer = timeOut().new("timer1", 2000, #showInfo, myObj) > > In previous versions of Director, object-related functions such as > member(), > script(), timeOut(), window() and xtra() all looked the same, but did not > actually behave in the same way. TimeOut() and window() created a new > object, whereas member(), script() and xtra() all required the target > object > to be present. > > This has been standardised in DMX 2004, with the result that the timeOut() > syntax, in particular, has changed. > > The old syntax is still supported, so pre-DMX-2004 projects will still > continue to work. If you want to be able to use the old syntax in new > projects, try this: > > the scriptexecutionstyle = 9 > myTimer = timeOut("timer1").new(2000, #showInfo, myObj) > > Cheers, > > James Thanks James, that helped a lot. Now, after I have read your message, I wanted to try the new syntax out, so this is what I did: -- Frame behavior on exitFrame(me) go(the frame) end -- Parent script "car" property name property velocity on new(me, tName, tVelocity) name = tName velocity = tVelocity return(me) end on showInfo(me) put ("My name is") && name put ("My velocity is") && velocity end on stepFrame(me) showInfoInMessageWindow() end on showInfoInMessageWindow(me, tObject) timeOut().new("timer1", 2000, #showInfo, tObject) end Run the movie -- Message Window myObject = script("car").new("bmw", 200) myObject. showInfoInMessageWindow(myObject) this results in 2 second delay flushing in Message Window. Thanks again James. peb965 [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]
Re: timeOut
On 23/2/04 1:26 pm, "Peter Bochan" <[EMAIL PROTECTED]> wrote: > Now, what I want to do is create a timeOut object. After instantiating myObj > I do this: > myTimer = timeOut("timer1").new(2000, #showInfo, myObj) > But instead I get a script error "Object expected". Hi Peter, Are you working with DMX 2004? If so, you should test with the new syntax for timeOut objects: myTimer = timeOut().new("timer1", 2000, #showInfo, myObj) In previous versions of Director, object-related functions such as member(), script(), timeOut(), window() and xtra() all looked the same, but did not actually behave in the same way. TimeOut() and window() created a new object, whereas member(), script() and xtra() all required the target object to be present. This has been standardised in DMX 2004, with the result that the timeOut() syntax, in particular, has changed. The old syntax is still supported, so pre-DMX-2004 projects will still continue to work. If you want to be able to use the old syntax in new projects, try this: the scriptexecutionstyle = 9 myTimer = timeOut("timer1").new(2000, #showInfo, myObj) Cheers, James [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]
timeOut
Hello, I've got this parent script: property name property velocity on new(me, tName, tVelocity) name = tName velocity = tVelocity return(me) end on showInfo(me) put ("My name is") && name put ("My velocity is") && velocity end In the Message Window I create a new object: myObj = script("car").new("Suzuki", 300) then I type this: myObj.showInfo() and the information is displayed in the Message Window. Now, what I want to do is create a timeOut object. After instantiating myObj I do this: myTimer = timeOut("timer1").new(2000, #showInfo, myObj) But instead I get a script error "Object expected". I definitely don't understand something. And please tell me, how do I apply a timeout object to a substantiated object. TIA peb965 [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]