This sounds like pretty basic stuff, I don't know that you need any
CD Xtra....I recall doing several projects in the 90's that involved:
Install .exe onto HD, give it some method of figureing out where the
"cd" data is.
Label all the CDs/DVDs with different marker files so it can tell
which is which.
Build the project in a way that it knows that Parts A,B,C are on
disc1, D,E on disc2, and F is on disc3.
One way to do this is store the drive letter/label the install is
installing from (if you want to assume the E: drive is the CD drive
and the only one you'll need to check.
Another is to query all drives available, see if "MarkerFile1.txt"
exists at the root. if so, that'd be disc1. etc.
Then when you're trying to navigate from B to F, you can check to see
if MarkerFile3.txt exists on any of the drives, and if not, tell the
user to pop that puppy in, give them a cancel or ready button, check
again once they click ready.
Did this with DVDROMs in 2001, only used FileXtra3 or BuddyAPI Xtra, I believe.
If you leave the check more open to everything available, you'll make
it easier for the person with 2 or 3 CD drives to put in 2 discs, the
convention presenter to have 2 DVD drives to seamlessly swap DVD's
for those 10 video discs while the other disc is playing, etc.
roymeo
At 04:41 AM 10/30/2005, Frank Coleman wrote:
Anyone here have any experience using the CD Xtra on a multiple CD project?
We need to be able to do two things, and have had no luck under OSX
(Windows is fine (for once!)).
- We need to be able to start the program with no cd inserted, and
have the program wake up to the fact that there is one when we ask it to.
- We need to be able to change CDs at will without having the program crash.
The test program that comes with the xtra does neither of these
things under OSX on any of the machines we've tested. It either
won't eject the CD once it's been played, or it won't recognize that
a new CD has been inserted, i.e., can't get any valid data off the
CD, such as duration or number of tracks.
If we kill the instance and re-instantiate it AFTER the CD is
inserted and mounted, then and only then will it read the CD
correctly. That leaves us with two options: either put the
kill/re-instantiate function on a button for the user to click, or
continually do it for them on a timeout. I tried setting it to up
to 30 seconds. There's only one problem with either approach -- it
sometimes works in Director but crashes in the projector. If they
push the button too soon, it definitely crashes. Aarggghh.
I tried instantiating the object inside a behavior, then passing a
reference to that object to a global variable and executing calls to
the CD via the global (trying to issue CD commands directly from the
behavior either wouldn't work at all or would crash). This scheme
sorta almost worked. I could make different instances and swap them
in and out of the global reference at will, and if I ejected the CD
and put in a new one, eventually I could get it to wake up and get
the new info -- but again, once I played the CD, there was no way to
get it to eject, no matter how nicely I asked the global and/or the
behavior. I mean -- how many other ways are there to say "STOP" and "EJECT"?
I've posted a test dir with varying amounts of pidgin code if anyone
wants to take a look out of the goodness of their heart. Deadline is Monday:
http://www.21ca.com/dircrash/cdXtraObjTest.sit
hhttp://www.21ca.com/dircrash/cdXtraObjTest.zip (even tho it's only
happening on Macs)
Any help appreciated.
best,
FBC
[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 lingo-l@penworks.com (Problems, email
[EMAIL PROTECTED]). Lingo-L is for learning and helping with
programming Lingo. Thanks!]
-----------
Roy Crisman
Macromedia Director Programmer, Lingo Guru, Multimedia Producer
150 Laidley St #1
San Francisco, CA 94131-2754
(415)568-2939 work
(415)695-1972 home
(585)615-2873 cell
http://www.brokenoffcarantenna.com/
roymeo(AT)brokenoffcarantenna.com
[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
lingo-l@penworks.com (Problems, email [EMAIL PROTECTED]). Lingo-L is for
learning and helping with programming Lingo. Thanks!]