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!]

Reply via email to