Re: VR options in Director

2004-02-23 Thread Ian Johnson
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

2004-02-23 Thread Mathew Ray
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

2004-02-23 Thread Mark A. Boyd
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

2004-02-23 Thread [EMAIL PROTECTED]
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

2004-02-23 Thread Harry Goldberg
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

2004-02-23 Thread Christian Wach
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

2004-02-23 Thread Christian Wach
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

2004-02-23 Thread Peter Bochan
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

2004-02-23 Thread Kevan Dettelbach
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

2004-02-23 Thread Ian Johnson
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

2004-02-23 Thread Rob Wingate
> 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

2004-02-23 Thread Christian Wach
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

2004-02-23 Thread Peter Bochan
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

2004-02-23 Thread James Newton
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

2004-02-23 Thread Peter Bochan
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!]